当我有一个包含使用https对图像的引用的.fo文档时,该文档无法渲染,并且在fop输出中出现错误。例如:
<?xml version="1.0" encoding="utf-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master page-width="8.5in" page-height="11in" master-name="BodyPage">
<fo:region-body margin-top=".5in" margin-right=".5in" margin-bottom=".5in" margin-left=".5in"/>
<fo:region-before region-name="header" extent=".5in" display-align="after"/>
<fo:region-after region-name="footer" extent=".5in" display-align="before"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="BodyPage">
<fo:flow flow-name="xsl-region-body">
<fo:block space-before="1pc">
<fo:external-graphic src="url(https://ichef.bbci.co.uk/images/ic/960x540/p01br4cp.jpg)" overflow="hidden" content-width="scale-to-fit" content-height="scale-to-fit" width="100%" scaling="uniform"/>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
产生此错误:
SEVERE: Image not found. URI: https://ichef.bbci.co.uk/images/ic/960x540/p01br4cp.jpg. (See position 13:202)
但是简单地将URL修改为http就可以了。这不是网络问题,因为https url上的curl可以正常工作(通过TLS 1.2)。如何获取安全资源以将其加载到PDF中?
答案 0 :(得分:0)
啊哈!我的命令行包含-Djava.ext.dirs =,它可以打破SSL设置中的RSA步骤(请参见RSA Premaster secret error)。使用-Dfop.home =不会导致此问题。