Настройте плагин Dita-OT для вывода PDF каркаса со сплошной рамкой всех блоков - PullRequest
0 голосов
/ 03 октября 2018

Мне интересно вывести сплошную черную рамку, окружающую все блоки fo: для облегчения просмотра границ между элементами, отображаемыми в выводе pdf.

Я хотел бы применить преобразование в концеплагин dita-ot, который применяет границы.Я могу поиграться со следующим xsl, однако я не уверен, как применить xlst в конце процесса dita-ot.

    <?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet exclude-result-prefixes="xs ditaarch opentopic e" version="2.0" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/" xmlns:e="com.docdept.pdf" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:opentopic="http://www.idiominc.com/opentopic" xmlns:opentopic-func="http://www.idiominc.com/opentopic/exsl/function" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


        <xsl:template match="@*|*|processing-instruction()|comment()">
            <xsl:copy>
                <xsl:apply-templates select="*|@*|text()|processing-instruction()|comment()"/>
            </xsl:copy>
        </xsl:template>



    <xsl:template match="fo:block">
        <xsl:copy>
        <xsl:copy-of select="@*"/>

            <xsl:attribute name="border-style">solid</xsl:attribute>
            <xsl:attribute name="border-width">0.5pt</xsl:attribute>
            <xsl:attribute name="border-color">black</xsl:attribute>
            <xsl:apply-templates select="*"/>

        </xsl:copy>
    </xsl:template>

</xsl:stylesheet>

Я подумал, возможно, следующее, чтобы применить wireframe.xsl в концепроцесса, но это не работает.

<?xml version='1.0' encoding='UTF-8'?>
<plugin id="com.docdept.pdf">
  <require plugin="org.dita.pdf2" />
  <feature extension="dita.conductor.transtype.check" value="adjust-pdf" />
  <feature extension="dita.transtype.print" value="docdept-pdf" />
  <feature extension="dita.conductor.target.relative" file="integrator.xml" />
  <feature extension="dita.xsl.pdf" file="xsl/fo/wireframe.xsl"/>
</plugin>

1 Ответ

0 голосов
/ 04 октября 2018

Я вижу, что лучше связывать границы разных цветов с наборами атрибутов, поэтому есть визуальная ссылка, которую также можно искать по имени цвета в выводе fo.

<xsl:attribute name="border">1mm thin solid</xsl:attribute>
<xsl:attribute name="border-color">GOLD</xsl:attribute>
...