Я работаю над проектом, в котором я хотел бы автоматически сжимать PDF-документ с помощью Microsoft «Печать в PDF» (в Windows 10).Несмотря на то, что я успешно использовал сторонние инструменты, один из самых важных документов PDF, который обычно сокращается, содержит расширения, которые не позволяют ему работать должным образом с помощью PDFium (хром?).Таким образом, я пытаюсь сделать это без сторонней библиотеки.
У меня был умеренный успех несколькими разными способами, но самый «простой» - несколько предостережений.
Этот код позволяет мне открывать PDF в Adobe Reader, запускать процесс печати и отображать диалоговое окно печати, где пользователи могут назвать и сохранить свой файл.Однако, если возможно, я бы хотел сделать это полностью без диалогового окна печати, поскольку у меня уже есть стандартизированное соглашение об именах, и я не хочу, чтобы пользователю приходилось взаимодействовать с диалоговым окном для каждого из нескольких конвертируемых файлов.
Sub printme() handles button1.click
Dim info = New ProcessStartInfo("C:\Users\[username]\Desktop\se4118.pdf")
Dim p As Process
'Set process setting to be hidden
info.Verb = "print"
info.CreateNoWindow = True
info.WindowStyle = ProcessWindowStyle.Hidden
info.Arguments = "Microsoft Print To PDF"
'Start hidden process
p = New Process()
p.StartInfo = info
p.Start()
end sub
Я пытался передать несколько аргументов в "info.Arguments", но безуспешно.Кто-нибудь имеет какие-либо идеи, как начать эту печать, используя предопределенную схему имен без отображения диалогового окна печати?Если это невозможно, не могли бы вы порекомендовать другой способ печати PDF в PDF (с использованием Adobe в качестве носителя или нет)?Спасибо за вашу помощь.