У меня возникли проблемы с печатью защищенного PDF-файла в другого PDF-файла непосредственно из командной строки (вызывается из vba через Adobe "Печать в PDF-файл) и сохранением его:
Excel VBA, «Печать» защищенного PDF в другой файл PDF с помощью Shell
Мне нужно сделать это, чтобы обойти защищенный PDF, чтобы иметь возможность преобразовать его в текст. Как и ПК компанииУ меня есть доступ только к Adobe и Nitro. Я пытался использовать команду Shell и пришел к следующему:
"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /t C:\Users\1402\Desktop\test2\20171207fmbnit.pdf "Microsoft Print to Pdf" >> "C:\Users\1402\Desktop\Testing\testq24.pdf" /s
, который периодически создает или сохраняет файл PDF размером 0 КБ впапка, указанная в команде, с ошибкой, указывающей, что файл поврежден, или делает это, а затем запрашивает окно сохранения как, которое создает правильный файл. Чтобы обойти это, есть способ перехватить вывод из этой строки через shell()
в VBA и завершите «Сохранить как» оттуда? Что-то вроде:
Dim oExec As Object
Dim oOutput As Object
Set oExec = oShell.Exec(sCmd)
Set oOutput = oExec.StdOut
, где oOutput
- это файл PDF, и команда такая же, как указано выше.