![]() |
Бесплатный PDF принтер?
Добрый день.
Задача все та же - программно конвертировать HTML документы в PDF. Это можно делать, распечатывая на виртуальном PDF принтере HTML документы, загруженый е TWebBrowser: WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut); Нужно, чтобы эта печать происходила в фоновом режиме - без участия пользователя. Проблема в том, что PDF принтера при обращении к ним показывают диалоги: "Сохранить как", "Очередь печати" или просто рекламу :( . Нужен бесплатный PDF принтер, который может безо всяких диалогов просто сохранить PDF документ в файл в известном месте (дальше разберемся). Есть такие? Спасибо. |
Почему бы не попробовать преобразование HTML (XHTML) в pdf используя XSLT шаблон преобразования? На мой взгляд, перевести чистый HTML в XHTML или XML довольно просто, а далее, используя шаблон, получить pdf. XSLT парсеры есть в достатке, тотже MSXML поддерживает XSLT преобразование. Самих шаблонов для перевода XML в PDF в сети полно.
Я думаю, стоит попробовать. |
CutePdf
что-то вроде -sOutputFile="%1" -c save pop -f |
Цитата:
Я посылаю документ на печать ShellExecute... всегда открывается диалог выбора принтера. Что сдетать, чтобы шла печать на принтер по умолчанию без запроса? |
Покажи свою команду ShellExecute
|
ShellExecute(0, 'print', PChar(HTMLFilename), '-sOutputFile="%1" -c save pop -f', '', SW_HIDE);
Например так. При этом сначала выбирается "CutePDF Writer" принтер по умолчанию. На параметры ShellExecute не обращает внимания. А вообще у меня такое ощущение, что эти параметры (-sOutputFile="%1" -c save pop -f) предназначаются GhostScript'y. Ведь когда Shell запускет печать HTML документа - деле выполняется команда ""C:\Program Files\Microsoft Office\Office10\msohtmed.exe" /p %1" и чтобы не возникал диалог выбора принтера (и шла печать на умолчательный принтер) нужно подавать какой-то параметр для msohtmed.exe - какой, я так и не нашел. Вот почему я думаю на Ghost: здесь http://www.cutepdf.com/Support/faq.asp#Writer в низу странички написано: How to use other Ghostscript or PS2PDF converter with CutePDF Writer? CutePDF Writer detects the installation of Ghostscript automatically. If you want to use other converter application, simply create a Setup.ini file in "%Program Files%\Acro Software\CutePDF Writer" folder and put following parameters in it. [Parameters] Command=put exe filename here (e.g. C:\gs\bin\gswin32c.exe) Arguments=put arguments here (e.g. -sOutputFile="%1" -c save pop -f -) Я пробовал писать туда вместо ="%1" - путь и имя файла PDF - фиг там, все равно возникает диалог для выбора имени и пути для сохранения PDF файла. |
Ту версию что позволяет обходить диалоги они продают. http://www.cutepdf.com/Solutions/pdfwriter2.asp
Посмотри http://www.tufat.com/s_html2ps_html2pdf.htm, вроде ГНУ. |
Продают custom причем к нему еще нужен расширенный пакет... не самый удачный вариант.
Я теперь рассматриваю вариант с Active PDF forms - т.е. ищу программный путь создания PDF с полями для ввода текста. При этом HTML не нужен (он был нужен как промежуточный формат). Т.е. цель - создать PDF полями для ввода, пользователь вносит данные в поля формы PDF, и потом он превращается в "простой" PDF - без полей. Как это сделать пока не знаю... смотрю разные SDK... Может есть какие соображения? Цитата:
|
Попробуй напоследок http://www.wizards.de/~frank/pstill.html
Если честно то я тебя не понял. Если ты запускаешь свою прогу на дельфях - какие заморочки с формами ? |
Цитата:
1. Формировать HTML отчеты (т.к. это просто текст - с ним легко работать), затем отсылать клиентам и у них при помощи дельфийского интерфейса добавлять недостающие данные в HTML, а затем печатать этот HTML PDF принтером. В итоге PDF. 2. На сервере формировать активные PDF c полями для ввода текста. На клиенте пользователь открывает их в бесплатном AReader'e, заполняет получает готовые PDF. Получается, что второй путь проще (хотя и там есть свои сложности, но наверное выбор будет в его пользу). |
Я бы сделал так : сервер делает ХТМЛ форму, клиент заполняет ее и посылает на сервер. Сервер формирует PDF и посылает клиенту. Скрипты для создания PDF на сервере ты уже видел.
Другой вариант - твоя прога получает форму, заполняет ее и сама создает PDF. Есть готовые компоненты для Дельфи. Например http://delphi.icm.edu.pl/authors/a0001086.htm , http://www.delphi32.com/vcl/3346/. А вот еще пару виртуальных PDF драйверов: http://www.pdfdesk.com/winpdf.html ( http://www.pdfdesk.com/source/devinter.htm )- вроде и бесплатный и управляемый http://www.bullzip.com/products/pdf/...o.php#Settings Точно бесплатный и управляемый |
| Часовой пояс GMT +4, время: 20:51. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.