HTML to PDF или HTML to Image или HTML to CHF

12
F
На сайте с 03.10.2006
Offline
160
1327

В общем-то задача такова: для пользователя в панели управления (написана на php) печатается специальный документ, который потом пользователем распечатывается, подписывается и отправляется по почте. Проблема в том, что этот документ нужно вывести в таком формате, чтобы его можно было по человечески распечатать.

Если выдать в html, то, как известно, браузер вставит в него колонтитулы (адрес, номер страницы и прочее). Объяснять десяткам юзеров, что нужно отключить колонтитулы - бесполезная трата времени. Значит нужно выдать в удобном для печати формате.

PDF

Перепробовал штук 6 разных бесплатных библиотек для php. Одни глючные (не выводят отступы, и многое другое), другие крайне тяжёлые (html2ps за 30 секунд не успевает сгенерировать pdf). Просто в документе таблица сложная и многие библиотеки с ней не справляются.

Image, CHF

Ещё не пробовал конвертировать html в эти форматы, так как не нашёл для php готовых решений.

Есть правда ещё вариант, пользоватся каким-то написанным на другом языке решением и обращатся к нему из php (сервер стоит на Windows 2000), но такого я пока не нашёл.

У кого-то есть опыт конвертации html в один из описаных выше форматов? Если есть, то подскажите что-то пожалуйста.

T.R.O.N
На сайте с 18.05.2004
Offline
314
#1
furamag:
Есть правда ещё вариант, пользоватся каким-то написанным на другом языке решением и обращатся к нему из php (сервер стоит на Windows 2000), но такого я пока не нашёл.

использую, конечно не совсем такой вариант, но всетаки. Поставил под винду ActivePerl, все результирующий документы создаю в Excel. Библиотека очень солидная. Есть и хорошая связь с PDF. Библиотека Text::PDF::API

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
Коля Дубр
На сайте с 02.03.2005
Offline
153
#2

Если у Вас есть XML, немного времени и такая-то-матерь, можете попробовать XSL:FO (рус., спецуха), бесплатные процессоры, кажется, назывались xmlroff и FOP, у кого-то из них глючил русский :) У меня оно когда-то давно завелось, но не полетело. Может у Вас больше таланта :)

Кстати, еще есть Office Open XML, из той же серии.

Разрабатываю общую шину (http://habrahabr.ru/company/floxim/blog/268467/) помаленьку. ...а еще у меня есть бложек (http://www.blogovo.ru/).
NB
На сайте с 14.09.2004
Offline
95
#3

furamag, зачем мудрить?

Что мешает сохранить файл как *.html, открыть в Word'е, и из него печатать?

F
На сайте с 03.10.2006
Offline
160
#4
Nick Bubelo:
furamag, зачем мудрить?
Что мешает сохранить файл как *.html, открыть в Word'е, и из него печатать?

Нужно клиенту отдать готовый для печати документ. Никто не будет что-то куда-то сохранять и потом печатать.

BR
На сайте с 28.06.2008
Offline
75
#5
furamag:
Нужно клиенту отдать готовый для печати документ. Никто не будет что-то куда-то сохранять и потом печатать.

- укажите content-type как у вордовского документа, а на самом деле отдайте HTML

размещение сайтов (http://www.brim.ru)
N
На сайте с 06.05.2007
Offline
419
#6

Вы попробуйте в ворде набрать и сохранить как html. Будет очень много жутких микрософтовских тегов, но отображение в IE довольно хорошее. Дальше вам останется сделать из этого шаблон и заставить операторов печатать исключительно в IE.

А еще LaTeX прекрасные pdf-ы делает. Правда, из моих знакомых кто в нем разбирается, почему-то все как один кандидаты технических наук.

Кнопка вызова админа ()
T.R.O.N
На сайте с 18.05.2004
Offline
314
#7
furamag:
Нужно клиенту отдать готовый для печати документ. Никто не будет что-то куда-то сохранять и потом печатать.

А чем не подходит печать HTMLа прямо из броузера???? Если не очень мудрить со стилями, то получается все ок

N
На сайте с 06.05.2007
Offline
419
#8

А, тут еще про колонтитулы. Их можно легко убрать. В IE это Файл/Параметры страницы.../Колонтитулы, хотя у многих с этим возникнут проблемы

F
На сайте с 03.10.2006
Offline
160
#9
Brim.ru:
- укажите content-type как у вордовского документа, а на самом деле отдайте HTML

Можете показать пример? Всё, что я пишу content-type не помогает. Погуглил, тоже не помогло.

Shtogrin
На сайте с 02.11.2006
Offline
95
#10

application/msword

header("Content-type: application/msword");
www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий