Конвертировать HTML и CSS в DOC (X)? - PullRequest
6 голосов
/ 04 января 2012

Есть ли какая-нибудь утилита, которую можно вызвать через командную строку для создания файла doc (x)?Исходный файл будет HTML и CSS.

Я пытаюсь генерировать документы Word на лету с помощью PHP.Мне известна только библиотека phpdocx, которая очень низкого уровня и не очень полезна для меня (у меня уже есть одна плохая реализация генерации документов Word).

Что мне нужно из документа:

  • TOC
  • Изображения
  • Нижние колонтитулы / Верхние колонтитулы (их можно было сделать вручную на каждой странице HTML)
  • Таблица
  • Списки
  • Разрыв страницы (возможность решить, к какой странице перейти, например, по одному HTML-файлу на страницу, объединить несколько HTML-файлов для создания всего документа.)
  • Абзацы
  • Основные полужирные / etc стили

Ответы [ 2 ]

7 голосов
/ 04 января 2012

Я тоже не нашел PHPDOCX очень полезным. Альтернативой может быть PHPWord, я думаю, он охватывает то, что вам нужно. По данным сайта он может делать следующие вещи:

  • Вставка и форматирование разделов документа
  • Вставка и форматирование текстовых элементов
  • Вставить разрывы текста
  • Вставить разрывы страниц
  • Вставка и форматирование изображений и двоичных OLE-объектов
  • Вставить и отформатировать водяные знаки (новые)
  • Вставить верхний / нижний колонтитул
  • Вставить и отформатировать таблицы
  • Вставить собственные заголовки и оглавление
  • Вставка и форматирование элементов списка
  • Вставить и отформатировать гиперссылки
  • Очень простая система шаблонов (новая)

В вашем случае этого недостаточно, но есть плагин для преобразования (базового) HTML в Docx, и он, на мой взгляд, работает очень хорошо. http://htmltodocx.codeplex.com/

Я пользуюсь этим уже год или два и доволен этим. Хотя я должен добавить, что HTML не может быть сложным.

1 голос
/ 04 января 2012

Обычно я делаю это, имея файл шаблона текстового документа с частями, которые я хочу заменить, используя ключевые слова (обычно что-то вроде "{FIRSTNAME}"). Это позволяет вам прочитать файл через PHP, затем просто выполнить str_replace для всех частей, которые вы хотите заменить, а затем записать это в другой файл.

Динамические таблицы, использующие этот метод, немного сложнее, так как вам нужен вспомогательный шаблон для строки, который можно затем включить в основной шаблон столько раз, сколько потребуется.

Я не уверен, что это лучшее решение, оно всегда казалось мне очень сложным, и каждый раз, когда меня просят сделать это, я расстраиваюсь, но я думаю, это работает. Так что, если кто-нибудь знает лучшее решение, я бы тоже хотел его услышать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...