2014-06-25 3 views
3

Как мы можем обрабатывать страницы с разными проектами, когда есть встроенный редактор PDF, который встроен в менеджер Adobe Experience. Я знаю, что есть файл page2fo.xsl, который автоматически генерирует PDF, и нам нужно указать правила на странице2fo.xsl. Но веб-сайт, на котором он работает, - это не только один дизайн, он в разных странах и на разных языках со своими собственными проектами. В этой ситуации мы можем преобразовать html в pdf, просто указав url как .pdf. Нужно ли писать xsl для каждого дизайна>? Есть ли у нас механизм, который будет обрабатывать эту ситуацию в Adobe Experience Manager, который поставляется с Apache FOP? Если есть какой-либо механизм, можете ли вы дать образец его для обработки разных конструкций?Apache FOP с использованием CQ5

ответ

2

Я просмотрел PDF-файл с помощью page2fo.xsl и даже поддерживал связь с поддержкой Adobe. Для всех ваших проектов может быть только один файл, поскольку он жестко закодирован в конечной службе XSLTTransformer, работающей в OSGi. Вы можете наложить только конфигурацию «/ libs/cq/config/rewriter/pdf» с вашим пользовательским под приложениями, например. «/ apps/cq/config/rewriter/pdf», где вы можете ссылаться на другой page2fo.xsl, который является основой. Для поддержки нескольких проектов в XSL я бы предложил шаблон, соответствующий cq: designPath вашей страницы. Единственная проблема здесь вам понадобится это свойство на каждой странице и не полагаться на наследование, как в редакторе интерфейса. Что-то вдоль линии:

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

Но я могу вам гарантировать, что это будет беспорядок, и трудно поддерживать, как вы на самом деле только этот один файл для всех ваших пользовательских XSLTTransformation.

Я думаю, что в вашем случае я бы использовать другой PDF Framework:

  • PDFBox от Apache. Я создал PoC с ним, и это очень больно для создания PDF-документа, так как вам нужно знать. PDF-синтаксис
  • DynamicPDF: Я смог переписать свой PDFBox PoC в течение 2 дней и даже добавить функции. Поэтому я бы порекомендовал его. Вы можете загрузить оценочную копию, и есть много примеров.
Смежные вопросы