一尘不染

如何使用C#渲染PDF

c#

我想使用C#以图形方式加载和绘制pdf文件。我不需要编辑它们或进行任何操作,只需以给定的缩放级别渲染它们即可。

我发现的pdf库似乎集中在生成上。我该怎么做呢?

谢谢。


阅读 520

收藏
2020-05-19

共1个答案

一尘不染

万一Adobe ActiveX不是您要找的东西,还有其他几种选择(因为Acrobat必须存在于用户计算机上,并且您不能自己运输)。

要创建PDF预览,首先请查看关于StackOverflow的其他讨论:

在最后两个中,我讨论了您可以尝试的一些方法:

  • 您可以获取商业渲染器(PDFViewForNetPDFRasterizer.NETABCPDFActivePDFXpdfRasterizer等在其他答案中……)。
    不过,大多数工具都相当昂贵,尤其是如果您只关心制作简单的预览/缩略图的话。

  • 除了Omar Shahine的代码段外,还有一个CodeProject文章显示了如何使用Adobe ActiveX,但是它可能已过时,很容易被新版本破坏,并且合法性模糊(基本上可以在内部使用,但是您可以请不要发货,也不能在服务器上使用它来生成PDF图像)。

  • 您可以查看SumatraPDF的源代码,SumatraPDF是Windows的开放源PDF查看器。

  • 还有Poppler,一个使用Xpdf作为渲染引擎的渲染引擎。所有这些都很棒,但是它们需要大量的投入才能使它们与.Net一起工作并与它们交互,并且它们倾向于根据GPL进行分发。

  • 您可能需要考虑使用GhostScript作为解释器,因为渲染页面是一个相当简单的过程。
    缺点是您将需要重新打包它以将其与您的应用一起安装,或者使其成为先决条件(或至少是安装过程的一部分)。
    这不是一个很大的挑战,并且它肯定比要让其他渲染引擎与.Net合作更容易。
    我做了一个小项目,您可以在Developer
    Express论坛
    上找到它的附件。
    请注意GhostScript的许可要求。
    如果您不能再这样做了,那么商业软件可能是您唯一的选择。

2020-05-19