首页 > 应用开发 > > Java 删除PDF中的附件
在PDF中添加附件,可分两种情况,一种是直接把文档作为附件插入到PDF,一种是注释附件,即将文档通过注释的形式插入到PDF页面中的指定位置,通过点击注释,即可打开注释中的附件文档。同样的,在我们删除PDF中的附件时,也可以从这两种情况来考虑,选择相应的删除方法。下面,将通过Java编程来演示如何从以上两种情况来删除PDF附件。
使用工具:
Free Spire.PDF for Java (免费版)
IntelliJ IDEA
Jar文件获取及导入:
方法1:可通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入到java程序。参考如下导入效果:

方法2:可通过maven仓库安装导入。
Java代码示例
import com.spire.pdf.*;
import com.spire.pdf.annotations.PdfAnnotation;
import com.spire.pdf.annotations.PdfAnnotationCollection;
import com.spire.pdf.annotations.PdfAttachmentAnnotationWidget;
import com.spire.pdf.attachments.PdfAttachmentCollection;
public class DeleteAttachments {
public static void main(String[]args){
//加载包含附件的PDF文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("sample.pdf");
//删除文档附件
//获取PDF中的附件
PdfAttachmentCollection attachment = pdf.getAttachments();
//删除所有附件
attachment.clear();
//删除指定附件
//attachment.removeAt(0);
//删除注释附件
//遍历PDF所有页面
for(int i = 0;i<pdf.getPages().getCount();i++){
//获取页面中的所有注释集合
PdfAnnotationCollection pdfAnnotationCollection = pdf.getPages().get(i).getAnnotationsWidget();
//遍历注释集合中的对象
for ( Object annotation: pdfAnnotationCollection){
//判断对象是否为附件集合
if(annotation instanceof PdfAttachmentAnnotationWidget) {
//删除注释
pdfAnnotationCollection.remove((PdfAnnotation) annotation);
}
}
}
//保存文档
pdf.saveToFile("删除附件.pdf",FileFormat.PDF);
pdf.dispose();
}
}附件删除效果:

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2872/viewspace-3127880/ ,如需转载,请注明出处,否则将追究法律责任。