gpt4 book ai didi

pdf-generation - 使用 CQ5 的 Apache FOP

转载 作者:行者123 更新时间:2023-12-02 01:47:58 25 4
gpt4 key购买 nike

当有 Adob​​e Experience Manager 内置的 pdf 重写器时,我们如何处理具有不同设计的页面。我知道有一个自动生成pdf的文件page2fo.xsl,我们需要在page2fo.xsl中指定规则。但是我正在工作的网站不仅仅是一种设计,它在不同的国家和不同的语言中都有自己的设计。在这种情况下,我们如何通过将 url 作为 .pdf 来将 html 转换为 pdf。我们是否需要为每个设计编写 xsl>?我们是否有任何机制可以在 Apache FOP 附带的 Adob​​e Experience Manager 中处理这种情况?如果有任何机制,你能提供它的样本来处理不同的设计吗?

最佳答案

我查看了使用 page2fo.xsl 生成 PDF,甚至就此联系了 Adob​​e 支持。您的所有设计只能有一个文件,因为它在 OSGi 中运行的最终 XSLTTransformer 服务中进行了硬编码。您只能在应用程序下方使用自定义配置覆盖配置“/libs/cq/config/rewriter/pdf”,例如“/apps/cq/config/rewriter/pdf”,您可以在其中引用与基础页面不同的 page2fo.xsl。为了在您的 XSL 中支持多种设计,我建议使用与您页面的 cq:designPath 相匹配的模板。这里唯一的问题是您需要在每个页面上使用此属性,而不是像在编辑 UI 中那样依赖继承。沿线的东西:

<xsl:template match="*[contains(@cq:designPath,'/etc/designs/yourdesign')]">
<xsl:apply-templates select="yourdesign"/>
</xsl:template>

但我可以向您保证,这将是一团糟并且难以维护,因为您实际上只有一个文件用于所有自定义 XSLTTransformation。

我认为在你的情况下我会考虑使用另一个 PDF 框架:

  • PDFBox来自 Apache 。我用它制作了一个 PoC,创建 PDF 很痛苦,因为您需要了解 PDF 语法
  • DynamicPDF :我能够在 2 天内重写我的 PDFBox PoC,甚至添加功能。所以我会推荐它。您可以下载评估版,周围有很多示例。

关于pdf-generation - 使用 CQ5 的 Apache FOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24415396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com