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();
    }

}

附件删除效果:


 

相关文档:Java 添加附件到PDF

(本文完)

猜你喜欢

转载自www.iteye.com/blog/miaonly-2443404
今日推荐