我正在使用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文档页面调整为默认打印机中当前默认选择的纸张尺寸。我该怎么办?
答案 0 :(得分:1)
最后,我已经通过使用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();
}
}