网站首页 > java教程 正文
操作PDF文档时,我们通常会需要添加、删除或旋转一些PDF页面。本文就将通过使用Java程序来详细介绍如何在PDF文档中添加、删除和旋转页面。
使用工具:Free Spire.PDF for Java(免费版)
Jar文件获取及导入:
方法1:通过E-iceblue中文官网下载获取jar包。解压后将lib文件夹下的Spire.Pdf.jar文件导入Java程序。(如下图)
方法2:通过maven仓库安装导入。具体安装详解参见E-iceblue中文官网。
【示例1】添加新页面
import com.spire.pdf.*;
import java.awt.*;
import com.spire.pdf.graphics.*;
import java.awt.geom.Rectangle2D;
public class AddPage {
public static void main(String[] args) {
//创建PdfDocument对象并加载示例文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");
//添加新页面
PdfPageBase page = pdf.getPages().add();
//创建TrueType字体对象
PdfTrueTypeFont font= new PdfTrueTypeFont(new Font("Arial Unicode MS",Font.PLAIN,14),true);
//设置字体格式、大小
PdfRGBColor blue = new PdfRGBColor();
blue.setB((byte) 255);
PdfSolidBrush brush = new PdfSolidBrush(blue);
Rectangle2D.Float rctg1 = new Rectangle2D.Float();
rctg1.setRect(0,70,page.getCanvas().getClientSize().getWidth() / 2,100);
//绘制文字
page.getCanvas().drawString("新添加页面", font, brush, rctg1);
//保存文档
pdf.saveToFile("output/添加页面.pdf");
}
}
添加效果:
【示例2】删除页面
import com.spire.pdf.*;
public class DeletePage {
public static void main(String[] args) {
//创建PdfDocument对象并加载示例文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\添加页面.pdf");
//删除第二页
pdf.getPages().removeAt(1);
//保存文档
pdf.saveToFile("output/删除页面.pdf");
}
}
删除效果:
【示例3】旋转页面
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.PdfPageRotateAngle;
public class RotatePage {
public static void main(String[] args) {
//加载PDF文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");
//获取第一页
PdfPageBase page = pdf.getPages().get(0);
//获取第一页当前的旋转角度
int rotateAngle = page.getRotation().getValue();
//在当前旋转角度的基础上,将第一页顺时针旋转90度(可选0/90/180/270度)
rotateAngle += PdfPageRotateAngle.Rotate_Angle_90.getValue();
page.setRotation((PdfPageRotateAngle.fromValue(rotateAngle)));
//保存文档
pdf.saveToFile("output/Rotated.pdf");
}
}
旋转效果:
(本文完)
猜你喜欢
- 2024-09-30 SQL SERVER 清理日志文件的方法(sql server怎么清除日志)
- 2024-09-30 如何使用 Java 在 PDF 文档中添加、删除或旋转页面
- 2024-09-30 夯实基础:完全理解掌握Java文件类File
- 2024-09-30 Java基础——IO流(10)(java基础)
- 2024-09-30 Java编程思想:清除一收尾和垃圾收集
- 2024-09-30 Java教程Java 文件 IO 操作(java io写文件)
- 2024-09-30 近2万字详解JAVA NIO2文件操作,过瘾
- 2024-09-30 JAVA运维必备——linux的基本常见命令,也是“装逼”命令
- 2024-09-30 Java中常用IO流之文件流的基本使用姿势
- 2024-09-30 Java平台的海量小文件分布式文件系统BRFS-全套源码+文档
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)