PrintDocument:适合页面

PrintDocument: Fit to page

我正在使用 PdfiumViewer 打印 PDF 文件:

using (PdfDocument document = PdfDocument.Load(pdfFileName))
{
    using (PrintDocument printDocument = document.CreatePrintDocument())
    {
        printDocument.BeginPrint += PrintDocument_BeginPrint;
        printDocument.EndPrint += PrintDocument_EndPrint;
        printDocument.PrintPage += PrintDocument_PrintPage;
        printDocument.QueryPageSettings += PrintDocument_QueryPageSettings;

        printDocument.PrintController = new StandardPrintController();
        printDocument.Print();
    }
}

在我的 printDocument BeginPrintEndPrintPrintPageQueryPageSettings 事件中,我没有做任何事情,只是将一些日志记录到文件中。

PDF 文件已打印,但文档每一页的左右页边距都被切掉了,所以我试图使每个 PDF 文档页面适合默认打印机中当前默认选择的纸张尺寸。我该怎么做?

最后,我通过使用 PdfPrintMode.ShrinkToMargin:

初始化 CreatePrintDocument 构造函数解决了问题
using (PdfDocument document = PdfDocument.Load(pdfFileName))
{
    using (PrintDocument printDocument = document.CreatePrintDocument(PdfPrintMode.ShrinkToMargin))
    {
        printDocument.BeginPrint += PrintDocument_BeginPrint;
        printDocument.EndPrint += PrintDocument_EndPrint;
        printDocument.PrintPage += PrintDocument_PrintPage;
        printDocument.QueryPageSettings += PrintDocument_QueryPageSettings;

        printDocument.PrintController = new StandardPrintController();
        printDocument.Print();
    }
}