Создание сценариев PDF - PullRequest
       15

Создание сценариев PDF

2 голосов
/ 27 октября 2009

Мне было поручено автоматизировать сбор некоторых отчетов из наших удаленных мест. Машины иногда используются локально персоналом на месте, и их использование является случайным. Программное обеспечение, которое генерирует отчеты, несколько ограничено и позволяет нам печатать на принтере по умолчанию. Отдел, занимающийся этими отчетами, не хочет, чтобы что-то изменилось, и им нравится получать свои PDF-файлы.

Я могу программно изменить принтер по умолчанию для использования принтера PDFCreator (и переключить его обратно, чтобы сотрудники в этом месте не заметили), и я могу программно сгенерировать отчет и отправить его на принтер.

Моя проблема заключается в том, что при этом открывается окно PDFCreator, где требуется имя файла и некоторые метаданные для PDF.

Я бы хотел минимизировать количество всплывающих окон и, надеюсь, сделать сбор отчетов максимально ненавязчивым для локальных пользователей.

Есть ли простой способ автоматизации взаимодействия PDFCreator, или мне осталось использовать SendMessage (или подобное) и имитировать взаимодействие с пользователем?

PDFCreator не требуется, я бы также предложил другие программные продукты типа PDF-print, которые также решают эту проблему.

Ответы [ 3 ]

1 голос
/ 29 октября 2009

PDFCreator - это оболочка VB для ghostscript, поэтому вы должны иметь возможность изменить PDFCreator так, чтобы он не всплывал в диалоговом окне и не давал ему имя файла другим способом.

В качестве альтернативы вы можете использовать драйвер принтера postscript с выводом, направленным на FILE: и затем вы можете программно вызвать ghostscript, чтобы самостоятельно конвертировать PS в PDF. Я не вижу способа помешать встроенным в Windows драйверам postscript создавать диалоги, когда для порта установлено значение FILE: а когда для порта установлено значение PSFile, я не могу понять, куда идет файл. Однако GSPSprinter.html содержит инструкции о том, как настроить постскриптный принтер Ghostscript для фиксированного местоположения файла, поэтому у вас не должно быть диалогов.

1 голос
/ 29 октября 2009

AFAIK, вы остались играть в игры SendMessage. Это не так уж плохо, возьмите копию Spy ++ и получайте удовольствие!

0 голосов
/ 04 августа 2010

Справка командной строки PDFCreator говорит, что Вы можете передать / NoStart, чтобы закрыть окно печати Вы можете предоставить файл .INI следующим образом:

"C: \ Program Files \ PDFCreator \ PDFCreator.exe" / NoStart /OptionsFile"C:\dev\convert\convert.ini "/PF"DOC_TO_CONVERT.doc"

, который содержит опции "auto":

[Опции] UseAutosave = 1 UseAutosaveDirectory = 1 AutosaveFormat = PDF AutosaveDirectory = NoConfirmMessageSwitchingDefaultprinter = 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...