Quel est le nombre maximum de pages que apache fop peut générer?

Salut, je travaillais avec apache fop et quand le nombre de pages dépasse environ 130 pages, il ne pouvait pas générer le pdf …. Y at-il une limite au numéro de page ou à la longueur du fichier xml …

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

espace à java.io.BufferedReader. (BufferedReader.java:80) à java.io.BufferedReader. (BufferedReader.java:91) à org.apache.xml.dtm.ObjectFactory.findJarServiceProviderName (ObjectFac tory.java:579) à org.apache.xml.dtm.ObjectFactory.lookUpFactoryClassName (ObjectFactory .java: 373) at org.apache.xml.dtm.ObjectFactory.lookUpFactoryClass (ObjectFactory.jav a: 206) at 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) 

J’ai créé des rapports à partir de fichiers XML de plusieurs centaines de milliers de lignes. Cependant, j’ai eu quelques problèmes pour créer des rapports plus petits remplis de svgs.

Votre problème est probablement que java par défaut n’affecte que 32 Mo de mémoire (si ma mémoire est bonne), donc il manque de mémoire.

Dans le fichier fop.bat (en supposant que vous êtes en cours d’exécution sur Windows), ajoutez le paramètre suivant

rem Augmente la taille de segment de mémoire Java VM standard, de sorte que les rapports plus volumineux reçoivent suffisamment de mémoire. JAVAOPTS = -Xmx512M

et modifiez la ligne d’exécution comme suit

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

Cela devrait fonctionner avec 0.95 au moins