java删除PDF中的附件
程序员文章站
2022-06-15 17:12:57
...
在PDF中添加附件,可分两种情况,一种是直接把文档作为附件插入到PDF,一种是注释附件,即将文档通过注释的形式插入到PDF页面中的指定位置,通过点击注释,即可打开注释中的附件文档。同样的,在我们删除PDF中的附件时,也可以从这两种情况来考虑,选择相应的删除方法。下面,将通过Java编程来演示如何从以上两种情况来删除PDF附件。
使用工具:
•Free Spire.PDF for Java (免费版)
•IntelliJ IDEA
Jar文件获取及导入:
方法1:可通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入到java程序。参考如下导入效果:
方法2:可通过maven仓库安装导入。
Java代码示例:
附件删除效果:
使用工具:
•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(); } }
附件删除效果: