|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Параллельная печать документа в PDF
Delphi6.
При составлении отчёта в виде текста и графика рисую на канве принтера сам отчёт и вывожу его на лазерный принтер. Всё работает ОК. Возникла задача тоже самое делать скрытым образом от пользователя параллельно печатая в PDF. В принципе в PrintDialog выбирая PDFwriter можно сделать требуемое.. но часто забывают и остаётся лишь бумажная версия. Сделал - вызываю дважды печать - первый раз с принтером который стоит по умолчанию "LaserJet" а второй раз "PDFwriter" выбирая его по индеклу из списка установленных в системе. Всё срабатывает, но надо вводить путь и имя файла для сохранения PDF - НО ЭТОГО НЕ должно быть видно - должно проходить незаметно для пользователя, имя файла - дата и время (сделал), путь - в папку спрограммой (тоже просто), но от появления диалога немогу избавится... как??? Та же проблема если беру XPSwriter - тоже самое, появляется диалог сохранения и погасить его незнаю как... ??? Можно попробывать FindWindow и хендл диалога и искать кнопку "ОК/SAVE" с полем ввода имени -но это изврат.. Можно сделать специальный порт принтера и настроить его сразу на нужную папку - это нужны права администратора и просто программу не перенесёшь уже на другой ПК, тем более как сделать это из самой программы.. ??? К тому же печать в PDF почему-то так идёт в оттенках серого, а при нормальном выборе принтера, вместо лазерного, печатает в цвете, но это не принципиально... хотя иногда на некоторых ПК палитра не серая а черно-белая и тогда пропадают некоторые элементы графика (видимо настройки драйвера). Печать в картинку тоже не вариант(несколько страниц, была бы 1....), но вот в WMF многостраничный можно было-бы, но не знаю как. Спасибо. |