【发布时间】:2016-06-26 03:30:55
【问题描述】:
我使用的 jar 来自 maven repo
我正在测试的代码来自以前的堆栈solution
我担心它可能已经过时了,因为这些库已经贬值了。测试以下代码时:
import java.io.ByteArrayInputStream;
import java.io.FileOutputStream;
import org.w3c.dom.Document;
import org.xhtmlrenderer.pdf.ITextRenderer;
public class test
{
public static void main(String[] args)
{
ITextRenderer renderer = new ITextRenderer();
// if you have html source in hand, use it to generate document object
renderer.setDocumentFromString( "C:/Users/Goran/Documents/Documents/Development/workspace/FlyingSaucer/data/input/report.xhtml" );
renderer.layout();
String fileNameWithPath = "C:/Users/Goran/Documents/Documents/Development/workspace/FlyingSaucer/data/output/" + "PDF-FromHtmlString.pdf";
FileOutputStream fos = new FileOutputStream( fileNameWithPath );
renderer.createPDF( fos );
fos.close();
System.out.println( "File 2: '" + fileNameWithPath + "' created." );
}
}
这行我有以下错误:renderer.createPDF( fos );
The type com.lowagie.text.DocumentException cannot be resolved. It is indirectly referenced from required .class files
任何人都能够对此有所了解,或者建议在java中创建pdf文档的最佳方法?我有可用的 XML 和 XHTML 文档。
编辑当我从repo添加com.lowagie.text 库时
Exception in thread "main" java.lang.NoClassDefFoundError: org/xhtmlrenderer/extend/UserAgentCallback
at test.main(test.java:16)
Caused by: java.lang.ClassNotFoundException: org.xhtmlrenderer.extend.UserAgentCallback
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
我是否使用了正确的库/最新的库?
拥有最新库或知道存储它们的存储库的人可以链接它们吗?
编辑 2 放弃了使用飞碟和建议使用 ApacheFop 的想法。当前错误是:
Mar 10, 2016 9:58:23 PM org.apache.fop.events.LoggingEventListener processEvent
WARNING: Font "Symbol,normal,700" not found. Substituting with "Symbol,normal,400".
Mar 10, 2016 9:58:23 PM org.apache.fop.events.LoggingEventListener processEvent
WARNING: Font "ZapfDingbats,normal,700" not found. Substituting with "ZapfDingbats,normal,400".
Mar 10, 2016 9:58:23 PM org.apache.fop.events.LoggingEventListener processEvent
INFO: Rendered page #1.
【问题讨论】:
-
您需要找到包含
com.lowagie.text.DocumentException的jar 并将其添加到您的类路径中 -
@Scary Wombat 我也试过了,但会引发不同的错误。有很多版本的库,没有指南,我不确定要使用哪个:(
-
是的,冲洗并重复
org/xhtmlrenderer/extend/UserAgentCallback -
@Scary Wombat 当它要求使用 2006 年和 2008 年的折旧库而不是 2015 年的库时,这无济于事。这些例子已经过时了:(
-
然后尝试使用 apacheFOP
标签: java itext flying-saucer apache-fop