Как разбить таблицу после определенного количества строк xsl-fo 1.0? - PullRequest
0 голосов
/ 04 июня 2019

У меня проблема с памятью при использовании apache fop для экспорта таблиц в pdf.Я хочу попытаться решить эту проблему, разбив мою большую таблицу после определенного числа строк (например, после 10 строк).Как я могу разбить таблицу после определенного количества строк, используя xls-fo 1.0?

Ответы [ 2 ]

1 голос
/ 10 июня 2019

При создании строки вы можете использовать следующие условия, которые могут помочь вам сгенерировать желаемый результат:

                        <fo:table-body>
                            <xsl:for-each select="student">
                                <fo:table-row padding-top="0pt" padding-bottom="0pt">
                                    <xsl:if test="position() mod 10 = 0">
                                        <xsl:attribute name="break-before">
                                            <xsl:value-of select="'page'"/>
                                        </xsl:attribute>
                                    </xsl:if>
                                    <fo:table-cell>
                                        <fo:block>
                                            <fo:inline font-size="12pt" font-family="Arial">
                                                <xsl:value-of select="name"/>
                                            </fo:inline>
                                        </fo:block>
                                    </fo:table-cell>
                                    <fo:table-cell>
                                        <fo:block>
                                            <fo:inline font-size="12pt" font-family="Arial">
                                                <xsl:value-of select="class"/>
                                            </fo:inline>
                                        </fo:block>
                                    </fo:table-cell>
                                </fo:table-row>
                            </xsl:for-each>
                        </fo:table-body>
0 голосов
/ 04 июня 2019

Вы не можете сделать это в XSL-FO. Вы должны изменить свой Java-код, чтобы генерировать отдельный fo:table для каждой группы из 10 строк.

...