PHPWord
Open Source knihovna PHP pro dokumenty Microsoft® Word
Číst, zapisovat, zpracovávat a převádět soubory MS Word DOC, DOCX, ODT, RTF a HTML do formátu PDF pomocí PHP API.
Co je PHPWord?
PHPWord je open-source knihovna, která se skládá z tříd, které vám pomohou při vývoji aplikací PHP, které mohou pracovat s různými formáty souborů dokumentů. PHPWord je licencován pod LGPL verze 3 a umožňuje vám pracovat s nastavením dokumentu, styly, šablonami a různými dalšími prvky.
Začínáme s PHPWordem
Chcete-li vytvořit dokument aplikace Word pomocí PHPWord, musíte mít ve svém operačním systému nainstalované následující prostředky:
- PHP verze 5.3.3+
- Skladatel
- Rozšíření XML Parser (Toto rozšíření je ve výchozím nastavení povoleno)
- Zend Escaper Component Install it using skladatel vyžaduje zendframework/zend-escaper
- Komponenta Zend Escaper Nainstalujte ji pomocí skladatele vyžaduje zendframework/zend-escaper
Vytvořte dokument Word pomocí PHPWord
PHPWord umožňuje vývojářům vytvářet nový dokument Word (DOCX) od začátku. Umožňuje vám přidávat nové odstavce, nadpisy, text, obrázky, hypertextové odkazy, grafy a další. Vytvoření dokumentu aplikace Word je jednoduché, musíte vytvořit nový dokument pomocí metody PhpWord().
Vytvořte Word v PHP
- Vytvořte textový dokument pomocí PhpWord
- Přidat sekci do dokumentu
- Přidejte text do sekce
- Uložit dokument
Vytvořte dokument aplikace 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');
Snadná konfigurace nastavení dokumentu
Můžete provádět různá nastavení dokumentů. Výchozí zvětšení dokumentu je 100 %, ale můžete jej změnit na jinou hodnotu. Pro oboustranné dokumenty, např. časopisů, můžete nastavit protilehlé stránky zrcadlením okrajů stránek. Můžete vyladit možnost automatické kontroly stavu gramatických nebo pravopisných chyb.
K dispozici je také funkce pro sledování revizí dokumentu. PHPWord může být nakonfigurován pro práci s latinskými jazyky, východoasijskými jazyky a také komplexními (obousměrnými) jazyky. Dokument nebo jeho část můžete chránit heslem.
Existuje mnoho dalších funkcí, které vám PHPWord umožňuje konfigurovat pro dokumenty, některé z nich zahrnují informace o dokumentu, měrné jednotky, dělení slov a automatický přepočet polí dokumentu při každém otevření dokumentu.
Nastavte vlastnosti 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');
Kontejnery pro uspořádání prvků dokumentu
PHPWord má objekty zvané kontejnery, které obsahují různé prvky (tabulky, text atd.) dokumentu. K dispozici jsou 3 primární kontejnery; sekce, záhlaví a zápatí. Také existují 3 prvky, které mohou fungovat jako kontejnery; textury, buňky tabulky a poznámky pod čarou.
Všechny viditelné prvky dokumentu musí být umístěny uvnitř oddílu. Můžete přiřadit čísla stránek, čísla řádků, změnit rozložení na vícesloupcové a vytvořit záhlaví/zápatí.
Přidat kontejner záhlaví
<?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');
Chraňte dokument Word pomocí PHPWord API
Vždy je rozumné chránit nebo zabezpečit důležité dokumenty, které obsahují citlivé informace. Knihovna PHPWord s otevřeným zdrojovým kódem umožňuje vývojářům softwaru chránit své dokumenty aplikace Word poskytnutím jedinečného hesla v aplikacích PHP. Ochrana bude fungovat jako ochrana, která zabrání neoprávněnému přístupu nebo změnám dokumentu aplikace Word.