imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 26.05.2006, 09:58     # 1
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
Question Вопрос PDF + DELPHI

Добрый день.

Помогите решить такую задачу. Есть входные файлы в формате HTML их нужно преобразовать в PDF, сделать это нужно программно (Delphi 7).

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

Другой путь, это использовать GhostScript (есть его фри версия) для преобразования файла PostSctript в PDF. В этом варианте я не знаю, как из HTML файла получить PostScript файл?

Никак не могу разобраться...
Спасибо!
PLP вне форума  
Старый 26.05.2006, 14:49     # 2
MrSerg
Guest
 
Сообщения: n/a

Вот так можно печатать в Delphi7

Код:
  var
  eQuery: OLECMDF;
  vaIn, vaOut: OleVariant;

procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('D:\AAA\IMHO.ws\misc.php.html');
vaIn:=null;vaOut:=null;
eQuery := Webbrowser1.QueryStatusWB(OLECMDID_PROPERTIES);
if (eQuery and OLECMDF_ENABLED) = OLECMDF_ENABLED then
Webbrowser1.ExecWB( OLECMDID_PROPERTIES, OLECMDEXECOPT_PROMPTUSER, vaIn, vaOut);

procedure TForm1.Button2Click(Sender: TObject);
begin
// напечатает без диалогов
WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,    vaIn, vaOut);
// установка параметров страницы 
WebBrowser1.ControlInterface.ExecWB(OLECMDID_PAGESETUP, OLECMDEXECOPT_PROMPTUSER,vaIn, vaOut);
// PREVIEW
WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
Описание на .ExecWB скудное ,я так и не разобрался.
Попытайтесь разобраться сами.

Приведенная программа мне 12 листов напечатала ( собака ), без всяких диалогов.
 
Старый 26.05.2006, 21:45     # 3
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
Спасибо, попробую разобраться...
PLP вне форума  
Старый 28.05.2006, 15:48     # 4
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
Действительно работает, теперь нужно понять как при печати фоном (без диалогов) выбрать принтер и указать имя файла. Подскажите, кто знает?

// напечатает без диалогов
WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);

Печатает на принтере, выбранном по умолчанию... при этом открывается диалоговое окошко самого вирт. принтера... нужно, чтобы не открывалось.
PLP вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 07:31.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.