-
Java 复制PDF文档的2种方法
本文将介绍通过Java程序来复制PDF页面,包括:
- 跨文档复制,即从文档1复制到文档2
- 在同一文档内复制,即从页面A复制到页面B
使用工具:Free Spire.PDF for Java (免费版)
Jar文件获取及导入方法:
方法1:可通过官网下载jar https://www.cnblogs.com/Yesi/p/11344848.html文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入到Java程序。参考如下导入效果:(这里程序将jar文件分别导入了两个module)
方法2:可通过maven仓库安装导入。
Java代码示例
【示例1】跨文档复制
import com.spire.pdf.*; import com.spire.pdf.graphics.PdfMargins; import com.spire.pdf.graphics.PdfTemplate; import java.awt.*; import java.awt.geom.Dimension2D; public class Copy1 { public static void main(String[]args){ //加载两个PDF文档 PdfDocument pdf1 = new PdfDocument("test1.pdf"); PdfDocument pdf2 = new PdfDocument("test2.pdf"); //获取pdf1的第一页,并根据页面创建模板 PdfPageBase page = pdf1.getPages().get(0); Dimension2D size = page.getSize(); PdfTemplate template = page.createTemplate(); //在pdf2中第一页插入从复制的pdf1中绘制的模板 pdf2.getPages().insert(0,size,new PdfMargins(0,0)); pdf2.getPages().get(0).getCanvas().drawTemplate(template,new Point(0,0)); //保存pdf2 pdf2.saveToFile("result.pdf",FileFormat.PDF); pdf2.dispose(); } }
跨文档复制效果:
【示例2】在同一个文档内复制
import com.spire.pdf.*; import com.spire.pdf.graphics.PdfMargins; import com.spire.pdf.graphics.PdfTemplate; import java.awt.*; import java.awt.geom.Dimension2D; public class Copy2 { public static void main(String[]args){ //加载测试文档 PdfDocument pdf = new PdfDocument("test1.pdf"); //获取第一页,并将于页面创建模板 PdfPageBase page = pdf.getPages().get(0); Dimension2D size = page.getSize(); PdfTemplate template = page.createTemplate(); //在文档末循环添加两张绘制好的页面模板 for(int i=0; i<2; i++){ page = pdf.getPages().add(size, new PdfMargins(0)); page.getCanvas().drawTemplate(template, new Point(0, 0)); } //在第一页插入一张绘制好的页面模板 pdf.getPages().insert(0,size,new PdfMargins(0,0)); pdf.getPages().get(0).getCanvas().drawTemplate(template,new Point(0,0)); //保存文档 pdf.saveToFile("result1.pdf",FileFormat.PDF); } }
复制效果:
出 处:https://www.cnblogs.com/Yesi/p/11344848.html
最新更新
带有参数的装饰器
类装饰器
django中的auth模块与admin后台管理
python的日期处理
字符串常用方法
基本数据类型概述
python-map()函数基本用法
python带你实现任意下载AcFun视频数据~
bbs项目之注册功能
变量的定义和使用
三大常用数据库事务详解之三:事务运行
三大常用关系型数据库事务详解之二:基
三大关系型数据库事务详解之一:基本概
MongoDB常用命令(2)
MongoDB基本介绍与安装(1)
SQLServer触发器调用JavaWeb接口
SQL Server索引的原理深入解析
SqlServer2016模糊匹配的三种方式及效率问题
SQL中Truncate的用法
sqlserver 多表关联时在where语句中慎用tri
VB.NET中如何快速访问注册表
ASP.NET中图象处理过程详解
Vue(1)Vue安装与使用
JavaScript 语言入门
js将一段字符串的首字母转成大写
纯原生html编写的h5视频播放器
H5仿原生app短信验证码vue2.0组件附源码地
TypeScript(4)接口
TypeScript(3)基础类型
TypeScript(2)WebStorm自动编译TypeScript配置