使用C#在运行时创建pdf文件[关闭]


83

是否有一个附加的pdf库/可以附加到.NET 3.5,该库允许在运行时创建pdf文件,即打开一个新的pdf文件,一行一行地写入它,嵌入图像等,然后用C#代码关闭pdf文件。 ?

我想要的是一套工具和规范,使我无需使用Reporting Services的pdf输出选项即可在C#中实现自定义pdf编写器。

Answers:


39

iTextSharp http://itextsharp.sourceforge.net/

复杂但全面。


2
哇,我发布了,并且在60秒内针对同一件事还提出了另外三个建议!我想这很受欢迎。
国家统计局

4
非常受欢迎-与IMO一起工作有点乏味,但是您可以获得一些不错的结果。而且是免费的。
Knobloch


4
这不是免费的家伙!它在哪里说呢?
Fandango68年

2
AGPL版本是免费的。但不再是最佳答案。
aggsol 2015年

116

iTextSharp不再根据MIT / LGPL许可获得许可。大于4.1.6的版本已获得Affero GPL的许可,这意味着即使没有根据GPL或GPL兼容的许可对您的代码进行许可,您甚至不能在SaaS(软件即服务)方案中使用它。

本机.NET中的其他开源PDF实现包括

还有两个Java PDF库(如PDFBox)可以使用IKVM转换为.NET。


28
+1用于引用许可证更改。现在要学习一个新的PDF库...
Mayo

1
在哪里可以下载iTextSharp 4.1.6版本的任何地方?有什么问题为什么不应该下载此旧版本?
2014年

1
@drasto我是通过Google找到的:github.com/itextsharper/iTextSharp-4.1.6 另外,看来您可以通过NuGet获得旧版本。我还没有证实。
darkphoenix 2014年

32

看看PDFSharp

它是开源的,用.NET编写,我自己将其用于生成某些PDF发票。


6
PDFsharp带有MIT许可证。(非常宽容)
bretddog

PDFSharp(MigraDoc)非常容易上手。我在一两个小时内得到了想要的输出。
Chuck Savage '04

伙计们,PDFSharp是否允许您创建PDF表单,以便用户可以将数据直接输入到表单字段中并将其通过电子邮件发送给我们?我无法在其功能页面上看到类似的内容,但确实表示有限的AcroForm支持。什么是AcroForm?同样的事情?
Fandango68年

如今该项目不受支持吗?
Johnny_D 2014年

4

好吧,免费和非免费,我使用WebSuperGoo ABCpdf .NET组件,我很喜欢它!

不是免费的,因为您需要为此付费。

是免费的,因为即使您需要付费,他们也提供试用版,如果您不介意,则可以请求免费许可证,请在您的网站上显示“该网站使用WebSuperGoo ABCpdf .NET组件”,并带有指向其网站的链接。

我做到了,并且获得了免费许可证(当时是第5版),所以我可以说它有效(即使该网站不再在线)-我仍然拥有并使用组件〜:)

我喜欢的一个奇妙的事情是,您可以使用它来做所有可以做的事情,创建PDF表单并动态填充它们并通过邮件发送给用户,或者让他们下载它,从头开始创建pdf,转换HTML页面转换成PDF等内容,请阅读文档,这是一个很棒的组件。







0

为此,我研究了运行LaTeX应用程序以生成pdf的方法。尽管此选项可能比此处列出的选项更为复杂和繁重。



0

Amyuni PDF Converter .Net也可以用于此目的。它还将允许您修改现有文件,对其应用OCR并提取文本,创建光栅图像(例如用于生成缩略图),优化输出PDF以进行Web观看等。

通常免责声明适用。


0

有一个新项目RazorPDF,可以从ASP.NET MVC中使用它。它可以作为nuget包(搜索RazorPDF)获得。

这是更多信息:http : //nyveldt.com/blog/post/Introducing-RazorPDF

正如@DenNukem所指出的那样,重要的更新取决于iTextsharp,当我发现答案时(当我尝试使用它时)我忘记编辑答案,因此,如果您的项目不是开源的并且有资格获得AGPL许可,则可能使用起来太贵了。


2
警告:取决于iTextsharp,它是AGPL的组件,并且需要使用未公开的商业许可证,而不受AGPL的限制。
DenNukem

2
是的,我要一台服务器的iTextsharp报价,差不多是$ 2000,所以这行不通:(
Goran Obradovic

1
感谢您找出价格,节省了我一些时间。我现在倾向于PDFJet,因为它们的免费版本似乎可以满足我的需求。
DenNukem

RazorPDF将与iTextSharp的LGPL版本一起使用,只需使用NuGet-package nuget.org/packages/iTextSharp-LGPL
Toft,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.