Сегодня наша бухгалтерия озадачила запросом "в ОПЗ не распечатываются документы, раньше распечатывалось, а после недавнего обновления Windows работать перестало". Стал разбираться в причине, поставил фикс для 64-битных систем, переустановил Adobe Acrobat с понижением версии, на рекомендованную, восьмую. Всё равно не печатает, акробат при запуске сообщает, что ему не удалось найти файл.
В итоге выяснил суть проблемы: ошибка возникает при установке программы в папку, путь к которой содержит пробелы и\или кириллицу, в моём случае это было "C:\Users\Username\Documents\ОПЗ ЦЕНТР\opz". Учитывая то, что бухгалтер уже привыкла к расположению программы и менять путь к ней было нежелательно, решил написать фикс самостоятельно. Он представляет собой обычный cmd-скрипт, упакованный в exe и работает оболочкой для оригинального бинарника Acrobat, передавая ему исправленный путь к файлу.
Надеюсь, это поможет ещё кому-то, кто столкнулся с такой проблемой.
Сам архив с фиксом
krcds.tk:8080/files/Системные/Print_fix_for_Adobe_Acrobat_from_OPZ.zipПротестировано на Win 7 Enterpise x64 и Win 10 x64 с последними обновлениями.
Инструкция по установке есть внутри архива, но продублирую здесь:
1. Найти exe-файл Adobe Acrobat (обычно это C:\Program FIles (x86)\Adobe\Reader 8.0\Reader\AcroRd32.exe) и переименовать его в AcroRd32_.exe, если запросит подтверждение UAC - подтвердить.
2. Переместить файл AcroRd32.exe из архива в папку с Adobe Acrobat, чтобы он лежал рядом с недавно переименованным AcroRd32_.exe.
3. Попробовать распечатать что-то из ОПЗ. Если всё в порядке - вместо сообщения о ошибке вы увидите открывшийся в Adobe Acrobat документ, готовый к печати.
И технические подробности для тех, кому интересно, что у фикса внутри:
Код скрипта
@Echo Off
SetLocal EnableDelayedExpansion
CD /D "%~dp0%"
Set "Fullargs=%*"
Set FilePath=!Fullargs:"%~dp0%AcroRd32.exe" =!
AcroRd32_.exe "%FilePath%"