#c# #pdf #printing #process #adobe
#c# #PDF #печать #процесс #adobe
Вопрос:
Я пытаюсь сохранить PDF-файл как новый PDF, но распечатываю его (обязательно), для этого я использую Adobe Acrobat, потому что это дает мне возможность вводить параметры. Дело в том, что мне нужно сделать это тихо (ни одно окно не может быть увидено). Итак, мне нужно установить принтер, путь к моему файлу и место назначения вывода. Как я уже сказал, мне нужно «распечатать это» как новый PDF-файл, поэтому я использую для этого Microsoft Print to PDF (я не знаю, лучший ли это вариант).
Большое вам спасибо!
string file = name;
string pathFile = "C:\DfPrinter\" name;
ProcessStartInfo infoPrintPdf = new ProcessStartInfo();
string printerName = "Microsoft Print to PDF";
infoPrintPdf.FileName = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe";
infoPrintPdf.Arguments = string.Format("/t" " '" pathFile "'" "' " "'" printerName "'");
infoPrintPdf.CreateNoWindow = true;
infoPrintPdf.UseShellExecute = false;
infoPrintPdf.WindowStyle = ProcessWindowStyle.Hidden;
Process printPdf = new Process();
printPdf.StartInfo = infoPrintPdf;
printPdf.Start();
System.Threading.Thread.Sleep(10000);
if (!printPdf.CloseMainWindow())
printPdf.Kill(); printPdf.WaitForExit();
Ответ №1:
Я не думаю, что Acrobat Reader может печатать в автоматическом режиме, но вы могли бы рассмотреть возможность использования командной строки Win2PDF «printpdf»:
win2pdfd.exe printpdf "filename.pdf" Win2PDF "newfilename.pdf"
Это автоматически печатает PDF-файл в новый PDF-файл, указанный в «newfilename», с помощью принтера Win2PDF.