gpt4 book ai didi

java - 如何使用 PDFBox 从 PDF 中删除特定图像

转载 作者:行者123 更新时间:2023-12-02 02:25:55 26 4
gpt4 key购买 nike

我需要根据元数据从 PDF 文件中删除特定图像。可悲的是。我在互联网上找到的所有示例都使用废弃的方法。

我这样写:

try (PDDocument doc = PDDocument.load(new ByteArrayInputStream(pdf))) {
doc.getPages().forEach(page ->
{
PDResources resources = page.getResources();
List<COSName> itemsToRemove = new ArrayList<>();

resources.getXObjectNames().forEach(propertyName -> {
if(!resources.isImageXObject(propertyName)) {
return;
}
PDXObject pdxObject = resources.getXObject(propertyName);
PDImageXObject pdImageXObject = (PDImageXObject)pdxObject;
PDMetadata metadata = pdImageXObject.getMetadata();
if(checkMetadata(metadata)){
// What should I use here?
page.getCOSObject().removeItem(propertyName);
}
});
// Should I use page.setResources(resources); ?
});
doc.save(baos);
} catch (Exception e) {
//Code here

}

最佳答案

它的工作方式与示例中的RemoveAllText.java相同,只是使用不同的标签。

使用此示例中的代码,只需使用“Do”而不是“Tj”。

当然,如果您需要加载元数据等,您应该枚举并检查抛出页面资源的图像(如我的示例)

关于java - 如何使用 PDFBox 从 PDF 中删除特定图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47757971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com