Я обновляю старый код VB6, чтобы сохранить его DataReports в PDF, а не выводить диалоговое окно печати.
Я не могу просто написать PDF в коде (используя библиотеку PDF VB6 и т. Д.), Поскольку все наше программное обеспечение уже использует DataReports, и написание кода для каждого из них в лучшем случае было бы утомительным. В настоящее время процесс требует, чтобы сотрудник распечатал DataReport в драйвер печати PDF, назвав его вручную и сохранив в том месте, куда он должен идти. Мне нужно автоматизировать все это, чтобы имя и местоположение сохраненного PDF-файла можно было задавать программно, а не вводить вручную.
Лучшее решение было бы, если бы в DataReport просто была подпрограмма .SaveToPdf(filename)
. В худшем случае я вижу, как автоматизирую процесс, используя SendKeys
. Однако это решение должно работать в среде с несколькими возможными принтерами (таким образом, драйвер печати PDF может отличаться от используемого по умолчанию) и в Windows XP, Vista или 7.
Я безуспешно пытался найти проблему в Google, которая возвращает только уроки о том, как сделать это вручную, так же, как мы делаем сейчас.