Вы можете создать PDF документ, используя PdfSharp . Это библиотека с открытым исходным кодом .NET.
При попытке распечатать документ еще хуже. Я искал повсюду открытый исходный код способ сделать это. Есть несколько способов сделать это, используя AcroRd32.exe , но все зависит от версии, и это невозможно сделать, если программа Acrobat Reader остается открытой.
Я наконец-то использовал VintaSoftImaging.NET SDK . Это стоит денег, но намного дешевле, чем альтернатива, и это решает проблему очень просто.
var doc = new Vintasoft.Imaging.Print.ImagePrintDocument { DocumentName = @"C:\Test.pdf" };
doc.Print();
Это просто печатает на принтер по умолчанию, не показывая. Есть несколько альтернатив и вариантов.