关于Apache FOP的转换程序不能通过,请高手看看。

squirrel_1976 2002-12-26 03:35:49
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.sax.*;
import javax.xml.parsers.*;
import javax.xml.transform.stream.StreamSource;
import org.apache.fop.apps.*;
import org.xml.sax.*;

public class XML2PDF {
public static File xml = new File("D:\\ATML_Q1_2000.xml");
public static File xslt = new File("D:\\XBRL.xslt");

public XML2PDF() {
}

public static void main(String[] args) {
try {
Driver driver = new Driver();
XSLTInputHandler input = new XSLTInputHandler(xml, xslt);

FileOutputStream os = new FileOutputStream("D:\\sample.pdf");
driver.setOutputStream(os);
driver.setRenderer(Driver.RENDER_PDF);

driver.render(input.getParser(), input.getInputSource());
}catch (Exception e) {
e.printStackTrace();
}
}
}

程序如上,这是一个教程式的程序啦。但我运行(fop 0.20.4)时报错:
[ERROR] Unknown formatting object ^html
java.lang.RuntimeException: java.lang.NullPointerException
at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3170)
at org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:433)
at org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager$EntityScanner.load(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager$EntityScanner.skipSpaces(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:134)
at org.apache.fop.apps.Driver.render(Driver.java:457)
at com.megasoft.xbrl.demo.consumer.XML2PDF.main(XML2PDF.java:45)

请问是何缘故?而换用0.20.5版本后又错的不一样。
...全文
117 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
Batik是使用svg格式图片来实现各种功能的应用程序以及Applet提供的一个基于java的工具包。 通过Batik,你可以在JAVA可以使用的地方操作SVG文档,您还可以在你的应用程序使用Batik模块来生成 , 处理和转码SVG图像。Batik很容易让基于Java的应用程序或小程序来处理SVG内容。 例如,使用Batik的SVG的发生器模块 ,Java应用程序或小程序可以很轻松地导出SVG格式的图形到。 用Batik的SVG的查看组件 ,应用程序或小程序可以很容易地集成SVG的浏览和交互功能。 另一种可能性是使用Batik的模块转换成各种格式SVG的通过,如光栅图像(JPEG,PNG或TIFF格式 )或其它矢量格式(EPS或PDF格式 ,后两者由于转码器由Apache FOP提供 )。 Batik工程创建的目的是为开发者提供一系列可以结合或单独使用来支持特殊的svg解决方案的核心模块。模块主要有SVGParser,SVGGernerator,SVGDOM。Batik工程的其他目的是使它具有高度的扩展性。 从之前发布其他chm文件下载用户的反映看,有不少朋友反映下载后打开无法显示,这一般不是chm文件的问题,这里统一说明一下解决办法: 如果文件打开看不到右边的内容,是因为你的操作系统为了安全对下载的chm文件进行了锁定,只需要在打开前右键单击该chm文件选择“属性”,然后在“常规”选项卡的下方单击“解除锁定”按钮就可以了。如果还是不能看,再查看一下你的chm文件所存储的目录或文件名是否有特殊字符如“#”号字符等,去掉特殊字符即可。

8,909

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧