【问题标题】:PDF in XPages without using iText?XPages 中的 PDF 不使用 iText?
【发布时间】:2023-03-11 02:49:02
【问题描述】:

我正在尝试制作 PDF 文件。并且注释文件也是内容。我对 iText 有一个明确的想法。

但是有没有其他解决方案可以在不使用 iText 的情况下制作 PDF?

【问题讨论】:

  • 您对 iText 有什么顾虑?了解您为什么要寻找替代品将更容易确定存在哪些可接受的替代品。

标签: java javascript lotus-notes xpages lotus


【解决方案1】:

使用 XSL:FO 的 Apache FOP 是一种可以从 XPages 生成 PDF(和其他格式)的方法。我正在我的博客上写an article series,详细说明我的方法和解决方案。 最终,一旦我有空闲时间,我会将所有内容打包并在 OpenNTF 上发布

【讨论】:

    【解决方案2】:

    你可以试试Apache PDFBOX。我用它来导出文本内容,它工作得很好。它还可以在 Apache 许可下使用,因此它可以在专有软件中使用,这与 iText 不同,iText 在 Afero GPL 下可用,比 Apache 许可具有限制性。不利的一面是,Apache PDFBOX 不如 iText 成熟,因此可用的功能和文档较少。

    【讨论】:

    • 感谢 Naveen。,这里我们也需要使用外部 jar 文件。但这也是一种方式。再次感谢。,
    • PDFBox 是 Apache 许可的,而 iText 是 GPL。我喜欢 PDFBox 并在它成为 Apache 项目之前很久就使用它(我什至用 50 美元赞助了当时的学生领导开发 :-))
    • @stwissel:我检查了iText's website,它说最新版本在 GNU Affero 通用公共许可证版本 3 下可用。我认为以前的版本 (v2.x) 在 GPL 下可用。
    • 较旧的 itext 版本(2.1.x 系列)受 LGPL 许可,没有 AGPL 许可那么严格。
    【解决方案3】:

    openntf上有一个自定义控件,可以将数据转换成pdf的。

    http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=XPages%20PDF%20Exporter%20Custom%20Control

    编辑: 我的错误这也使用了 iText。

    【讨论】:

      【解决方案4】:

      我使用 FDF 格式填充 PDF 模板表单。

      创建 yourPDFTemplate.pdf 并将其作为文件附加到数据库 向其添加一个“名称”字段,当您致电代理时,它将打开 PDF 文件并使用 MarkyRoden 填写该字段

      这是 lotusscript 等价物,如果您愿意,可以像 xAgent 一样轻松完成。如果有人想要我,我可以很容易地创建一个例子。用notesdocument中的数据替换“MarkyRoden”

      将会话淡化为新的 NotesSession

      Print |Content-type: application/vnd.fdf|
      Print |%FDF-1.2|
      Print |1 0 obj <<|
      Print |/FDF <<|
      Print |/Fields|
      Print |[|
      Print |<< /T (Name) /V (MarkyRoden) >>|
      Print |]|
      Print |/F (http://yourserver.com/mark/testing.nsf/yourPDFTemplate.pdf)|
      Print |>>|
      Print |>>|
      Print |endobj|
      Print |trailer|
      Print |<< /Root 1 0 R >>|
      Print |%%EOF|
      

      结束子

      【讨论】:

      • 由于它的树形结构,我想知道是否可以为普通 XPage/组件制作 PDF 渲染器 - 只需更改普通 JSF 引擎生成的输出......
      • 抱歉,Marky 回复晚了。我知道有一种方法可以像你提到的那样做。但我不知道如何实现。意味着我在哪里打电话给那个代理。如果我通过单击按钮调用该代理,则它不会生成 pdf。如果我的申请在我的本地,那我该怎么办?
      • 对于这个例子 - 您需要将您的 PDF 文件附加到数据库中。它必须有一个可编辑的“名称”字段。从基于 Web 的应用程序中,可以直接通过 URL 调用 Lotus Script 代理。
      【解决方案5】:

      PD4ML 是一个选项,具体取决于您要执行的操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-10
        • 2014-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-15
        • 2011-10-23
        相关资源
        最近更新 更多