`
高级java工程师
  • 浏览: 410390 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

}


附件删除效果:



  • 大小: 37.9 KB
  • 大小: 217.8 KB
分享到:
评论

相关推荐

    Android系统下处理PDF文档的Java库-Spire.PDF for Android via Java_2.11.0.zip

    支持的功能如下: PDF 文档安全性设置,画文本、图片、形状、条形码到 PDF,提取 PDF 中的文本/图片,高亮/替换 PDF 文本,合并和拆分 PDF,创建和填充表单,添加页眉页脚到 PDF,添加或删除层,重叠 PDF 页面,添加...

    Java数组_附件.pdf

    Java 数组附件笔记 Java 数组是 Java programming language 中的一种基本数据类型,用于存储同类型的多个值。数组是一种引用数据类型,数组变量存储的是数组的内存地址,而不是数组的实际内容。 在 Java 中,数组...

    免费Android系统处理PDF文本的Java类库工具-Free Spire.PDF for Android via Java-2.12.0.zip

    支持的功能如下: PDF 文档安全性设置,画文本、图片、形状、条形码到 PDF,提取 PDF 中的文本/图片,高亮/替换 PDF 文本,合并和拆分 PDF,创建和填充表单,添加页眉页脚到 PDF,添加或删除层,重叠 PDF 页面,添加...

    java Word 转 PDF格式(csdn)————程序.pdf

    在Java开发中,有时我们需要将Word文档转换成PDF格式,以满足不同的应用场景或兼容性需求。本文将介绍如何使用Spire.Doc库进行转换,并解决其中的版权问题。 首先,为了在Java项目中使用Spire.Doc库,我们需要在...

    PDF文件JAVA去水印源码-homebrew-pdftk:(未维护)PDFtk服务器的自制公式

    PDF文件JAVA去水印源码PDFtk 服务器的自制公式 这是一个 PDF 工具包版本的公式。 注意! 此项目不再维护。 PDFtk 的作者尚未发布新的源代码分发版。 最新的源代码版本 (2.02) 不适用于 Mac OS X 10.11 (El Capitan) ...

    aspose-pdf-cloud-java:用于与Aspose.Pdf for Cloud API通信的Java库

    Java REST API可在云端处理PDF 是真正的REST API,可让您执行各种文档处理操作,包括... 处理PDF附件,注释和表单字段。 对PDF文档应用加密或解密并设置密码。 从页面或整个PDF文档中删除所有图章和表格。 通过其ID

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第一部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...

    用JAVA实现博客系统的设计.pdf

    - 可以上传图片和其他媒体文件作为文章附件。 - 提供搜索功能,便于查找特定文章。 #### 评论管理模块设计 - 用户可在文章下方发表评论,并查看其他用户的评论。 - 支持评论的删除和编辑功能。 - 管理员有权审核和...

    java文件上传、删除、下载的通用方法总结.pdf

    Java文件上传、删除和下载是Web开发中常见的操作,尤其在使用Struts2框架时。以下是对这些功能的详细说明: ### 文件上传 在Java Web应用中,文件上传通常涉及前端HTML表单和后端Action类。在Struts2框架中,我们...

    编程语言Java开源WebMail.pdf

    JavaMail API提供了IMAP和POP3等邮件协议的支持,使得开发者可以方便地在Java应用中集成邮件功能。 3. IMAP和POP3 IMAP(Internet Message Access Protocol)和POP3(Post Office Protocol)是邮件服务中常用的两个...

    aspose工具包,用于java编程

    2. **Aspose.PDF**:此模块用于处理PDF文档,允许你创建新的PDF,读取和编辑现有PDF,合并PDF,添加水印,提取或删除页面,以及进行复杂的表单处理。 3. **Aspose.Cells**:这个组件专注于处理电子表格,支持Excel...

    Java.mail开发包

    8. **附件处理**:轻松添加或提取邮件中的附件,支持多种文件格式,如.doc、.pdf、.jpg等。 9. **国际化与本地化**:Java Mail 支持多语言环境,可以根据用户的地区设置显示合适的字符集和日期格式。 10. **与其他...

    java开源包6

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包9

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包101

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包4

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    7.7、JavaBean的删除 7.8、实例操作:注册验证 7.9、DAO设计模式 7.9.1、DAO设计模式简介 7.9.2、DAO开发 7.9.3、JSP调用DAO 7.10、本章摘要 7.11、开发实战讲解(基于Oracle数据库) 第8章 文件上传 8.1、...

    java开源包5

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包8

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

Global site tag (gtag.js) - Google Analytics