热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java在PDF文档中添加或删除页面

当你编辑一个PDF文档时,有时需要删除文档中多余的页面或

Java在PDF文档中添加或删除页面

当你编辑一个PDF文档时,有时需要删除文档中多余的页面或向文档中添加新的页面
前言

当你编辑一个PDF文档时,有时需要删除文档中多余的页面或向文档中添加新的页面。本文将向您演示如何使用Spire.PDF for JavaPDF文档中添加或删除页面


 

程序环境

安装Spire.PDF for Java

首先,你需要在你的Java程序中添加Spire.Pdf.jar文件作为一个依赖项。该JAR文件可以从这个链接下载。如果你使用Maven则可以通过在pom.xml文件中添加以下代码轻松导入该JAR文件。

代码示例

 1 
 2     
 3         com.e-iceblue
 4         e-iceblue
 5         https://repo.e-iceblue.cn/repository/maven-public/
 6     
 7 
 8 
 9     
10         e-iceblue
11         spire.pdf
12         8.9.1
13     
14 

 

注意:请保持上面代码中的版本号与下载链接中的一致,以体验新功能或避免BUG。

 

添加空白页到PDF文档

步骤

  • 创建一个PdfDocument实例。
  • 使用PdfDocument.loadFromFile()方法加载一个样本PDF文档。
  • 创建一个新的空白页,并使用PdfDocument.getPages().insert(int index)方法将其插入到文档的一个特定位置。
  • 使用PdfDocument.getPages().add(java.awt.geom.Dimension2D size, PdfMargins margins)方法创建另一个具有指定尺寸和边距的新的空白页,然后将其追加到文档的末尾。
  • 使用PdfDocument.saveToFile()方法将文档保存到另一个文件。

代码示例

 1 import com.spire.pdf.*;
 2 import com.spire.pdf.graphics.PdfMargins;
 3 
 4 public class InsertEmptyPage {
 5     public static void main(String[] args) {
 6         //创建一个PdfDocument实例
 7         PdfDocument pdf = new PdfDocument();
 8 
 9         //加载一个样本PDF文档
10         pdf.loadFromFile("C:\Users\Test1\Desktop\sample.pdf");
11 
12         //将空白页插入文档作为第二页
13         pdf.getPages().insert(1);
14 
15         //添加一个空白页到文档末尾
16         pdf.getPages().add(PdfPageSize.A4, new PdfMargins(0, 0));
17 
18         //将文档保存到另一个文件
19         pdf.saveToFile("output/insertEmptyPage.pdf");
20         pdf.close();
21     }
22 }

效果图

 

 


 

删除PDF中现有的页面

步骤

  • 创建一个PdfDocument实例。
  • 使用PdfDocument.loadFromFile()方法加载一个样本PDF文档。
  • 使用PdfDocument.getPages().removeAt(int index)方法删除文档的一个特定页面。
  • 使用PdfDocument.saveToFile()方法将文档保存到另一个文件。

代码示例

 

 1 import com.spire.pdf.*;
 2 
 3 public class DeletePage {
 4     public static void main(String[] args) {
 5 
 6         //创建一个PdfDocument实例
 7         PdfDocument pdf = new PdfDocument();
 8 
 9         //加载一个样本PDF文档
10         pdf.loadFromFile("C:\Users\Test1\Desktop\sample.pdf");
11 
12         //删除文档的第二页
13         pdf.getPages().removeAt(1);
14 
15         //将文档保存到另一个文件
16         pdf.saveToFile("output/deletePage.pdf");
17         pdf.close();
18     }
19 }

 

效果图

 

 

 

---THE  END---


推荐阅读
  • 1、编写一个Java程序在屏幕上输出“你好!”。programmenameHelloworld.javapublicclassHelloworld{publicst ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 本文探讨了如何将Python对象转换为字节流,以实现文件保存、数据库存储或网络传输的需求。主要介绍了利用pickle模块进行序列化的具体方法。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 使用TabActivity实现Android顶部选项卡功能
    本文介绍如何通过继承TabActivity来创建Android应用中的顶部选项卡。通过简单的步骤,您可以轻松地添加多个选项卡,并实现基本的界面切换功能。 ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • Android与JUnit集成测试实践
    本文探讨了如何在Android项目中集成JUnit进行单元测试,并详细介绍了修改AndroidManifest.xml文件以支持测试的方法。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文介绍了一个使用Spring框架和Quartz调度器实现每周定时调用Web服务获取数据的小项目。通过详细配置Spring XML文件,展示了如何设置定时任务以及解决可能遇到的自动注入问题。 ... [详细]
  • 本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ... [详细]
  • 在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ... [详细]
  • 本文深入探讨了如何利用Maven高效管理项目中的外部依赖库。通过介绍Maven的官方依赖搜索地址(),详细讲解了依赖库的添加、版本管理和冲突解决等关键操作。此外,还提供了实用的配置示例和最佳实践,帮助开发者优化项目构建流程,提高开发效率。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
author-avatar
大佬銘銘銘銘銘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有