Java 复制PDF文档的2种方法
程序员文章站
2024-01-07 13:12:16
本文将介绍通过Java程序来复制PDF页面,包括: 跨文档复制,即从文档1复制到文档2 在同一文档内复制,即从页面A复制到页面B 使用工具:Free Spire.PDF for Java (免费版) Jar文件获取及导入方法: 方法1:可通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下 ......
本文将介绍通过java程序来复制pdf页面,包括:
- 跨文档复制,即从文档1复制到文档2
- 在同一文档内复制,即从页面a复制到页面b
使用工具:free spire.pdf for java (免费版)
jar文件获取及导入方法:
方法1:可通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的spire.pdf.jar文件导入到java程序。参考如下导入效果:(这里程序将jar文件分别导入了两个module)
方法2:可通过仓库安装导入。
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); } }
复制效果:
(本文完)