有没有办法从C#编写System.Drawing.Graphics到PDF?

时间:2011-09-16 02:59:26

标签: c# .net pdf gdi+ itextsharp

我有一大堆2D图形用于屏幕上的渲染控件并用于打印,它是非常自定义的图形,任何第三方报告工具或现成的控件都无法完成。

该程序可以生成打印内容的PDF文件,但是当我编写它时,我作弊并将Graphics对象打印到内存中,然后将其嵌入到PDF页面中。

由于用户通过电子邮件发送文件,他们发现文件太大了。

我已经开始使用iText从头开始编写PDF,但有没有办法将System.Drawing.Graphics内容直接转换为PDF? iText的工作方式和图形的工作方式完全不同。

4 个答案:

答案 0 :(得分:4)

试试这个图书馆http://www.pdfsharp.com/PDFsharp/

修改:上面的图书馆已移至http://www.pdfsharp.net/

答案 1 :(得分:1)

您可以将使用Graphics绘制的图形指向WMF(EMF),然后将其传递给iText。

答案 2 :(得分:1)

你的意思是你有System.Drawing.Image吗?如果是这样,您可以直接将其传递给iTextSharp.text.Image.GetInstance(),这将为您提供iTextSharp Image对象。否则,您可以直接绘制到PDF画布see this post以获取更多信息。

答案 3 :(得分:0)

一种(hacky)方式是简单地使用像this one这样的PDF打印机驱动程序。您可以通过打印API重用相同的GDI +代码。