PrintDocument打印空白页?

时间:2019-07-23 16:03:54

标签: c# .net printdocument

当我收到保存文档的提示时,我正在尝试打印pdf文档并将其保存到文件中。生成的文件具有正确的页数,但所有页面均为空白。  我在下面的PrintPage处理程序中缺少什么?感谢您的任何建议。

PATH

1 个答案:

答案 0 :(得分:0)

如果要打印pdf,可以使用PdfiumViewer一个开放源代码库。

链接到Nuget软件包:

https://www.nuget.org/packages/PdfiumViewer/

然后修改代码以加载要打印的文档:

        var ctrl = new StandardPrintController();

        using (var document = PdfDocument.Load(filename))
        {
            using (PrintDocument doc = document.CreatePrintDocument())
            {
                doc.PrintController = ctrl;
                doc.PrinterSettings.PrinterName = "CutePDF Writer";
                doc.PrinterSettings.PrintFileName = fileName;

                doc.PrintPage += (s, e) =>
                {
                    pageNo++;
                    if (pageNo < frameCount)
                    {
                        e.HasMorePages = true;
                    }
                    else
                    {
                        e.HasMorePages = false;
                    }
                };

                doc.Print();
            }
        }
    }
}
相关问题