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().
Создать ворд на PHP
- Создать текстовый документ с помощью 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.