Я надеюсь получить помощь в решении проблемы с работой, которую я недавно «унаследовал» ... Компания, в которой я работаю, предоставила свои услуги, чтобы помочь им перенести приложение своей информационной системы с компьютеров с Windows XP на компьютеры с Windows 10.Основные компоненты программы были разработаны в Visual Basic 6, Crystal Reports 8 и Adobe Acrobat 5. Я уже знаю, что 99% людей ответили так: «Вам нужно обновить» или «Почему вы это используете ?!».Для этих людей ответ заключается просто в том, что моя непосредственная потребность - использовать то, что мне дали, и в конечном итоге я планирую перенести все на более новые версии этих основных компонентов.
Я уже внес некоторые коррективы в коди обнаружил некоторые другие обновленные драйверы для других зависимостей, и пока в ходе первоначального тестирования кажется, что приложение работает должным образом.
К сожалению, вчера я столкнулся с серьезной ошибкой, когда приложение пытается распечатать наПринтер «Adobe PDFWriter», который, по-видимому, не установлен в Windows 10, хотя я установил Adobe Acrobat 5.0 в качестве администратора, с опцией «Включить файлы PDFWriter», установленной во время установки.
- Я не могу найти принтер в списке принтеров.
- Я не могу найти какие-либо конкретные порты или драйверы для Adobe при попытке добавить принтер вручную.
- Основной файл PDFWriter dll,«pdfddui.dll» и поддерживающие dll («pdfdd.dll», «pdfkd.dll») не существуют под «W»Расположение indows \ System32 \ spool \ drivers ", где они находятся на работающих компьютерах с Windows XP.
- Основные библиотеки DLL и вспомогательные библиотеки, упомянутые выше, существуют в разделе" Windows \ System32 \ spool \ drivers \ x64 "."
- При поиске в реестре основных dll или поддерживающих dll ничего не найдено, что указывает на то, что dll не удалось успешно зарегистрироваться.
- При попытке вручную зарегистрировать dll с помощью" \Windows \ SysWoW64 \ regsvr32.exe "не удается.
- При попытке вручную зарегистрировать библиотеки DLL с помощью" \ Windows \ System32 \ regsvr32.exe "не удается.
Код, которыйвыполняет следующее:
- Динамически создает отчет Crystal из запроса SQL на основе параметров из формы.
- Используется функция Crystal Reports "SelectPrinter", чтобы указатьPrinter.DriverName, Printer.DeviceName, Printer.Port
- Он использует функцию CrystalOffts «PrintOut», чтобы указать, не запрашивать ли у пользователя ввод,e "Тихая печать".
Конечный результат, что мне нужно для репликации и что мне нужно, чтобы сообщества помогли, заключается в том, что Crystal Reports:
- Печатает файл в формате PDF БЕСШУМНО без каких-либо действий пользователя.
- Печатает файл с определенным именем файла.
- Печатает файл в определенном месте.
Я попытался использовать встроенную в Microsoft печать в PDF, и это работает, НО он предлагает пользователю сохранить файл, он также имеет неправильное имя и местоположение по умолчанию, и я не вижу способачтобы программно изменить это с VB6.
Я бы предположил, что более новые версии Adobe Acrobat НЕ совместимы с Visual Basic 6, кроме того, лицензии на Adobe Acrobat довольно дорогие, когда ЕДИНСТВЕННАЯ функциональность, которая мне нужна, - это возможностьпрограммно печатать в PDF.
Любые полезные комментарии, предложения, решения будут очень цениться!