Возможно ли txt+html перевести в pdf?

cliffero

Не хочу показаться полнейшим ламером(надеюсь это не так но я где то слышал, что в php есть возможность генерировать из txt и html файлов pdf. Возможно ли такое? Если да, то не могли посоветовать простейший пример скрипта.
Заранее благодарен.

kruzer25

в php есть возможность генерировать из txt и html файлов pdf
Есть возможность делать pdf примерно так, как картинки - т.е. есть функции типа "создать пдф", "нарисовать круг", "поместить такую-то букву в такое-то место".
Соответственно, из txt можно, насколько я понимаю, довольно легко сделать pdf.
Из html - тебе нужно парсить этот html самому и понимать, какие методы работы с pdf для него нужно брать.
Самая красивая/удобная/поддерживающая большинство возможностей html/css библиотека, в которой это уже реализовано - http://www.digitaljunkies.ca/dompdf, но для того, чтобы приделать к ней поддержку кириллицы при использовании бесплатной библиотеки для создания pdf файлов cpdf, нужен просто гигантский напильник (я приделал, но как, сказать не смогу, там слишком много всего было, сейчас даже и не помню, что приходилось менять). А при использовании библиотеки pdflib - lite-версия не поддерживает ничего, кроме стандартных латинских символов, а full-версия стоит 2куе.

yolki

спецификация pdf открытая, можно скачать с сайта адобе.ком и сделать свой генератор. правда там ботать 1300 страниц

kruzer25

pdf-то сгенерить не проблема. Проблема - распарсить html.

yolki

это ещё должно быть меньшей проблемой. может, стоит поставить пдф-принтер?

kruzer25

может, стоит поставить пдф-принтер?
И куда ты этот принтер засунешь?
У тебя есть html-файл, и тебе надо его с помощью php перевести в pdf. Что ты принтеру подавать будешь?
Между прочем, парсинг веб-страницы - не такая уж и тривиальная задача, браузерописатели ведь не зря свой хлеб едят...

oleg1331

заботать xslt преобразования? Там есть pdf-форматирование, на сколько помню

Ivan8209

PHP умеет запускать внешние процессы.
Блин, <вырезано>.
---
"Аллах не ведёт людей неверных."

cliffero

Насколько я знаею есть такая вещь, как fpdf. помоему так...только это отдельный класс....это немножко другое...это для того чтобы так сказать собирать pdf из отдельных файлов(типа картинок, текста и т.д.) это все из класса FPDF...там библиотеки нужны, та же самая fpdf.php + скрипты шрифтов...мне просто несколько иное требуется...генерация pdf из готового html файла...вот...я теперь точно знаю, есть такая штука..причем требующая только одну определенную библиотеку...подобные шняги googl в своик проектах использовал раньше. books.googl.com. там раньше использовался скрипт генерации из html. ладно,что то я загнался.....

Ivan8209

Я не только знаю, как это сделать, я это делал.
Если ты виндузятник или линуксоид, возьми приличную систему пакетов.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

cliffero

Мне б чтива бы для начала....а то в хелпах да readme мне капаться не оч. охота..тока вот гдеб взять или как запрос правильно оформить?

Ivan8209

Если тебе неохота читать документацию, а "README" к ней
родимой как раз относится, срочно меняй род занятий.
Программирование не для тебя.
http://pkgsrc.org/
---
"Аллах не ведёт людей неверных."

kruzer25

заботать xslt преобразования?
И что ты этим xslt-преобразованием получишь?
Как ты из html-файла без огромного геморроя узнаешь, что буква "а" должна находиться на третьей странице (при использовании бумаги А4 10pt сверху и 20pt справа?
Та полумегабайтная библиотека, на которую я давал ссылку - как раз этой обработкой html и занимается; есть ещё несколько подобных бибдиотек - более кривых, и к которым нужен совсем огромный напильник.
А уж чем записать pdf, если известно, что в него писать - не проблема, есть встроенная в php библиотека (называется pdflib, только, как я уже говорил, для поддержки юникода её надо покупать); есть библиотека cpdf, написанная на php4 - это сто килобайт, с которыми надо немало повозиться (я это сделал) для того, чтобы в pdf-е оказалась кириллица.

banderon

Между прочем, парсинг веб-страницы - не такая уж и тривиальная задача, браузерописатели ведь не зря свой хлеб едят...
А почему тогда не использовать какой-нибудь браузер + тот самый pdf-принтер?

kruzer25

Автор об этом не сказал, но обычно php используют для серверных приложений. А на серверах браузеры бывают редко.
А то можно и без всякого геморроя воспользоваться a2ps(1)

apgrade

XSLT очень даже причем: надо просто прочитать про XSL-FO. В общем конвертация будет состоять из следующих шагов:
1. Создание xml представления твоих данных.
2. xml to fo file using XSLT.
3. fo file to pdf file (найди и скачай нужный тебе FO-процессор)
Такая технология использовалась для генерации PDF репортов в ASP.NET 2.0 приложении.

Ivan8209

Ага, и основной затык в шаге 3.
Есть более прямой путь.
---
"Аллах не ведёт людей неверных."
Оставить комментарий
Имя или ник:
Комментарий: