首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pdfium .NET SDK中的打印功能

Pdfium .NET SDK中的打印功能
EN

Stack Overflow用户
提问于 2015-04-23 09:46:59
回答 2查看 5.6K关注 0票数 2

我目前正在为我的雇主开发一个C#应用程序,该应用程序使用PDF呈现功能。Pdfium.Net在显示PDF方面做得很好,但是应用程序也必须能够打印它们。有人知道如何通过这个API打印当前的PDF文档吗?我已经在可能的地方登记了,但我什么也没找到。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-23 13:03:52

要打印PDF文档,可以使用标准的.Net框架,如下面的代码所示:

代码语言:javascript
复制
//.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();
票数 3
EN

Stack Overflow用户

发布于 2016-01-12 02:56:40

其中一个.Render()变体允许您直接绘制图形上下文,从而消除了上面示例中对中间位图的需求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29819704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档