WebSupergoo ABCpdf .NET是一款功能强大的net开发软件。编程人员都在使用的net开发工具 WebSupergoo ABCpdf .NET 。该软件能够集成到你的web服务器或者独立的应用程序中,方便用户轻松的创建PDF文档,同时还支持网页和HTML到PDF换,WebSupergoo ABCpdf .NET免费版支持各种文件类型和复杂的语言,需要的别错过了哦!
功能介绍;
渲染
PDF格式长期支持3D对象以及标准2D对象。我们相信,我们是Adobe以外的世界上第一个支持渲染这些3D元素的人。
ABCpdf Version 10支持U3D(通用3D)元素。作为版本11的一部分,我们现在也支持PRC(Product Representation Compact)3D格式。
我们支持3D导出为WebGL和OBJ,并且有一个新的导出器界面,允许您轻松导出到其他自定义格式。
我们支持多种调色板类型,可灵活,强大地输出GIF和PNG格式的索引彩色图像。我们的索引颜色输出包括用于微小但高质量的透明PNG图像的alpha。
我们现在支持渲染8位和16位灰度PNG。此外,我们还支持渲染渐进式JPEG。
HTML转换
ABCpdf现在包含基于Google Chromium的第三个HTML呈现引擎(仅限x64)。
现在,这意味着您可以选择基于三种当前主流浏览器中的任何一种的HTML到PDF转换。您可以使用Chrome样式转换,或Firefox样式转换或Internet EXplorer样式转换。
我们对新发动机非常满意。它不仅非常适合现代HTML5功能和技术,如CSS3,SVG,Web字体和Font Awesome,它也非常快,产生的输出更小。有什么不喜欢的?
为了提高安全性,我们将新的FireShield?技术添加到Chromium引擎中。这允许您在运行时动态地为文件系统分配权限,以确保您的HTML引擎只能访问您想要的位置。因此,每个转换都可以通过编程方式分配特定的权限和权限,具体取决于您所做的请求类型。
我们的速度和负载测试涉及一个13MB大小的真实HTML页面,可转换为大约800页的PDF。使用MSHTML耗时63秒,内存使用率达到700MB左右,输出为20MB。使用ABCGecko需要129秒,400MB峰值内存使用量,输出为16MB。在ABCChrome下花了23秒,达到约500MB内存使用率,输出为4MB。
所以在这个测试中,ABCChome的速度要快3到6倍,产生的输出要小4到5倍。这是一个很好的结果!
复制页面
ABCpdf长期以来一直支持将页面从一个文档绘制到另一个文档的能力。
但是因为AddImageDoc函数不知道状态,所以必须重新进行每次调用。如果您从一个文档复制多个页面,则每个调用所需的重复文档分析可能会影响性能。
在这个版本中,我们有一个新的DrawPagesOperation,它知道状态。这意味着,对于在两个文档之间绘制许多页面的过程,它可以非常快速地运行。
获取内容
ABCpdf Version 10引入了OpAtom类 - 分析和修改PDF内容流的好方法。
然而,获得这些内容流的过程可能会有所涉及。在版本11中,我们引入了ContentStreamOperation类,可用于大大简化此任务。
WebSupergoo ABCpdf .NET免费版使用教程
使用ABCpdf .NET在C#中生成PDF
举个例子。打开现有PDF文档并将页码添加到第一页。
首先,我们创建一个PDF文档对象。我们读入现有PDF,在左上角添加页码并保存修改后的文档。
Doc doc = new Doc();
doc.Read(@"c:\old_doc.pdf");
doc.AddText("Page 1");
doc.Save(@"c:\new_doc.pdf");
或者假设我们想要制作谷歌搜索页面的PDF。我们创建一个PDF文档对象,添加网页然后保存文档
Doc doc = new Doc();
doc.AddImageUrl(http://www.google.com/);
doc.Save(@"c:\google.pdf");
ABCpdf .NET功能强大。如果您了解PDF,则可以使用它来访问和操作PDF文档的几乎任何方面。
这个例子很复杂。它预先假定了PDF文档的内部结构。如果您是PDF新手,请不要担心,如果它们都没有意义。请记住 - 如果你需要它 - 就在那里!
假设您有一个包含世界上每个国家的经济数据的大型PDF。您希望确保文档打开,显示每个客户的最相关页面。
所以来自墨西哥的人下载了该文件。我们知道第165页包含墨西哥的数据,所以让我们改变PDF,使其打开到这个页面。
首先,我们创建一个文档对象并读入我们现有的文档。
Doc doc = new Doc();
doc.Read(@"c:\data.pdf");
然后我们找到第165页的对象ID。
doc.PageNumber = 165;
int page = doc.Page;
我们为此页面创建目标,并在文档目录中插入一个打开的操作。
string action = $"[ {page} 0 R /Fit ]";
doc.SetInfo(doc.Root, "/OpenAction", action);
最后我们保存修改后的文档。
doc.Save(@"c:\new_data.pdf");