2010-04-21 2 views
3

Привет, я работал с apache fop, и когда количество страниц превышает около 130 страниц, оно не могло бы генерировать pdf. Есть ли ограничение на номер страницы или длину файла xml ...Какое максимальное количество страниц может генерировать apache fop?

Exception in thread "main" java.lang.OutOfMemoryError: Java heap 

пространство на java.io.BufferedReader. (BufferedReader.java:80) на java.io.BufferedReader. (BufferedReader.java:91) в org.apache.xml.dtm.ObjectFactory.findJarServiceProviderName (ObjectFac tory.java:579) at org.apache.xml.dtm.ObjectFactory.lookUpFactoryClassName (ObjectFactory).java: 373) в org.apache.xml.dtm.ObjectFactory.lookUpFactoryClass (ObjectFactory.jav в: 206) в org.apache.xml.dtm.ObjectFactory.createObject (ObjectFactory.java:131)

 at org.apache.xml.dtm.ObjectFactory.createObject(ObjectFactory.java:101) 

     at org.apache.xml.dtm.DTMManager.newInstance(DTMManager.java:135) 
     at org.apache.xpath.XPathContext.reset(XPathContext.java:350) 
     at org.apache.xalan.transformer.TransformerImpl.reset(TransformerImpl.ja 
va:505) 
     at org.apache.xalan.transformer.TransformerImpl.transformNode(Transforme 
rImpl.java:1436) 
     at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImp 
l.java:709) 
     at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImp 
l.java:1284) 
     at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImp 
l.java:1262) 
     at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:214) 
     at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125) 
     at org.apache.fop.cli.Main.startFOP(Main.java:166) 
     at org.apache.fop.cli.Main.main(Main.java:197) 
+0

Я не верю, что существует жесткий предел количества страниц или размера файла XML. Вполне вероятно, что было какое-то исключение (Out Of Memory). Было бы полезно, если бы вы могли делиться журналами и/или исключениями, которые могли быть созданы, и сообщить нам, как вы вызываете этот процесс. –

+0

Я добавил журнал здесь – Thunder

+0

Я создал отчеты PDF с использованием FOP, которые превышают 400 страниц без каких-либо проблем в настройках веб-приложения и в настройке консоли (junit). – tmeisenh

ответ

3

Я создал отчеты, сделанные из xmls длиной несколько сотен тысяч строк. Однако у меня возникли проблемы с созданием небольших отчетов, заполненных svg.

Возможно, проблема связана с тем, что java по умолчанию выделяет только 32 МБ памяти (если я правильно помню), поэтому у нее заканчивается память.

В файле fop.bat (assumimg вы работаете на окнах) добавить следующие настройки

бэр Увеличение стандартной Java VM размер кучи, так что большие отчеты получить достаточно памяти набор JAVAOPTS = -Xmx512m

и изменить линию исполнения следующим

"% JAVACMD%" % JAVAOPTS%%%% LOGCHOICE LOGLEVEL% -cp "% LOCALCLASSPATH%" org.apache.fop.cli.Main% FOP_CMD_LINE_ARGS%

Это должно работать с 0,95 как минимум

+0

Или если запуск из приложения Java просто добавьте его в командную строку при запуске – Crocked

 Смежные вопросы

  • Нет связанных вопросов^_^