Можно ли выводить другие форматы than.docx и.odt с плагином TinyButStrong и OpenTBS


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

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

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

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

          DOCX (or ODT) + database record => PDF

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

Author: w5m, 2011-05-20

3 answers

Я не знаю ни одной библиотеки 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 архив.

 1
Author: Skrol29, 2011-05-25 10:24:35

Я успешно разместил портативную версию 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 преемник)!

 2
Author: Robert Hyatt, 2011-11-20 02:04:17

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

qpdf --qdf --object-streams=disable in.pdf out.pdf
 0
Author: li-on, 2016-11-07 09:17:05