Создание таблиц с помощью PHP с использованием PDFLib - PullRequest
1 голос
/ 06 мая 2011

Мне было интересно, есть ли хороший источник о том, как строить таблицы, используя PDFLib для PHP.Я планирую заполнить PDF-документ таблицей базы данных (ну, некоторые из них, которые я объединяю, чтобы создать новое представление), и я хотел сделать его PDF-документом для Интернета.Я искал повсюду, и я нашел много информации о PDFLib, кроме как создать таблицу с ее помощью.

Я проверил команды PDFLib на PHP.net и также не могу получитьчеткое понимание того, что нужно.

Ответы [ 2 ]

2 голосов
/ 06 мая 2011

В прошлом я несколько раз работал с генерацией PDF, и в целом я считаю, что это огромная боль в шее.

Документация PDFLib http://www.pdflib.com/fileadmin/pdflib/pdf/manuals/PDFlib-8.0.2-tutorial.pdf начинает объяснять, что вы ищете, в разделе 8.2, стр. 193. Вы будете создавать многострочные потоки.Код там выглядит устрашающе, но потратить некоторое время на его проработку, он довольно близок к тому, что вы в итоге будете использовать.

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

  • Сделайте это на бумаге, как их размеченные примеры.Где вы хотите, чтобы вещи начинались, заканчивались и т. Д.
  • Используйте чистые имена переменных для хранения этих смещений.Не константы!
  • Найдите хорошие экстремальные примеры для тестирования во время разработки.При разработке с текстом типа «тест», чтобы узнать позже, вам необходимо поддержать «Я сам образец современного генерал-майора», что может отбросить весь ваш поток и потребовать, чтобы вы начали с нуля.
  • Некоторые библиотеки«поддержка» встраивания HTML, включая таблицы HTML.Эта песня сирены сладкая, но она приведет вас в острые как бритва скалы.Каждая библиотека, которую я использовал, немного поддерживает их, но затем вы наталкиваетесь на стену, где вы не можете получить следующую небольшую настройку, не удаляя таблицы и возвращаясь к собственным функциям.Они потратили огромное количество времени, чтобы поиграть, и все.

обновление Я нашел мою самую последнюю итерацию кода, мы использовали библиотеку http://www.tcpdf.org. Работало, в основном.Я имел дело с большим количеством несоответствий в том, где курсор оставался после записи нескольких строк текста на страницу.В итоге я вырвал все, что использовало их многострочный код, и написал свой собственный.С этим стало довольно легко работать.

1 голос
/ 12 марта 2013

Работа с таблицами в PDFlib очень сложна. Таблицы работают, но в тех случаях, когда у вас есть несколько таблиц друг над другом и вы хотите, чтобы таблицы ниже одной всегда были на определенном расстоянии от нижней строки верхней таблицы, или если вы хотите использовать вложенные таблицы, у вас возникают проблемы. Подобные поведения могут быть сделаны, но код сложен. ПОЧЕМУ команда pdflib не использовала поведение HTML-таблиц, где они хорошо работали два столетия.

Поскольку HTML-таблицы просты в использовании, одним хорошим методом является использование phantomJS для генерации PDF-файла из HTML. PhantomJS использует webkit для рендеринга страниц и поддерживает html5 + css3 + svg + canvas. И в дополнение к PDF, он может выводить PNG, JPEG и GIF.

Вот пример использования phantomJS для генерации PDF-счетов: http://we -love-php.blogspot.fi / 2012/12 / создать-PDF-счета-с-html5-и-phantomjs.html

...