【发布时间】:2017-08-21 14:54:28
【问题描述】:
我目前正在尝试用 Java 开发一个转换器,它将 HTML 文件转换为 PDF 文件并找到 this site。在第一页和第二页的底部有代码示例,说明如何使用第 1 页命名的库(JTidy、Xalan、FOP)来实现这样的程序。
我在 Spring Tool Suite 中创建了一个新的 Maven 项目,并将库依赖项添加到我的 pom.xml 中。我已经将代码部分复制到这个新创建的测试程序中,看看它是否有效。一切都很好,直到最后一个代码部分。
public static byte[] fo2PDF(Document foDocument) {
DocumentInputSource fopInputSource = new DocumentInputSource(
foDocument);
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
Logger log = new ConsoleLogger(ConsoleLogger.LEVEL_WARN);
Driver driver = new Driver(fopInputSource, out);
driver.setLogger(log);
driver.setRenderer(Driver.RENDER_PDF);
driver.run();
return out.toByteArray();
} catch (Exception ex) {
return null;
}
}
最初,当光标在 DocumentInputSource 上移动时,Spring 会显示此消息
DocumentInputSource 无法解析为类型
并且没有像 Maven 通常提供的那样添加特定库的选项。
我尝试了不同的方法,例如将代码放在类的不同范围内,为它创建一个自己的类,我尝试使用另一个 IDE,但我怀疑这些错误是否能解决事情,好吧,这显然没有帮助。
我读到 FOP 库是在 Apache 许可证版本 2.0 下获得许可的,并在我的项目底部添加了该许可证,只是为了确保它不会造成任何麻烦,尽管我没想到会再次成功。
此外,我尝试添加另一个库,我读到它对于转换是必要的,但在我开始链接的文章中没有提及。库是 dom4j。
现在,当我查看 DocumentInputSource 时,Spring 告诉我:
DocumentInputSource 类型不可见
这对我来说毫无意义,因为它只是我班级中的一个“普通方法”,正如你所见,我已经将修饰符从私有更改为公共,以确保它是可见的。
我觉得我忽略了一些非常简单/基本的东西,如果能提供任何帮助,我将不胜感激。感谢您抽出宝贵时间阅读本文。
PS:这是我在 Stack Overflow 上的第一篇文章,我对编程有点陌生。如果有任何缺失的信息;请告诉我。
【问题讨论】:
标签: java html maven pdf converter