Создание текстовых документов с помощью 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.

Ответ 4

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

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