Возможно ли выводить форматы, отличные от .docx и .odt, с помощью плагина TinyButStrong и OpenTBS

StackOverflow https://stackoverflow.com/questions/6070725

Вопрос

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

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

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

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

          DOCX (or ODT) + database record => PDF

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

Это было полезно?

Решение

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

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

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

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

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

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

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

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

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

Другие советы

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

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

qpdf --qdf --object-streams=disable in.pdf out.pdf
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top