Как распечатать PDF с C #
Я пытаюсь решить эту проблему почти 2 дня. В сети есть много более или менее хороших решений, но ни одно из них не подходит мне идеально.
Task: Print a PDF programmatically Do it with a fixed printer Don´t let the user do more than one Button_Click Do it silent - the more, the better Do it client side First Solutions:Do it with a Forms.WebBrowser
Если у нас установлен Adobe Reader, есть плагин для отображения PDF-файлов в браузере. С этим решением у нас есть хороший предварительный просмотр, а с помощью webbrowserControlName.Print () мы можем запустить элемент управления для печати его содержимого.
Проблема - у нас все еще есть PrintDialog.
Start the AcroRd32.exe with start arguments
Следующая команда CMD позволяет нам использовать Adobe Reader для печати нашего PDF.
InsertPathTo..\AcroRd32.exe /t "C:\sample.pdf" "\printerNetwork\printerName"
Проблемы - нам нужен абсолютный путь к AcroRd32.exe | окно Adobe Reader открывается, и его нужно открывать до тех пор, пока задача печати не будет готова.
Use windows presets
Process process = new Process();
process.StartInfo.FileName = pathToPdf;
process.StartInfo.Verb = "printto";
process.StartInfo.Arguments = "\"" + printerName + "\"";
process.Start();
process.WaitForInputIdle();
process.Kill();
Проблема - все еще появляется окно Adobe Reader, но после завершения печати оно обычно закрывается.
Решение - убедить клиента использовать Foxit Reader (не используйте последние две строки кода).
Convert PDF pages to Drawing.Image
Я не знаю, как это сделать с кодом, но когда я заставлю это работать, все остальное - просто кусок пирога. Printing.PrintDocument может удовлетворить все требования.
Anyone an idea to get some Drawing.Image´s out of those PDF´s or another approach how to do it?С уважением, Максимум