PHP шаблон библиотеки PDF с выводом PDF? - PullRequest
58 голосов
/ 11 декабря 2010

Существует ли какая-либо PHP PDF-библиотека, которая может заменить переменные-заполнители в существующем документе PDF, ODT или DOCX и сгенерировать файл PDF в качестве конечного результата, не испортив макет?

Требования:

  • Не требуется сторонний веб-сервис

  • Возможность запуска на общем веб-хостинге была бы идеальной (без бинарных установок / пакетов)обязательно)

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

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

  • TCPDF может генерировать документы только с нуля

  • FPDI может читать существующие шаблоны PDF, но может только добавлять содержимое программным способом (без замены переменных шаблона)

  • Существуют различные библиотеки шаблонов DOCX / ODT, но они не выводятPDF

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

Я что-то пропускаю?

Есть ли способсделать это с помощью форм PDF?Я создаю исходные документы в OpenOffice 3.

Возможно, я смогу использовать стандартные команды Linux (например, pdftk, попробую это прямо сейчас.)

Обновление: * Ааааа! * Меня вызвали из офиса, и за это время срок действия награды истек.Начало новой награды: насколько показывает мое тестирование, у меня пока что нет идеального решения.

Обновление II: Скоро я буду искать подход pdftk, но я также начинаю другоевознаграждение за еще один раунд сбора дополнительных материалов.Этот вопрос теперь видел 1300 точек повторений в наградах, должно быть, какой-то записи:)

Ответы [ 16 ]

1 голос
/ 20 ноября 2011

Мне удалось заменить значения местозаполнителей в .docx через библиотеку на github phpdocx (https://github.com/djpate/phpdocx) (не то, на которое ссылаются в других местах)

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

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

Это частично отвечает на ваш вопрос. Я надеюсь, что это полезно.

1 голос
/ 30 января 2011

Хорошо, я пытаюсь помочь вам решить проблему немного.

Сначала ответьте на пару вопросов.

В - Я что-то пропускаю?

A - Нет. Существует библиотека PHP PDF, которая может заменить переменные-заполнители в существующем PDF-файле и сгенерировать файл PDF в качестве конечного результата, не испортив макет

Q - Есть ли способ сделать этоиспользуя формы PDF?

A - Да.Абсолютно уловка для этого заключается в использовании форм PDF

. Для обоих ответов вы можете использовать Джастина Койвисто, чтобы заполнить pdf форму поля php library.Для получения более подробной информации, пожалуйста, перейдите по ссылке http://koivi.com/fill-pdf-form-fields/tutorial.php. Дополнительная информация.

Благодарность Джастину Койвисто за его работу

PS

Для обхода проблемы дляДля отображения таблицы, подобной выводу из PDF-формы, пожалуйста, прочитайте Руководство пользователя Oracle Business Intelligence Publisher - Создание PDF-шаблона

1 голос
/ 30 декабря 2010

Хотя это не совсем то, о чем вы просили, вы можете сделать это в два этапа: использовать какой-нибудь php шаблонизатор ( smarty , dwoo ) для генерации html-страницы и затем использовать инструментыкак Html2Pdf преобразовать его в PDF.Я использую его, и результаты хорошие (без проблем с макетом страницы и т. Д.)

Конечно, это зависит от ваших входных документов (можете ли вы использовать html вместо PDF / ODT в качестве источника) и сложности макетате.

0 голосов
/ 15 апреля 2019

DOM Pdf и mPdf - две библиотеки, доступные для достижения этой цели.

0 голосов
/ 25 июня 2017

Если вы хотите использовать внешнюю службу, PDF Otter может решить вашу проблему. Существует бесплатный план, на который вы можете подписаться и немедленно интегрировать в свое приложение.

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

0 голосов
/ 09 марта 2017

Немного поздно, но взгляните на библиотеку PDFTemplate , которая делает именно то, что вам нужно.Вы можете создавать файлы Open Document (odt) и добавлять в них заполнители.Библиотека PDFTemplate может заполнить эти заполнители (даже с изображениями) и создать файл PDF.

ODT Файлы с заполнителями в PDF

...