我有一大堆2D图形用于屏幕上的渲染控件并用于打印,它是非常自定义的图形,任何第三方报告工具或现成的控件都无法完成。
该程序可以生成打印内容的PDF文件,但是当我编写它时,我作弊并将Graphics
对象打印到内存中,然后将其嵌入到PDF页面中。
由于用户通过电子邮件发送文件,他们发现文件太大了。
我已经开始使用iText从头开始编写PDF,但有没有办法将System.Drawing.Graphics
内容直接转换为PDF? iText的工作方式和图形的工作方式完全不同。
答案 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 +代码。