我使用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文档页与默认打印机中当前默认的纸张大小相匹配。我该怎么做?
发布于 2018-07-09 14:58:11
最后,通过使用CreatePrintDocument初始化PdfPrintMode.ShrinkToMargin构造函数,解决了这个问题。
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();
}
}https://stackoverflow.com/questions/51242333
复制相似问题