Создание текстовых документов с помощью PHP

Знаете ли вы, как сгенерировать файлы doc и docx с помощью PHP и без компонента COM? Я пробовал PHPWord, который создает файлы docx, но их нельзя открыть в OpenOffice, потому что они вызывают сбой. Я также пробовал PHPDocx, но он вообще не генерировал никаких файлов.


person EL_W    schedule 11.11.2010    source источник


Ответы (4)


Создание текстовых документов с помощью JS:

Я создал простую библиотеку с открытым исходным кодом, в которой теги заменяются значениями.

Например, Hi {name} на data={name:"John"} будет заменен на Hi John.

Вот он: https://github.com/edi9999/docxtemplater

Демо: https://docxtemplater.com/demo

person edi9999    schedule 22.09.2014
comment
хороший, приятель :) - person 911madza; 11.06.2020

Глянь сюда:

http://www.webcheatsheet.com/php/create_word_excel_csv_files_with_php.php

Процитируем из статьи наиболее распространенный метод:

Использование заголовков HTTP

В этом методе вам необходимо отформатировать страницу HTML / PHP с помощью удобного для Word CSS и добавить информацию заголовка в ваш PHP-скрипт. Убедитесь, что вы не используете внешние таблицы стилей, поскольку все должно быть в одном файле.

В результате пользователю будет предложено загрузить файл. Этот файл не будет стопроцентно «оригинальным» документом 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>";
?>
person SW4    schedule 11.11.2010
comment
Это фигня. Не копируйте и не вставляйте это дальше. Отправка поддельных заголовков HTTP вместе с некоторым выходным HTML не делает его документом Word. Он мог обманом заставить браузеры передать его в Word, который неявно преобразовал его. Более новые версии, по крайней мере, вызовут предупреждение. И любой межсетевой экран бизнес-класса, вероятно, заблокирует такие грубые обходные пути. - person mario; 07.06.2015
comment
@mario - обратите внимание, что этому около четырех лет, и это также часть ответа на дублирующую ссылку, которую вы отметили. Я согласен с некоторыми из ваших синопсисов, однако заметьте, что garbage, скорее всего, преувеличение. - person SW4; 08.06.2015
comment
Извините за сильную формулировку, кстати. Но именно этот образец кода вводил вводящие в заблуждение вопросы новичков. Просто закрыл тему, а вместо этого разъяснил ее в основном дубликате. - person mario; 08.06.2015
comment
Большое спасибо за то, что облегчили мне жизнь. - person Kartik Arora; 27.06.2018

OpenTBS может создавать документы Docx на чистом PHP, используя технику шаблонов.

Простой.

person Skrol29    schedule 26.03.2012

Как я уже упоминал здесь, PHP Convert Word файл в HTML без потери стиля и изображений,

Лучшее решение, которое я нашел до сих пор, - http://www.phplivedocx.org/. Вы используете его с фреймворком Zend. Очень легко настроить, и вы получите минимальное отклонение от фактического формата слова. Он очень хорошо генерирует и конвертирует текстовые документы из / в html (среди других форматов).

person Yavor    schedule 07.01.2015