2010-04-21 9 views
3

안녕하세요 아파치 웁으로 작업하고 있었고 페이지 수가 130 페이지를 초과하면 PDF 파일을 생성 할 수 없었습니다 .... 페이지 번호 또는 XML 파일의 길이에 제한이 있습니까?아파치가 생성 할 수있는 최대 페이지 수는 얼마입니까?

java.io.BufferedReader의
에서
Exception in thread "main" java.lang.OutOfMemoryError: Java heap 

공백 . java.io.BufferedReader의시 (BufferedReader.java:80) . (BufferedReader.java:91)에서 org.apache.xml.dtm.ObjectFactory.findJarServiceProviderName ObjectFactory.lookUpFactoryClassName (ObjectFactory)에서 51,515,된 .java : 373) org.apache.xml.dtm.ObjectFactory.lookUpFactoryClass (ObjectFactory.jav (A)에서 : org.apache.xml.dtm.ObjectFactory.createObject (ObjectFactory.java:131에서 206) )

 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 파일 크기에 엄격한 제한이 있다고 생각하지 않습니다. 어떤 종류의 예외 (메모리 부족)가 있었을 가능성이 큽니다. 생성 된 로그 및/또는 예외를 공유하고 프로세스를 호출하는 방법을 알려 주시면 도움이됩니다. –

+0

로그를 여기에 추가했습니다 – Thunder

+0

웹 응용 프로그램 설정과 콘솔 (junit) 설정에서 아무 문제없이 400 페이지를 초과하는 FOP를 사용하여 PDF 보고서를 생성했습니다. – tmeisenh

답변

3

수십만 줄 길이의 xml로 만든 보고서를 만들었습니다. 그러나 나는 svg로 채워진 작은 보고서를 작성하는 데 몇 가지 문제점을 가지고있다.

Java가 기본적으로 32MB의 메모리 만 할당한다는 것입니다 (올바르게 호출 한 경우). 메모리가 부족합니다. fop.bat 파일에서

큰 보고서가 충분한 메모리를 얻을 수 있도록, 다음과 같은 설정

렘 증가 표준 Java VM 힙 크기를 추가 (Windows에서 실행중인 assumimg) 세트 JAVAOPTS = -Xmx512M

"의 JAVACMD %의 %"를 다음과 같이

및 실행 라인을 변경 JAVAOPTS % % % % % LOGCHOICE LOGLEVEL % -cp "%의 LOCALCLASSPATH %의"org.apache.fop.cli.Main % FOP_CMD_LINE_ARGS %

0.95 이상으로 작동해야합니다.

+0

또는 Java 응용 프로그램에서 시작하는 경우 시작시 명령 프롬프트에이를 단순히 추가하면 – Crocked

관련 문제