Можно ли выводить форматы, отличные от .docx и .odt, с помощью плагина TinyButStrong и OpenTBS - PullRequest
2 голосов
/ 20 мая 2011

У меня есть модуль, который объединяет документ из записей базы данных и модель документа .docx или .odt.

Мне нужно вывести .docx, .odt или .pdf.Для вывода в форматы Microsoft и Open проблем нет, все работает правильно.

Но я хочу знать, могу ли я вывести данные в формате (например, XML или HTML), который я могу использовать для последующей сборкидокумент PDF?

Если я не могу, есть ли библиотеки, которые предоставляют возможность слияния документов, например:

          DOCX (or ODT) + database record => PDF

И я не хочу использовать phplivedocx.

Ответы [ 3 ]

2 голосов
/ 20 ноября 2011

Я успешно поместил переносную версию libreoffice на веб-сервер моего хоста, который я вызываю с помощью PHP, чтобы выполнить преобразование командной строки из .docx и т. Д. В pdf. на лету. У меня нет прав администратора на веб-сервере моего хоста. Вот мой пост в блоге о том, что я сделал:

http://geekswithblogs.net/robertphyatt/archive/2011/11/19/converting-.docx-to-pdf-or-.doc-to-pdf-or-.doc.aspx

Ура! Конвертируйте напрямую из .docx или .odt в .pdf, используя PHP с LibreOffice (преемником OpenOffice)!

1 голос
/ 25 мая 2011

Я не знаю ни одной библиотеки PHP, которая поддерживает DOCX => PDF. На самом деле, преобразование DOCX во что-то еще в PHP является открытой проблемой сегодня. Это не зависит от того, как вы сделали DOCX.

Но, как вы сказали, это PHP-библиотеки для HTML => PDF.

Html2Pdf - это хорошо зарекомендовавшая себя библиотека PHP, которая делает HTML => PDF. Существует также DomPdf .

Так что, если вы сможете найти библиотеку PHP для DOCX => HTML, то она будет работать.

Конечно, у него есть некоторые ограничения, потому что даже если и PDF, и DOCX имеют открытый формат, они имеют очень специфические функции, им требуется огромный процесс рендеринга, и редакторы оставляют за собой несколько полезных советов.

Теоретически возможно преобразование DOCX в HTML. Существует программное обеспечение Windows, которое делает это EpingSoft . Если вам нужно сделать это на PHP, некоторые веб-статьи расскажут вам, как это сделать, но, поскольку я не могу найти никакого PHP-кода, делающего это, я думаю, что это скорее теоретически, чем практично.

http://www.quepublishing.com/articles/article.aspx?p=691502

Насколько сложным будет этот процесс зависит от того, сколько родного Word форматирование, которое нужно сохранить во время конверсия.

Если вы хотите попробовать этот способ, полезно знать, что OpenTBS позволяет вам читать XML до и после слияния. Он основан на именах классов PHP TbsZip, которые могут читать любой XML-файл в DOCX, поскольку на самом деле это zip-архив.

0 голосов
/ 07 ноября 2016

Существует также возможность использовать PDF-файлы непосредственно в TBS после распаковки:

qpdf --qdf --object-streams=disable in.pdf out.pdf
...