这是PDF@R_711_2419@ 2.0.2中的一个已知错误。拆分在2.0.1中工作正常,在2.0.3中又可以工作。“错误的”代码已经恢复。问题的原因在这里讨论。长话短说:2.0.2版在每个源页面上进行了深层克隆,从而导致资源重复。
static public PDPage importPageFixed(PDDocument document, PDPage page) throws IOException
{
PDPage importedPage = new PDPage(new COSDictionary(page.getCOSObject()), document.getResourceCache());
InputStream in = null;
try
{
in = page.getContents();
if (in != null)
{
PDStream dest = new PDStream(document, in, COSName.FLATE_DECODE);
importedPage.setContents(dest);
}
document.addPage(importedPage);
}
catch (IOException e)
{
IoUtils.closeQuietly(in);
}
return importedPage;
}