Компиляция в PDF
Доброго времени суток!
Сборку вел в fedora20. FOP Version SVN tags/fop-1_1 docbook5-style-xsl-1.78.1-2.fc20.noarch
команда fop -catalog -xml mybook.xml -xsl ~/espd-docbook5/espd/espd.xsl -pdf mybook.pdf выдает кучу ошибок в частности: org.apache.fop.fo.ValidationException: "fo:block-container" is missing child elements. поэтому произвожу сборку последовантельно следующими командами: xsltproc ~/git/espd-docbook5/espd/espd.xsl mainbody.xml > pz.fo Making portrait pages on A4 paper (210mmx297mm)
Заменяю все блоки "fo:block-container" на "fo:block" и делаю fop -fo pz.fo -pdf pz.pdf
тогда сборка заканчивается успешно, но: 1. на первом и втором листе табличка (там где инв.№, и т.д.), находящаяся слева переходит на самый верх. 2. все символы русского языка отображаются как #
Подскажите, почему может выдавать ошибку на тегах "fo:block-container" ? Требуется ли руссификация fop ? Или можно найти где то руссифицированный?
С уважением, Козлов Юрий
Comments (10)
-
-
-
assigned issue to
- marked as minor
- marked as bug
-
assigned issue to
-
reporter К сожалению версия из репозитория выдала другие ошибки, при компиляции и компиляция опять не прошла, хотя лист авторов там заполнен. Команда:
fop -catalog -c ~/git/espd-docbook5/fop.xml -xml book.xml -xsl ~/git/espd-docbook5/espd/espd.xsl -param espd.decimal '12345678' -pdf mybook.pdf
Выдает следующее Cannot find CatalogManager.properties Compiler warnings: http://docbook.sourceforge.net/release/xsl-ns/current/fo/table.xsl: line 459: Attribute 'border-start-style' outside of element. http://docbook.sourceforge.net/release/xsl-ns/current/fo/table.xsl: line 460: Attribute 'border-end-style' outside of element. http://docbook.sourceforge.net/release/xsl-ns/current/fo/table.xsl: line 461: Attribute 'border-top-style' outside of element. http://docbook.sourceforge.net/release/xsl-ns/current/fo/table.xsl: line 462: Attribute 'border-bottom-style' outside of element. http://docbook.sourceforge.net/release/xsl-ns/current/fo/index.xsl: line 352: Attribute 'rx:key' outside of element. ERROR: 'The first argument to the non-static Java function 'insertCallouts' is not a valid object reference.' FATAL ERROR: 'The first argument to the non-static Java function 'insertCallouts' is not a valid object reference.' дек 09, 2014 8:43:41 AM FOP startFOP SEVERE: Exception org.apache.fop.apps.FOPException: The first argument to the non-static Java function 'insertCallouts' is not a valid object reference. javax.xml.transform.TransformerConfigurationException: The first argument to the non-static Java function 'insertCallouts' is not a valid object reference. at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:303) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130) at org.apache.fop.cli.Main.startFOP(Main.java:177) at org.apache.fop.cli.Main.main(Main.java:207) Caused by: javax.xml.transform.TransformerConfigurationException: The first argument to the non-static Java function 'insertCallouts' is not a valid object reference. at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:991) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:764) at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:281) ... 3 more
javax.xml.transform.TransformerConfigurationException: The first argument to the non-static Java function 'insertCallouts' is not a valid object reference. at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:991) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:764) at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:281) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130) at org.apache.fop.cli.Main.startFOP(Main.java:177) at org.apache.fop.cli.Main.main(Main.java:207)
Буду признателен, если подскажте, как поступить с этой ошибкой.
-
А вот это уже сложнее, какие-то внутренние ошибки Java. Наши версии:
$ fop -version FOP Version 1.1 $ java -version java version "1.7.0_65" OpenJDK Runtime Environment (IcedTea 2.5.1) (7u65-2.5.1-5~deb7u1) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
-
reporter $ fop -v FOP Version SVN tags/fop-1_1 $ java -version java version "1.7.0_71" OpenJDK Runtime Environment (fedora-2.5.3.0.fc20-x86_64 u71-b14) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
-
reporter Следующие команды выводят pdf
xsltproc ~/git/espd-docbook5/espd/espd.xsl \-param espd.decimal '12345678' book.xml > pz.fo fop -fo pz.fo -pdf pz.pdf
выглядит правильно, но русский язык так и не понимает.
команда
xsltproc ~/git/espd-docbook5/espd/espd.xsl \-param espd.decimal '12345678' \-param body.font.family 'Liberation Sans' \-param title.font.family 'Liberation Sans' \-param monospace.font.family 'Liberation Mono,Anonymous Pro' \-param symbol.font.family 'OpenSymboOpenSymbol' book.xml > pz2.fo
выдает ошибку
warning: failed to load external entity "-param" unable to parse -param warning: failed to load external entity "espd.decimal" unable to parse espd.decimal warning: failed to load external entity "12345678" unable to parse 12345678 warning: failed to load external entity "-param" unable to parse -param warning: failed to load external entity "body.font.family" unable to parse body.font.family warning: failed to load external entity "Liberation Sans" unable to parse Liberation Sans warning: failed to load external entity "-param" unable to parse -param warning: failed to load external entity "title.font.family" unable to parse title.font.family warning: failed to load external entity "Liberation Sans" unable to parse Liberation Sans warning: failed to load external entity "-param" unable to parse -param warning: failed to load external entity "monospace.font.family" unable to parse monospace.font.family warning: failed to load external entity "Liberation Mono,Anonymous Pro" unable to parse Liberation Mono,Anonymous Pro warning: failed to load external entity "-param" unable to parse -param warning: failed to load external entity "symbol.font.family" unable to parse symbol.font.family warning: failed to load external entity "OpenSymboOpenSymbol" unable to parse OpenSymboOpenSymbol XPath error : Invalid expression Liberation Sans ^ runtime error Evaluating user parameter body.font.family failed
Вам случайно не известен способ задать шрифты в xsltproc ?
-
У xsltproc вместо -param — --param.
Но лучше воспользоваться своим xsl файлом, пример лежит в репе (sample.xsl).
-
Проблемы решились?
-
reporter Добрый день. К сожалению остались проблемы с русским языком. Fop на прямую не срабатывает. Зато xsltpoc ошибок не выдает. Пока завален работой, возможно продолжу эксперименты попозже. Спасибо!
-
reporter Добрый день!
На сборке под Mint выполнение преобразований через xsltproc, а затем через fop выдает файл без русских шрифтов. Однако, если собрать файл пояснительной записки используя make (находясь в каталоге шаблоны), то pdf получается нормальный. Считаю, что проблема решена (если вообще была).
С уважением, Юрий
- Log in to comment
Я тут подумал, что это возможно происходит из-за незаполненных данных по авторам (см. раздел "Лист утверждения и титульный лист") в описании. В любом случае это ошибка, к следующей версии исправлю.
Если вместо русских букв решетки - значит что-то со шрифтом (либо не установлен, либо не найден). Шрифты можно задать из командной строки: