IISでホストされているアプリケーションを通じてネットワークプリンタにpdf(ストリームから生成)を印刷するシナリオがあります。私はPrintDocument.Print()を試して、私が直面している問題は次のとおりです。1.ドキュメントがサイズ0バイトの印刷ジョブキューにキューイングされています。 2.ドキュメントは、所有者名がmachine_nameの印刷ジョブキューにキューイングされます。 ここでiはとSystem.Drawing.Printing.PrintDocument(ByteArrayのからのPrintDocumentを生成する)PdfiumViewerを使用しようとしたコードである:両方の問題についてIISでホストされているアプリケーションを通じてネットワークプリンタに印刷する方法
public void SendPdfToPrinter(byte[] byteArray, string fileName, string printerNetworkPath)
{
using (Stream fileStream = new MemoryStream(byteArray)) //byte array for the file content
{
var printerSettings = new System.Drawing.Printing.PrinterSettings
{
PrinterName = printerNetworkPath, //this is the printer full name. i.e. \\10.10.0.12\ABC-XEROX-01
PrintFileName = fileName, //file name. i.e. abc.pdf
PrintRange = System.Drawing.Printing.PrintRange.AllPages,
};
printerSettings.DefaultPageSettings.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
// Now print the PDF document
using (PdfiumViewer.PdfDocument document = PdfiumViewer.PdfDocument.Load(fileStream))
{
using (System.Drawing.Printing.PrintDocument printDocument = document.CreatePrintDocument())
{
printDocument.DocumentName = fileName;
printDocument.PrinterSettings = printerSettings;
printDocument.PrintController = new System.Drawing.Printing.StandardPrintController();
printDocument.Print();
}
}
これは、あなたがこれに頼ることができるようにテストされています。 –