PHPWord
Бібліотека PHP з відкритим кодом для документів Microsoft® Word
Читайте, записуйте, обробляйте та конвертуйте файли MS Word DOC, DOCX, ODT, RTF і HTML у формат PDF за допомогою PHP API.
Що таке PHPWord?
PHPWord — це бібліотека з відкритим вихідним кодом, яка складається з класів, які допомагають вам розробляти програми PHP, які можуть взаємодіяти з різними форматами файлів документів. PHPWord ліцензовано згідно з LGPL версії 3 і дозволяє вам працювати з параметрами документів, стилями, шаблонами та різними іншими елементами.
Початок роботи з PHPWord
Щоб створити документ Word за допомогою PHPWord, у вашій операційній системі потрібно встановити такі ресурси:
- PHP версії 5.3.3+
- Композитор
- Розширення XML Parser (це розширення ввімкнено за замовчуванням)
- Zend Escaper Component Install it using композитор вимагає zendframework/zend-escaper
- Компонент Zend Escaper Встановіть його за допомогою composer require zendframework/zend-escaper
Створіть документ Word за допомогою PHPWord
PHPWord дозволяє розробникам створювати новий документ Word (DOCX) з нуля. Це дозволяє додавати нові абзаци, заголовки, текст, зображення, гіперпосилання, діаграми тощо. Створити документ Word просто, вам потрібно створити новий документ за допомогою методу PhpWord().
Створення Word на PHP
- Створіть документ Word за допомогою PhpWord
- Додати розділ у документ
- Додайте текст у розділ
- Зберегти документ
Створення документа 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');
Налаштуйте параметри документа з легкістю
Ви можете виконувати різні налаштування документів. Стандартне збільшення для документа становить 100%, але ви можете змінити його на інше значення. Для двосторонніх документів, напр. журналів, ви можете налаштувати розвороти, дзеркально відображаючи поля сторінки. Ви можете налаштувати параметр автоматичної перевірки граматичних або орфографічних помилок.
Також доступна функція відстеження переглядів документів. PHPWord можна налаштувати для роботи з латинськими мовами, мовами Східної Азії, а також зі складними (двонаправленими) мовами. Ви можете захистити документ або його частину паролем.
Існує багато інших функцій, які PHPWord дозволяє налаштувати для документів, деякі з них включають інформацію про документ, одиниці вимірювання, переноси та автоматичний перерахунок полів документа щоразу, коли документ відкривається.
Встановити властивості 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');
Контейнери для впорядкування елементів документа
У PHPWord є об’єкти, які називаються контейнерами, які містять різні елементи (таблиці, текст тощо) документа. Є 3 первинні контейнери; розділи, верхні та нижні колонтитули. Крім того, є 3 елементи, які можуть виконувати роль контейнерів; текстури, клітинки таблиці та виноски.
Усі видимі елементи документа потрібно розмістити всередині розділу. Ви можете призначати номери сторінок, номери рядків, змінювати макет на багатоколонковий та створювати верхні та нижні колонтитули.
Додайте контейнер заголовка
<?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');
Захистіть документ Word за допомогою PHPWord API
Завжди розумно захистити чи захистити важливі документи, які містять конфіденційну інформацію. Бібліотека PHPWord з відкритим вихідним кодом дозволяє розробникам програмного забезпечення захищати свої документи Word, надаючи унікальний пароль у своїх програмах PHP. Захист працюватиме як захист, запобігаючи несанкціонованому доступу або зміні документа Word.