Создание текстовых документов с помощью PHP
Знаете ли вы способ генерации файлов doc
и docx
с помощью PHP и без COM-компонента? Я пробовал PHPWord
, который создает файлы docx, но их нельзя открыть в OpenOffice
, потому что они вызывают его сбой. Я также пробовал PHPDocx
, но он вообще не генерировал никаких файлов.
Ответы
Ответ 1
Смотрите здесь:
http://www.webcheatsheet.com/php/create_word_excel_csv_files_with_php.php
Чтобы процитировать из статьи наиболее распространенный метод:
Использование заголовков HTTP
В этом методе вам нужно отформатировать HTML/PHP-страницу, используя Word-friendly CSS и добавить информацию заголовка на ваш PHP script. Делать убедитесь, что вы не используете внешние таблицы стилей, поскольку все должно быть в тот же файл.
В результате пользователю будет предложено загрузить файл. Этот файл будет не быть 100% "оригинальным" документом Word, но он, безусловно, откроется в MS Word. Вы можете использовать этот метод как для Unix, так и для Windows сред.
<?php
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=document_name.doc");
echo "<html>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
echo "<body>";
echo "<b>My first document</b>";
echo "</body>";
echo "</html>";
?>
Ответ 2
OpenTBS может генерировать документы Docx в чистом PHP, используя технику шаблонов.
Simple.
Ответ 3
Создание текстовых документов с помощью JS:
Я создал простую библиотеку с открытым исходным кодом, которая заменит теги на значения.
Например Hi {name}
с data={name:"John"}
будет заменен на Hi John
.
Вот он: https://github.com/edi9999/docxtemplater
Демо: http://javascript-ninja.fr/docxgenjs/examples/demo.html
Ответ 4
Как я уже говорил здесь PHP Преобразует Word файл в HTML без потери стиля и изображений,
Лучшее решение, которое я нашел до сих пор, http://www.phplivedocx.org/. Вы используете его с картой Zend. Очень легко настроить и получить минимальное отклонение от фактического формата слова. Он очень хорошо генерирует и конвертирует слова docs из/в html (среди других форматов).