Delphi PDF生成

Delphi PDF生成,delphi,pdf,pdf-generation,fastreport,Delphi,Pdf,Pdf Generation,Fastreport,我们使用快速报告来创建报告,但我们对它创建的PDF的质量不是很满意。我知道我们可以插入其他PDF组件,而不是FastReports附带的组件,所以我的问题是 Delphi有哪些好的PDF组件(免费或商用)?理想情况下,它不需要任何DLL 编辑:我最终购买了它,因为它有FastReports集成、可用的源代码和相当好的声誉。然而,我确实发现了一个问题(在我买了它之后),将多页报告从FastReports导出到PDF时,组件会泄漏内存并破坏输出。我已经向Gnostice报告过了,所以我想我们会在接下

我们使用快速报告来创建报告,但我们对它创建的PDF的质量不是很满意。我知道我们可以插入其他PDF组件,而不是FastReports附带的组件,所以我的问题是

Delphi有哪些好的PDF组件(免费或商用)?理想情况下,它不需要任何DLL

编辑:我最终购买了它,因为它有FastReports集成、可用的源代码和相当好的声誉。然而,我确实发现了一个问题(在我买了它之后),将多页报告从FastReports导出到PDF时,组件会泄漏内存并破坏输出。我已经向Gnostice报告过了,所以我想我们会在接下来的几天里看到他们的支持有多好


编辑2:Gnostice恢复了修复程序,修复了内存泄漏和损坏的输出。

我们正在使用Gnostice,对此非常满意。它允许我们将ReportBuilder报告打印为PDF、HTML、XML、Excel、Gif等格式


我们在使用该组件时遇到了一些小问题

  • 在组件内部的某个深处,调用了Application.Processmessages get。你必须确保你的代码能够处理重复
  • 我们必须将TgtDocSettings组件的Preferences.useMagesResources设置为True,以便在打印到除PDF以外的任何其他文件时解析AV
  • 可能是因为我们使用组件的方式,但第一个打印页面总是纵向的。我们必须添加对gtRBExportInterface.Engine.Settings.Page.Orientation的调用,以便在需要时将方向设置为横向
  • 以下是我在寻找类似产品时遇到的一些(全部是商业性的):

    • -这是值得检查的,你可以得到来源

    • -这是一个ActiveX控件,您没有获得源代码,但具有一些良好的功能(例如,良好的HTML到PDF转换)

    • -也值得一看


    不幸的是,我发现免费提供的LibHaru、PoDoFo没有达到我的要求。

    我们使用的。我们不会直接生成pdf文件—我们生成不同的报告,并将其“打印”为pdf,作为打印机的替代品。

    llionsoft的IIPDFLib,网址:

    Delphi库llPDFLib 3.6

    llPDFLib是用于创建PDF文档的纯对象Pascal库。此库不使用任何DLL或外部第三方软件生成PDF文件。该库包括TPDFDocument组件,其属性和方法类似于Delphi的TPInter,但设计用于生成PDF文件

    特点:

    • 真实画布.句柄(HDC)
    • Unicode支持
    • Acroforms(按钮、单选按钮、复选框、组合框、文本输入字段)
    • 水印
    • 缩略图
    • JavaScript
    • vEncryption(40和128位)
    • 大纲(支持俄语、土耳其语、波罗的海语、东欧语、希腊语、CJK语言)
    • 压缩
    • 图像压缩(Jpeg、Flate、CCITT 3、CCITT 3(2D)、CCITT 4)
    • 超链接
    • 注释(支持俄语、土耳其语、波罗的海语、东欧语、希腊语、CJK语言)
    • 嵌入真字体(TTF和TTC)
    • 下划线和删除线字体样式的模拟
    • 将输出呈现到流中,以便使用CGI/ISAPI应用程序
    • 用于QReport、FastReport和报表生成器的筛选器
    • 用于使用DBGrids的组件集
    • 真字型字体子集
    它花了我们299美元,但你得到了你所付出的



    (来源:)

    我一直在使用QuickReports/QRDesign。基本上是通过将报告转换为元文件,然后从中生成pdf。它还声称拥有快速报表支持。

    使用eDocEngine创建PDF报表有两种方法。要么使用报表生成器组件(如QuickReport、Rave等),然后使用eDocEngine界面将内容保存为PDF


    另一种方法是以编程方式使用TgtPDFDocument类,然后设置其属性和集合。这使得对水印、权限、密码安全等功能的控制更加精细。

    PowerPDF是免费的开源(LGPL)。它真的很小但很有效


    使用我们的SynPDF装置。在其功能中,您可以使用真正的TCanvas来创建PDF,并嵌入真正的字体子集。它是为数不多的处理阿拉伯语等语言(通过UniscribeAPI)的库之一。它完全支持Unicode,而且速度非常快

    而且它是免费和开源的! 从Delphi 6到Delphi XE工作


    没有。SynPDF的最新1.18版本。我用超过200000页的文本或图像测试了它——速度很快,使用的内存也很低。只是一直在玩这个,这是一个很棒的免费解决方案!图书馆仍在发展中。64位支持、XE6支持、增强的图元文件渲染、加密、较小的pdf大小……根据上述链接,PowerPDF已过时。我们已购买了许可证,但技术支持忽略了我们。