Я пытаюсь преобразовать SVG в многостраничный PDF-документ. Я использовал Apache Batik для преобразования, но не предусмотрено для многостраничных страниц pdfs в нем. Проведя некоторое исследование, я узнал о docbook, и он работал достаточно хорошо. Он использует ANT скрипты для преобразования.SVG to Multipage PDF
Я хотел бы знать, как docbook имеет дело с многостраничными PDF-файлами, поскольку docbook использует Apache FOP, который использует Apache Batik для преобразования SVG в PDF.
Создает ли он отдельные PDF-файлы и в конечном итоге объединяет их для создания единого PDF-файла? И если он делает то же, что и выше, то я сам создам отдельные PDF-файлы с помощью Apache Batik и объединим их с помощью PDFBox.
Спасибо.
Решение С помощью XSL-FO с SVG в качестве внешнего графического или встроенного SVG
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master page-height="2339px" page-width="1654px" master-name="PageMaster">
<fo:region-body margin="0mm 0mm 0mm 0mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="PageMaster">
<fo:flow flow-name="xsl-region-body">
<fo:block>
<fo:external-graphic src="url(new sample.svg)" width="100%" height="100%" content-width="100%" content-height="100%"/>
</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="PageMaster">
<fo:flow flow-name="xsl-region-body">
<fo:block>
<fo:external-graphic src="url(new sample2.svg)" width="100%" height="100%" content-width="100%" content-height="100%"/>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
Мы также используем библиотеку Batik для создания pdf-документа из файла svg. Экспорт одной страницы - это ограничение этой библиотеки, используемой для экспорта PDF-файлов, и в настоящее время размер страницы просто увеличен, чтобы разместить больше данных. В основном мой текст слишком длинный, и я хочу, чтобы он отображался на нескольких страницах в документе PDF. Поскольку вы достигли этого с помощью docbook, можете ли вы, пожалуйста, направить нас, как реализовать это в нашем приложении. Заранее спасибо за вашу помощь. – Rashmi