使用https资源生成pdf(带飞碟/itext)

gudnpqoy  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(384)

我想用外部资源(jpg,css)从html创建pdf。
以下是用于生成pdf文件对象的代码,包括飞碟和itext:

ITextRenderer iTextRenderer = new ITextRenderer();
iTextRenderer.setDocumentFromString(xhtmlString);
iTextRenderer.layout();

File file = new File("test.pdf");
FileOutputStream os = new FileOutputStream(file);
iTextRenderer.createPDF(os);
os.close();

不幸的是,所有与https链接的资源都被忽略了,而http资源工作得很好。
编辑:
我扩展了iTextureAgent以拦截https调用资源,出现以下错误:
sun.security.provider.certpath.suncertpathbuilderexception:找不到请求目标的有效证书路径
所以我需要一个证书来获取这些https资源。
这里的问题和我完全一样。

w51jfk4q

w51jfk4q1#

这里是一个链接,指向从https服务器加载数据的java本机方式。
现在,您使用的是flying-discer的xml解析实现,它的文档中似乎没有太多的https支持。我将使用上述解决方法,然后将dom直接传递给渲染器。

相关问题