PHPWord
Libreria PHP open source per documenti Microsoft® Word
Leggi, scrivi, elabora e converti file MS Word DOC, DOCX, ODT, RTF e HTML in formato PDF tramite l'API PHP.
Cos'è PHPWord?
PHPWord è una libreria open source composta da classi per assisterti nello sviluppo di applicazioni PHP in grado di interagire con vari formati di file di documenti. PHPWord è concesso in licenza con LGPL versione 3 e consente di lavorare con impostazioni, stili, modelli e vari altri elementi dei documenti.
Iniziare con PHPWord
Per creare un documento Word utilizzando PHPWord sono necessarie le seguenti risorse installate nel sistema operativo:
- PHP versione 5.3.3+
- Compositore
- Estensione parser XML (questa estensione è abilitata per impostazione predefinita)
- Zend Escaper Component Install it using compositore richiedono zendframework/zend-escaper
- Componente Zend Escaper Installalo usando composer require zendframework/zend-escaper
Crea un documento Word usando PHPWord
PHPWord consente agli sviluppatori di creare nuovi documenti Word (DOCX) da zero. Ti consente di aggiungere nuovi paragrafi, titoli, testo, immagini, collegamenti ipertestuali, grafici e altro ancora. Creare un documento word è semplice, devi creare un nuovo documento usando il metodo PhpWord().
Crea Word in PHP
- Crea un documento Word usando PhpWord
- Aggiungi sezione nel documento
- Aggiungi testo nella sezione
- Salva documento
Crea un documento Word - PHP
<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Add an empty Section to the document
$section = $phpWord->addSection();
// Add Text element to the Section
$section->addText(
'File Format Developer Guide - '
. 'Learn about computer files that you come across in '
. 'your daily work at: www.fileformat.com'
);
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('HelloWorld.docx');
Configura facilmente le impostazioni del documento
È possibile eseguire varie impostazioni dei documenti. L'ingrandimento predefinito per il documento è 100% ma puoi cambiarlo con un altro valore. Per documenti fronte-retro, ad es. riviste, è possibile impostare le pagine affiancate rispecchiando i margini della pagina. Puoi modificare lo stato dell'opzione di controllo automatico degli errori grammaticali o ortografici.
È inoltre disponibile la funzione per tenere traccia delle revisioni dei documenti. PHPWord può essere configurato per funzionare con lingue latine, lingue dell'Asia orientale e lingue complesse (bidirezionali). Puoi proteggere un documento o una sua parte con una password.
Esistono molte altre funzionalità che PHPWord consente di configurare per i documenti, alcune includono informazioni sul documento, unità di misura, sillabazione e ricalcolo automatico dei campi del documento ogni volta che il documento viene aperto.
Imposta proprietà DOCX - PHP
<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Set document properties
$properties = $phpWord->getDocInfo();
$properties->setCreator('Ali Ahmed');
$properties->setCompany('File Format');
$properties->setTitle('PHPWord');
$properties->setDescription('File Format Developer Guide');
$properties->setCategory('My category');
$properties->setLastModifiedBy('My name');
$properties->setCreated(mktime(0, 0, 0, 3, 12, 2019));
$properties->setModified(mktime(0, 0, 0, 3, 14, 2019));
$properties->setSubject('PHPWord');
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('DocumentProperties.docx');
Contenitori per organizzare gli elementi del documento
PHPWord ha oggetti chiamati contenitori, che contengono vari elementi (tabelle, testo, ecc.) di un documento. Ci sono 3 contenitori primari; sezioni, intestazioni e piè di pagina. Inoltre, ci sono 3 elementi che possono fungere da contenitori; trame, celle di tabella e note a piè di pagina.
Tutti gli elementi visibili di un documento devono essere inseriti all'interno di una sezione. Puoi assegnare numeri di pagina, numeri di riga, modificare il layout in più colonne e creare intestazioni/piè di pagina.
Aggiungi contenitore di intestazione
<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Add an empty Section to the document
$section = $phpWord->addSection();
// Add Header
$header = $section->addHeader();
$header->addImage('word-processing-image.png');
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('Container.docx');
Proteggi il documento di Word tramite l'API PHPWord
È sempre opportuno proteggere o proteggere i tuoi documenti importanti che contengono informazioni sensibili. La libreria PHPWord open source consente agli sviluppatori di software di proteggere i propri documenti Word fornendo una password univoca all'interno delle proprie applicazioni PHP. La protezione fungerà da salvaguardia, impedendo accessi non autorizzati o modifiche al documento Word.