1
我已阅读所有类似的问题和答案,我仍然卡住旧版本的旧问题。替换PDImageXObject与另一个PDFBOX 2.0.3
我想用外部图像替换给定PDF中的所有图像。
这是我迄今所做的:
for(int a=0;a<doc.getNumberOfPages().size();a++){
PDPage p = doc.getPage(a);
PDResources resources = p.getResources();
for (COSName xObjectName : resources.getXObjectNames()) {
PDXObject xObject = resources.getXObject(xObjectName);
if (xObject instanceof PDImageXObject) {
PDImageXObject original_img = ((PDImageXObject) xObject);
PDImageXObject replacement_img = PDImageXObject.createFromFile(f.getImages().get(a), doc);
}
}
}
所以,我有2个PDImageXObjects名original_img和replacement_img。 Replacement_img必须覆盖original_img。
在实例化replacement_img后,您是否尝试*替换*,即类似'resources.put(xObjectName,replacement_img)'? – mkl
是的,我忘了。有用。谢谢@mkl – GrayFox
好的,我会做出一个实际的答案。 – mkl