PHPWord
Open Source PHP-bibliotheek voor Microsoft® Word-documenten
Lees, schrijf, verwerk en converteer MS Word DOC-, DOCX-, ODT-, RTF- en HTML-bestanden naar PDF-formaat via PHP API.
Wat is PHPWord?
PHPWord is een open-sourcebibliotheek die bestaat uit klassen om u te helpen bij het ontwikkelen van PHP-toepassingen die kunnen communiceren met verschillende documentbestandsindelingen. PHPWord is gelicentieerd onder LGPL versie 3 en stelt u in staat om te werken met documentinstellingen, stijlen, sjablonen en verschillende andere elementen.
Aan de slag met PHPWord
Om een Word-document te maken met behulp van PHPWord, heb je de volgende bronnen nodig die in je besturingssysteem zijn geïnstalleerd:
- PHP-versie 5.3.3+
- Componist
- XML Parser-extensie (deze extensie is standaard ingeschakeld)
- Zend Escaper Component Install it using componist vereist zendframework/zend-escaper
- Zend Escaper Component Installeer het met composer required zendframework/zend-escaper
Word-document maken met PHPWord
Met PHPWord kunnen de ontwikkelaars vanaf het begin een nieuw Word-document (DOCX) maken. Hiermee kunt u nieuwe alinea's, titels, tekst, afbeeldingen, hyperlinks, grafieken en meer toevoegen. Het maken van een Word-document is eenvoudig, u moet een nieuw document maken met de PhpWord()-methode.
Word maken in PHP
- Word-document maken met behulp van PhpWord
- Sectie in document toevoegen
- Tekst toevoegen in sectie
- Document opslaan
Een Word-document maken - 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');
Eenvoudig documentinstellingen configureren
U kunt verschillende instellingen van documenten uitvoeren. De standaardvergroting voor het document is 100%, maar u kunt deze wijzigen in een andere waarde. Voor dubbelzijdige documenten, b.v. tijdschriften kunt u tegenover elkaar liggende pagina's instellen door de paginamarges te spiegelen. U kunt de status van de automatische controleoptie voor grammaticale of spelfouten aanpassen.
Functie om documentrevisies bij te houden is ook beschikbaar. PHPWord kan worden geconfigureerd om te werken met Latijnse talen, Oost-Aziatische talen en complexe (bidirectionele) talen. U kunt een document of een deel ervan beveiligen met een wachtwoord.
Er zijn veel andere functies waarmee u PHPWord voor documenten kunt configureren, waaronder documentinformatie, maateenheden, woordafbreking en automatische herberekening van documentvelden wanneer het document wordt geopend.
DOCX-eigenschappen instellen - 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');
Containers om documentelementen te ordenen
PHPWord heeft objecten die containers worden genoemd en die verschillende elementen (tabellen, tekst, enz.) van een document bevatten. Er zijn 3 primaire containers; secties, kop- en voetteksten. Er zijn ook 3 elementen die als containers kunnen fungeren; texturen, tabelcellen en voetnoten.
Alle zichtbare elementen van een document moeten in een sectie worden geplaatst. U kunt paginanummers en regelnummers toewijzen, de lay-out wijzigen in meerdere kolommen en kop-/voetteksten maken.
Kopcontainer toevoegen
<?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');
Bescherm Word-document via PHPWord API
Het is altijd verstandig om uw belangrijke documenten, die gevoelige informatie bevatten, te beschermen of te beveiligen. De open-source PHPWord-bibliotheek stelt softwareontwikkelaars in staat om hun Word-documenten te beschermen door een uniek wachtwoord in hun PHP-applicaties te verstrekken. De beveiliging werkt als een beveiliging en voorkomt ongeautoriseerde toegang of wijzigingen aan het Word-document.