AH Formatter / XSL Formatter
Q&A



プログラミング

Java プログラミング

• トップ
• 基本・一般
• AH Formatter について
• XSL Formatter について
• 操作方法
• プログラミング
• XSLT/XSL-FO/SVG/MathML 仕様について
• XSLT/XSL-FO/MathML テクニック
• 索引
Q.  JavaVM+Tomcatの環境でXSLFormatterのJavaインタフェースを使って組版した時に、エラーが発生することがあります。 [No.2008022001]
A. 

XSL FormatterのJavaサンプルプログラムのsample5.javaでは以下のようになっていました。

TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer(new StreamSource(fisXsl));
transformer.transform(new StreamSource(fisXml), new StreamResult(bosFo));
bisFo = new ByteArrayInputStream(bosFo.toByteArray());				
axfo.render(bisFo, fosPdf, "@PDF");
			

toByteArray()メソッドは、FOデータをbyte配列でメモリ上に展開します。したがって、大きなサイズのFOデータを組版する場合にメモリ不足が発生し、予期せぬエラーが起こる場合があります。toByteArray()メソッドを使用せず、FOを一時ファイルに保存する方法に変更するとこの問題が解消される可能性があります。

XSL Formatter V4.2 改訂5版以降のsample5.javaはこの方法に変更されております。


Copyright © 1999-2011 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.