Visualizza il documento Word nella pagina HTML utilizzando PHP.

Possiamo facilmente eseguire il rendering di file DOC o DOCX in pagine Web HTML in modo programmatico sul cloud. Può essere utile per visualizzare i documenti di Word in qualsiasi browser senza condividere i file originali. In questo articolo impareremo come visualizzare un documento Word in una pagina HTML utilizzando un’API REST in PHP.

In questo articolo saranno trattati i seguenti argomenti:

API REST del visualizzatore da Word a HTML e PHP SDK

Per il rendering dei documenti Word in HTML, utilizzeremo l’API PHP SDK of GroupDocs.Viewer Cloud. Consente il rendering e la visualizzazione di formati di documenti e file immagine supportati in modo programmatico. Si prega di installarlo utilizzando il seguente comando nella console:

composer require groupdocscloud/groupdocs-viewer-cloud

Dopo l’installazione, utilizzare autoload di Composers per utilizzare l’SDK come mostrato di seguito:

require_once('vendor/autoload.php');

Si prega di ottenere l’ID cliente e il segreto dalla dashboard prima di seguire i passaggi menzionati. Una volta che hai il tuo ID e segreto, aggiungi il codice come mostrato di seguito:

// Questo esempio di codice mostra come aggiungere l'ID client e il segreto nel codice.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// Inizializzazione della configurazione
$configuration = new GroupDocs\Viewer\Configuration();

// Impostazione delle configurazioni
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Visualizza il documento di Word nella pagina HTML utilizzando l’API REST in PHP

Possiamo visualizzare il contenuto di un documento Word in HTML seguendo i semplici passaggi indicati di seguito:

  1. Carica il file DOCX nel cloud
  2. Visualizza documento Word nella pagina HTML
  3. Scarica il file renderizzato

Carica il documento

Innanzitutto, caricheremo il file DOCX nel cloud utilizzando l’esempio di codice fornito di seguito:

// Questo esempio di codice illustra come caricare un file DOCX nel cloud.
// Inizializza l'API
$apiInstance = new GroupDocs\Viewer\FileApi($configuration);

// Percorso del file di input
$file = "C:\\Files\\Viewer\\input.docx";

// Richiesta di caricamento del file
$request = new GroupDocs\Viewer\Model\Requests\uploadFileRequest("input.docx", $file);

// Caricare un file
$response = $apiInstance->uploadFile($request);

Di conseguenza, il file caricato sarà disponibile nella sezione file della dashboard sul cloud.

Visualizza il documento di Word nella pagina HTML utilizzando PHP

Ora, eseguiremo il rendering o visualizzeremo il contenuto di un documento Word caricato su pagine HTML seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza di ViewAPI.
  2. Successivamente, crea un’istanza di ViewOptions.
  3. Quindi, fornire il percorso del file di input.
  4. Inoltre, imposta ViewFormat come “HTML”.
  5. Successivamente, inizializza l’oggetto HtmlOptions.
  6. Quindi, imposta varie proprietà come IsResponsive, ForPrinting, ecc.
  7. Successivamente, crea CreateViewRequest con ViewOptions come argomento.
  8. Infine, esegui il rendering di Word in HTML utilizzando il metodo createView().

L’esempio di codice seguente mostra come visualizzare un file Word in HTML utilizzando un’API REST in PHP.

// Questo esempio di codice mostra come eseguire il rendering di DOCX in HTML.
// Inizializza l'API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);

// Definisci ViewOptions
$viewOptions = new Model\ViewOptions();

// Percorso del file di input
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");	
$viewOptions->setFileInfo($fileInfo);

// Imposta VisualizzaFormato
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Definire le opzioni HTML
$renderOptions = new Model\HtmlOptions();

// Impostalo in modo che sia reattivo
$renderOptions->setIsResponsive(true);

// Impostare per la stampa
$renderOptions->setForPrinting(true);

// Assegna le opzioni di rendering
$viewOptions->setRenderOptions($renderOptions);

// Crea richiesta di visualizzazione
$request = new Requests\CreateViewRequest($viewOptions);

// Crea vista
$response = $apiInstance->createView($request);

// Fatto
echo "HtmlViewerResponsiveLayout completed: ", count($response->getPages());
echo "\n";  
Visualizza il documento di Word nella pagina HTML utilizzando l'API REST in PHP

Visualizza il documento di Word nella pagina HTML utilizzando l’API REST in PHP.

Possiamo personalizzare il rendering di Word in HTML applicando le seguenti opzioni:

  • Renderizza un intervallo specifico di pagine
// Pass specific range of page numbers to render. 
// This will render all pages from starting from page 1 to 3.
$renderOptions->setStartPageNumber(1);
$renderOptions->setCountPagesToRender(3);
  • Visualizza solo le pagine selezionate
// Pass specific page numbers to render. 
// This will render only page number 1 and 3.
$renderOptions->setPagesToRender([1, 3]);
  • Visualizza le pagine in un ordine specifico
// Pass page numbers in the order you want to render them
$renderOptions->setPagesToRender([2, 1]);
  • Renderizza il documento con i commenti
$renderOptions->setRenderComments(true);

Scarica pagine HTML

L’esempio di codice precedente salverà le pagine HTML visualizzate nel cloud. Può essere scaricato utilizzando il seguente esempio di codice:

// Questo esempio di codice illustra come scaricare le pagine HTML sottoposte a rendering dal cloud.
$fileApi = new GroupDocs\Viewer\FileApi($configuration);

// Ottieni tutte le pagine
$pages = $response->getPages();

// Salva le pagine una per una
foreach ($pages as $page)
{
    // Crea richiesta di download del file
    $downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");

    // Download file
    $file = $fileApi->DownloadFile($downloadFileRequest);
    echo "$page downloaded!";
    echo "\n"; 
}

Incorpora il documento di Word nella pagina HTML esistente

Possiamo anche incorporare un documento Word in una pagina HTML esistente seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea istanze di ViewAPI e FileAPI.
  2. Successivamente, crea un’istanza di ViewOptions.
  3. Quindi, fornire il percorso del file di input.
  4. Inoltre, imposta ViewFormat come “HTML”.
  5. Successivamente, inizializza l’oggetto HtmlOptions.
  6. Quindi, imposta varie proprietà come IsResponsive, ForPrinting, ecc.
  7. Successivamente, crea CreateViewRequest con ViewOptions come argomento.
  8. Quindi, esegui il rendering di Word in HTML utilizzando il metodo createView().
  9. Successivamente, carica un file HTML esistente e ottieni gli elementi del tag body
  10. Quindi, leggi l’HTML di ogni pagina e aggiungilo al body tag
  11. Successivamente, salvare l’HTML aggiornato utilizzando il metodo saveHTML().
  12. Infine, salva il file HTML utilizzando il metodo file\put\contents().

L’esempio di codice seguente mostra come incorporare un documento di Word in una pagina HTML esistente utilizzando un’API REST in PHP.

// Questo esempio di codice mostra come eseguire il rendering di DOCX in HTML.
// Inizializza l'API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
$fileApi = new GroupDocs\Viewer\FileApi($configuration);

// Definisci ViewOptions
$viewOptions = new Model\ViewOptions();

// Percorso del file di input
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");	
$viewOptions->setFileInfo($fileInfo);

// Imposta VisualizzaFormato
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Definire le opzioni HTML
$renderOptions = new Model\HtmlOptions();

// Impostalo in modo che sia reattivo
$renderOptions->setIsResponsive(true);

// Impostare per la stampa
$renderOptions->setForPrinting(true);

// Assegna le opzioni di rendering
$viewOptions->setRenderOptions($renderOptions);

// Crea richiesta di visualizzazione
$request = new Requests\CreateViewRequest($viewOptions);

// Crea vista
$response = $apiInstance->createView($request);

// Carica un file HTML esistente
$domDoc = new DOMDocument();
$domDoc->loadHTMLFile("C:\Files\Viewer\Sample.html");
$body = $domDoc->GetElementsByTagName('body')->item(0);

// Ottieni pagine
$pages = $response->getPages();

// Incorpora tutte le pagine HTML visualizzate nel tag body dell'HTML esistente
foreach ($pages as $page)
{
    // Crea richiesta di download del file
    $downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");

    // Scarica la pagina convertita
    $file = $fileApi->DownloadFile($downloadFileRequest);

    // Leggi HTML dal file di download
    $html = file_get_contents($file->getRealPath());

    //Aggiungi contenuto al frammento
    $fragment = $domDoc->createDocumentFragment();
    $fragment->appendXML("<div>$html</div>");

    // Aggiungi l'elemento al corpo
    $body->appendChild($fragment);
}

// Salva HTML aggiornato
$output = $domDoc->saveHTML();

// Salva il file
file_put_contents("C:\Files\Viewer\Sample.html", $output);
Incorpora un documento Word in una pagina HTML esistente

Incorpora un documento Word in una pagina HTML esistente.

Visualizza il documento Word in HTML con filigrana utilizzando PHP

Possiamo aggiungere un testo filigrana durante il rendering di documenti Word in pagine HTML a livello di codice seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza di ViewAPI.
  2. Successivamente, crea un’istanza di ViewOptions.
  3. Quindi, fornire il percorso del file di input.
  4. Inoltre, imposta ViewFormat come “HTML”.
  5. Successivamente, crea e assegna un’istanza della filigrana.
  6. Quindi, imposta la dimensione e il testo della filigrana.
  7. Successivamente, crea CreateViewRequest con ViewOptions come argomento.
  8. Infine, esegui il rendering di Word in HTML utilizzando il metodo createView().

L’esempio di codice seguente mostra come visualizzare un documento Word in HTML con una filigrana utilizzando un’API REST in PHP.

// Questo esempio di codice illustra come eseguire il rendering di Word in HTML con filigrana.
// Inizializza l'API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);

// Definisci ViewOptions
$viewOptions = new Model\ViewOptions();

// Percorso del file di input
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");				
$viewOptions->setFileInfo($fileInfo);

// Imposta VisualizzaFormato
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Definisci filigrana
$watermark = new Model\Watermark();
$watermark->setText("This is sample text watermark!");
$watermark->setSize(100);
$watermark->setColor("Red");
$viewOptions->setWatermark($watermark);

// Crea richiesta di visualizzazione
$request = new Requests\CreateViewRequest($viewOptions);

// Crea vista
$response = $apiInstance->createView($request);

// Fatto
echo "AddWatermark completed: ", count($response->getPages());
echo "\n";
Visualizza il documento Word in HTML con filigrana utilizzando PHP.

Visualizza il documento Word in HTML con filigrana utilizzando PHP.

Prova in linea

Prova il seguente strumento di rendering DOCX online gratuito, sviluppato utilizzando l’API di cui sopra. https://products.groupdocs.app/viewer/docx

Conclusione

In questo articolo abbiamo imparato a:

  • visualizzare il documento Word in una pagina Web HTML supportata dal browser utilizzando PHP;
  • personalizzare il rendering di Word in HTML;
  • incorporare un documento Word in una pagina Web HTML esistente;
  • visualizzare il contenuto di un file Word in HTML con filigrana;
  • caricare in modo programmatico il file DOCX nel cloud;
  • scaricare i file HTML renderizzati dal cloud.

Inoltre, puoi saperne di più su GroupDocs.Viewer Cloud API utilizzando la documentazione. Forniamo anche una sezione Riferimento API che ti consente di visualizzare e interagire con le nostre API direttamente attraverso il browser. In caso di qualsiasi ambiguità, non esitate a contattarci sul forum.

Guarda anche