Мастер филиала:
PHPWord — это библиотека, написанная на чистом PHP, которая предоставляет набор классов для записи и чтения файлов документов различных форматов. Текущая версия PHPWord поддерживает Microsoft Office Open XML (OOXML или OpenXML), формат открытых документов OASIS для приложений Office (OpenDocument или ODF), форматированный текстовый формат (RTF), HTML и PDF.
PHPWord — это проект с открытым исходным кодом, лицензированный на условиях LGPL версии 3. PHPWord призван стать высококачественным программным продуктом, включающим непрерывную интеграцию и модульное тестирование. Вы можете узнать больше о PHPWord, прочитав документацию разработчика.
Если у вас есть вопросы, задавайте их на StackOverFlow.
Узнайте больше о PHPWord:
С помощью PHPWord вы можете динамически создавать документы OOXML, ODF или RTF, используя сценарии PHP. Ниже приведены некоторые вещи, которые вы можете делать с библиотекой PHPWord:
PHPWord требует следующего:
PHPWord устанавливается через Composer. Чтобы добавить зависимость от PHPWord в свой проект, либо
Запустите следующее, чтобы использовать последнюю стабильную версию
composer require phpoffice/phpword
или если вам нужна последняя неизданная версия
composer require phpoffice/phpword:dev-master
Ниже приведен базовый пример использования библиотеки PHPWord.
require_once ' bootstrap.php ' ;
// Creating the new document...
$ phpWord = new PhpOffice PhpWord PhpWord ();
/* Note: any element you append to a document must reside inside of a Section. */
// Adding an empty Section to the document...
$ section = $ phpWord -> addSection ();
// Adding Text element to the Section having font styled by default...
$ section -> addText (
' "Learn from yesterday, live for today, hope for tomorrow. '
. ' The important thing is not to stop questioning." '
. ' (Albert Einstein) '
);
/*
* Note: it's possible to customize font style of the Text element you add in three ways:
* - inline;
* - using named font style (new font style object will be implicitly created);
* - using explicitly created font style object.
*/
// Adding Text element with font customized inline...
$ section -> addText (
' "Great achievement is usually born of great sacrifice, '
. ' and is never the result of selfishness." '
. ' (Napoleon Hill) ' ,
array ( ' name ' => ' Tahoma ' , ' size ' => 10 )
);
// Adding Text element with font customized using named font style...
$ fontStyleName = ' oneUserDefinedStyle ' ;
$ phpWord -> addFontStyle (
$ fontStyleName ,
array ( ' name ' => ' Tahoma ' , ' size ' => 10 , ' color ' => ' 1B2232 ' , ' bold ' => true )
);
$ section -> addText (
' "The greatest accomplishment is not in never falling, '
. ' but in rising again after you fall." '
. ' (Vince Lombardi) ' ,
$ fontStyleName
);
// Adding Text element with font customized using explicitly created font style object...
$ fontStyle = new PhpOffice PhpWord Style Font ();
$ fontStyle -> setBold ( true );
$ fontStyle -> setName ( ' Tahoma ' );
$ fontStyle -> setSize ( 13 );
$ myTextElement = $ section -> addText ( ' "Believe you can and you ' re halfway there." (Theodor Roosevelt) ' );
$ myTextElement -> setFontStyle ( $ fontStyle );
// Saving the document as OOXML file...
$ objWriter = PhpOffice PhpWord IOFactory :: createWriter ( $ phpWord , ' Word2007 ' );
$ objWriter -> save ( ' helloWorld.docx ' );
// Saving the document as ODF file...
$ objWriter = PhpOffice PhpWord IOFactory :: createWriter ( $ phpWord , ' ODText ' );
$ objWriter -> save ( ' helloWorld.odt ' );
// Saving the document as HTML file...
$ objWriter = PhpOffice PhpWord IOFactory :: createWriter ( $ phpWord , ' HTML ' );
$ objWriter -> save ( ' helloWorld.html ' );
/* Note: we skip RTF, because it's not XML-based and requires a different example. */
/* Note: we skip PDF, because "HTML-to-PDF" approach is used to create PDF documents. */
Дополнительные примеры представлены в папке с образцами. Для быстрого доступа к этим примерам запустите php -S localhost:8000
в каталоге примеров, затем перейдите по адресу http://localhost:8000, чтобы просмотреть образцы. Вы также можете прочитать документацию разработчика для более подробной информации.
Мы приглашаем всех внести свой вклад в PHPWord. Ниже приведены некоторые вещи, которые вы можете сделать, чтобы внести свой вклад.