我目前正在为我的雇主开发一个C#应用程序,该应用程序使用PDF呈现功能。Pdfium.Net在显示PDF方面做得很好,但是应用程序也必须能够打印它们。有人知道如何通过这个API打印当前的PDF文档吗?我已经在可能的地方登记了,但我什么也没找到。
发布于 2015-04-23 13:03:52
要打印PDF文档,可以使用标准的.Net框架,如下面的代码所示:
//.Net Framework class from System.Drawing.Printing namespace
PrintDocument pd = new PrintDocument();
int pageForPrint = 0;
pd.PrintPage += (s, e) =>
{
using (PdfBitmap bmp = new PdfBitmap((int)e.PageSettings.PrintableArea.Width, (int)e.PageSettings.PrintableArea.Height, true))
{
//Render to PdfBitmap using page's Render method with FPDF_PRINTING flag
pdfView1.Document.Pages[pageForPrint].Render
(bmp,
0,
0,
(int)e.PageSettings.PrintableArea.Width,
(int)e.PageBounds.Height,
Patagames.Pdf.Enums.PageRotate.Normal, Patagames.Pdf.Enums.RenderFlags.FPDF_PRINTING);
//Draw rendered image to printer's graphics surface
e.Graphics.DrawImageUnscaled(bmp.Image,
(int)e.PageSettings.PrintableArea.X,
(int)e.PageSettings.PrintableArea.Y);
//Print next page
if(pageForPrint< pdfView1.Document.Pages.Count)
{
pageForPrint++;
e.HasMorePages = true;
}
}
};
//start printing routine
pd.Print();发布于 2016-01-12 02:56:40
其中一个.Render()变体允许您直接绘制图形上下文,从而消除了上面示例中对中间位图的需求。
https://stackoverflow.com/questions/29819704
复制相似问题