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
BeginPrint
、EndPrint
、PrintPage
和 QueryPageSettings
事件中,我没有做任何事情,只是将一些日志记录到文件中。
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();
}
}
我正在使用 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
BeginPrint
、EndPrint
、PrintPage
和 QueryPageSettings
事件中,我没有做任何事情,只是将一些日志记录到文件中。
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();
}
}