Рекомендация? для нашего конкретного проекта HTML ->PDF


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

Я уже прочитал несколько хороших тем о переполнении стека по этой теме.. но у них есть люди, которые дают рекомендации по всей карте.. как я и ожидал - в целом, наши потребности и опыт представлены по всей карте. И опять же, здесь я хочу знать, что бы вы порекомендовали, учитывая нашу конкретную ситуацию.

У нас есть динамическая HTML-страница, которая отображает 30 "адресных меток" в пределах размеров одного документа размером с американскую букву. Мы хотим, чтобы пользователь мог распечатать страницу размером с одну букву и чтобы содержимое идеально соответствовало (как это происходит в браузере) этикетке с адресом Avery (напечатанной) наклейке, которую они будет использоваться для того, чтобы затем очистить 30 наклеек и прикрепить их к физическому продукту. HTML-страница состоит из HTML-кода (divs и таблиц), текста, gif-файлов, jpg-файлов, графики PNG со штрих-кодом и интенсивного использования CSS-CSS2, а также CSS3 (преобразование свойств CSS3), т.Е. Это:

/* --- for firefox, safari, chrome, etc. --- */
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
/* --- for ie --- */
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);

...который я использую для поворота (на 90 градусов) штрих-кода, который я беру с этого сайта/сервиса: http://www.barcodesinc.com/generator/index.php

Мы могли бы отказаться от этого PNG/сервиса штрих-кода, только если я мог бы легко заменить его другим... и штрих-код должен быть повернут на 90 градусов - чтобы таким образом поместиться в его крошечный (вертикально ориентированный) выделенный слот на каждой из 30 "ячеек адресной метки".

  • Жаль, что у нас нет бюджета на серверную версию PrinceXML;-)... но не повезло.
  • Я никогда не использовал библиотеки PHP, такие как FPDF или TCPDF, но меня беспокоит скорость; корпоративным пользователям (в разных браузерах) понадобится pdf в режиме реального времени. Они могут быть терпеливы и ждать окончательного PDF, если оставить решение бесплатным.. но если для генерации требуется несколько минут, это минус.
    Также я не уверен, насколько они хороши для HTML ->PDF (в отличие от прямого PDF с нуля).. плюс не уверен, насколько хороша поддержка CSS. Наша страница немного похожа на HTML/CSS-клудж.
  • Я использовал инструменты командной строки HTMLDOC и wkpdf, но в первом не хватало CSS, который мне сейчас нужен, а во втором вводится поле, которое убивает его для точного форматирования метки адреса (плюс этот проект находится на Linux).

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

 13
Author: Sathya, 2010-12-04

5 answers

Если вы ищете что-то вроде Prince XML, но без затрат, я бы попробовал DocRaptor.com . Это онлайн-генератор pdf, который преобразует из HTML. Я воспользовался бесплатным планом, и это было довольно просто.

Удачи!

Нейт

 5
Author: Nate365, 2011-01-11 00:45:52

Мое обычное предложение для таких вещей - wkhtmltopdf. Ваша функция преобразования webkit все равно должна работать, как и все остальное, что работает в браузерах веб-наборов.

Справедливое предупреждение: Я сам им не пользовался.

 1
Author: Mark Storer, 2010-12-03 23:48:19

Вы настроены на решение HTML->PDF? Я бы не пошел по этому пути: HTML никогда не предназначался для печати... в нем нет понятия страниц, а различия в операционной системе, браузере, установленных шрифтах и т. Д. Могут сделать что-то настолько точное, как печать этикеток, кошмаром. Почему бы не сгенерировать PDF напрямую и вообще не обойти HTML?

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

  • Генерировать вывод PS и передавать его в утилиту, такую как ps2pdf
  • Генерировать вывод TeX и передавать в pdflatex

Я бы беспокоился о надежности и скорости обоих из них: это сильно зависело бы от того, сколько запросов вы обрабатываете в секунду.

Глядя на вывод ldd для gs (ps2pdf), похоже, он может использовать Cairo для генерации PDF-файлов. Для Cairo доступны привязки PHP, C, Python и т.д.

.
 1
Author: Thanatos, 2010-12-03 23:58:27

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

Я использовал FPDF и обнаружил, что он достаточно быстр для создания PDF-файлов в реальном времени даже для сложных документов. FPDF позволяет точно размещать (измеряется в дюймах или в предпочитаемых вами единицах измерения) элементы на странице PDF, поэтому выравнивание не должно быть проблемой. Я подозреваю, что вам будет значительно легче для создания PDF-файла, чем для создания HTML.

Существуют пользовательские сценарии для генерации штрих-кодов, так что вы можете сделать это в FPDF, если захотите. Или вы можете встроить изображение, созданное вами в другом месте.

РЕДАКТИРОВАТЬ: Просто чтобы продолжить, я проверил сайт FPDF, и там есть пользовательский скрипт для создания меток в распространенных форматах Avery. Это меньше 200 строк кода, так что даже если вы захотите написать свой собственный, я подозреваю, что вы вполне сможете это сделать легко.

 1
Author: bmb, 2010-12-04 01:50:59

В конце концов, мы дали PrinceXML шанс (через платный сервис "DocRaptor". Спасибо Нейту за этот совет). На данный момент принц не распознает преобразование CSS3, необходимое мне для поворота штрих-кода в нашем pdf-файле.. но я нашел другой генератор штрих-кодов, который поворачивает его во время рисования, перед подачей.. так что все получилось. Возможно, существуют лучшие способы создания PDF-файлов.. но для тех из нас, кто тратит все свое время на взлом веб-страниц, есть что-то очень приятное в сгенерированные PDF-файлы точно отформатированы как источник HTML/CSS. Я обнаружил, что вся суета вокруг принца вполне заслужена. Спасибо всем, кто ответил.

 1
Author: govinda, 2011-01-30 23:56:28