其主要功能实现合并两个pdf:

参考文献链接:https://blog.csdn.net/TOP__ONE/article/details/65637858

java动态生成pdf含表格table和 合并两个pdf文件功能。

如果对您有帮助 ,请多多支持.多少都是您的心意与支持,一分也是爱,再次感谢!!!打开支付宝首页搜“556723462”领红包,领到大红包的小伙伴赶紧使用哦!

支付宝赞赏:记得点击下面的余额宝,红包可能要大些。

注意:余额宝红包有效期三天(72小时) 在有效期内
余额宝红包使用完或过期才能有机会领取下个余额宝红包,感谢大家的支持!您的支持,我会继续分享更多的文章,欢迎关注!

思路如下:

一:创建maven项目,加入依赖

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.4.2</version></dependency><!--pdf itext 的jar依赖  --><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version></dependency>

二:具体实现代码如下:写的很清楚了:2个静态方法,第一个就是生成一个pdf方法,第二个是个合并的方法

package com.demo3;import java.io.FileOutputStream;import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfWriter;public class Test1 {public static void test1() {// 生成pdfBaseFont bf;Font font = null;try {bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);// 创建字体font = new Font(bf, 12);// 使用字体} catch (Exception e) {e.printStackTrace();}Document document = new Document();try {PdfWriter.getInstance(document, new FileOutputStream("D:\\pdfDemo\\66.pdf"));document.open();document.add(new Paragraph("就是测试下", font));// 引用字体document.add(new Paragraph("真的测试下", font));// 引用字体float[] widths = { 25f, 25f, 25f };// 设置表格的列宽和列数 默认是4列PdfPTable table = new PdfPTable(widths);// 建立一个pdf表格table.setSpacingBefore(20f);table.setWidthPercentage(100);// 设置表格宽度为100%PdfPCell cell = null;cell = new PdfPCell(new Paragraph("姓名", font));//cell.setBackgroundColor(BaseColor.LIGHT_GRAY);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph("性别", font));//cell.setBackgroundColor(BaseColor.LIGHT_GRAY);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph("身份证号", font));//cell.setBackgroundColor(BaseColor.LIGHT_GRAY);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);// 以下代码的作用是创建100行数据,其中每行有四列,列依次为 编号 姓名 性别 备注for (int i = 1; i <= 10; i++) {// 设置编号单元格PdfPCell cell11 = new PdfPCell(new Paragraph("aa名媛", font));PdfPCell cell22 = new PdfPCell(new Paragraph("bb女", font));PdfPCell cell33 = new PdfPCell(new Paragraph("cc花姑娘", font));// 单元格水平对齐方式cell11.setHorizontalAlignment(Element.ALIGN_CENTER);// 单元格垂直对齐方式cell11.setVerticalAlignment(Element.ALIGN_CENTER);cell22.setHorizontalAlignment(Element.ALIGN_CENTER);cell22.setVerticalAlignment(Element.ALIGN_CENTER);cell33.setHorizontalAlignment(Element.ALIGN_CENTER);cell33.setVerticalAlignment(Element.ALIGN_CENTER);table.addCell(cell11);table.addCell(cell22);table.addCell(cell33);}document.add(table);document.close();} catch (Exception e) {System.out.println("file create exception");}}// *********合并 pdfFilenames为文件路径数组,targetFileName为目标pdf路径public static void combinPdf(String[] pdfFilenames, String targetFilename) throws Exception {PdfReader reader = null;Document doc = new Document();PdfCopy pdfCopy = new PdfCopy(doc, new FileOutputStream(targetFilename));int pageCount = 0;doc.open();for (int i = 0; i < pdfFilenames.length; ++i) {System.out.println(pdfFilenames[i]);reader = new PdfReader(pdfFilenames[i]);pageCount = reader.getNumberOfPages();for (int j = 1; j <= pageCount; ++j) {pdfCopy.addPage(pdfCopy.getImportedPage(reader, j));}}doc.close();}public static void main(String[] args) throws InterruptedException {test1();//调用test1静态方法,生成pdf D:\\pdfDemo\\66.pdfString fillTemplate1 = "D:\\pdfDemo\\66.pdf";String fillTemplate2 = "D:\\pdfDemo\\66.pdf";String[] st = { fillTemplate1, fillTemplate2 };try {combinPdf(st, "D:\\pdfDemo\\合并2.pdf");} catch (Exception e) {e.printStackTrace();}}}

三:最终的效果就是两个pdf全为了一个pdf,看的多不如练习的多,不妨去尝试下吧。

java动态生成pdf 合并两个pdf文件功能三相关推荐

  1. Java 使用iText7生成带页码的PDF文件(同时生成目录,但是不会合并两个PDF)

    一.效果图 1.带页码效果 2.目录效果 前言:Java 使用iText7生成带页码的PDF文件,同时生成目录PDF,但限于水平,暂时还在摸索合并两个PDF.不过看了一下,iText好像有生成目录的代 ...

  2. java动态生成pdf文件的方法

    java动态生成pdf文件 文章目录 java动态生成pdf文件 前言 一.生成pdf模板 二.使用步骤 1.使用jar包 2.pdf实现方法 总结 前言 java开发过程中难免会遇到生成文件的需求, ...

  3. Java实现多张图片合并成一份PDF文件

    Java实现多张图片合并成一份PDF文件,一行两列展示 引入依赖包 <dependency><groupId>com.lowagie</groupId><ar ...

  4. Java使用iText PDF合并PDF(将多个PDF合并成一个PDF)

    1 配置pom文件 我用的是5.4.3的版本 <dependency><groupId>com.itextpdf</groupId><artifactId&g ...

  5. 图片合并成PDF,两个PDF的合并

    需求: 将多张手机照片合并成一个PDF,并于另一个成型PDF合并 过程: 使用全能扫描王处理一遍,拆剪掉多余部分,并提高亮度增加文字对比度 合并: 使用Faststone Capture合并图片即可. ...

  6. 两个pdf合并成一个pdf的方法

    如何把两个pdf合并成一个pdf??在工作中对,对文件如果没有固定格式的要求,选择pdf格式编辑文件的小伙伴应该不在少数,大家一般都是看中了它的稳定性和极高的阅读性.那在这样的工作中,有时会需要将两个 ...

  7. 如何将两个PDF合并成一个PDF,几个方法教会你简单操作!

    在日常工作或者学习过程中,我们经常会收到许多的文件,而我们收到的文件有可能是各种格式的文档,为了统一格式,或者便于保存,我们会将它们统一转换成PDF格式的文件,因为PDF文件不易出现问题.而转换后的文 ...

  8. 两个pdf合并成一个pdf,pdf合并教程

    说起合并两个PDF文件,我们通常就会形成一个思维定式,感觉直接把一个pdf文件内容复制到另一个PDF文件,不就合并完成了吗?其实这样的方法应用在PDF文件的身上是不成立的,复制粘贴只能用于那些可以自由 ...

  9. 推荐几种方法把两个pdf合并成一个pdf

    把两个pdf合并成一个pdf?将两个PDF文件合并成一个PDF文件是一种非常常见的操作,尤其在工作和生活中需要处理大量信息和文件时.将两个PDF文件合并为一个PDF文件可以更便捷地管理和查看文件.如果 ...

  10. Java 多个pdf合并成一个pdf

    前言 实际开发过程中,会因实际业务原因需把多个pdf合并成一个pdf. 代码如下: import com.itextpdf.text.pdf.*; import com.itextpdf.text.D ...

最新文章

  1. R语言-csv文件数据追加
  2. [蓝牙] 6、基于nRF51822的蓝牙心率计工程消息流Log分析(详细)
  3. django-python3-mysql问题
  4. 三角形css_使用css绘制三角形
  5. php订单系统 帝国cms,帝国CMS商城系统在线支付后,订单邮件提醒
  6. NEFU709(第K个圆的半径)
  7. 抖音txt表白html,抖音txt弹窗表白整蛊怎么弄 抖音表白撩妹套路弹窗设置教程
  8. 位图索引,数据库索引浅浅的学习
  9. Magento: 获取产品评论 get all reviews with review summary
  10. github添加ToKen到本地并写入netrc实现自动登录
  11. 基于HT for Web的3D树的实现
  12. 大学《数据库系统》课程设计报告
  13. jieba 同义词_jieba分词详解
  14. 腾讯云直播开发日记 (二)附近直播-直播礼物-直播回放
  15. 音视频编解码常用知识点
  16. java毕业设计商品货物信息管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  17. 【翻译】案例研究:Slite如何利用谷歌云建立先进的GitOps实践
  18. mysql y m d h_php时间问题?mysql数据库的时间格式(Y-M-D H:I:S) 在PHP页面想这样显示(Y-M-D) ('.$rows['ndate'].')...
  19. [游戏数据分析]WAU模型简介及WAU预测
  20. CAD牙孔lisp_分解vlx - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...

热门文章

  1. 联想笔记本键盘排线_联想笔记本排线
  2. html+字体有白色的重影+重影字体设置,LCD显示器显示模糊与字体有重影是什么原因...
  3. 两台计算机无法共享链接,[转载]局域网内两台计算机无法互相共享文件
  4. 近年来小学计算机课程目录,小学3-6年级信息技术课程目录(苗逢春版)
  5. 2021 USGS Landsat 8 批量下载教程
  6. MyEclipse共享项目到SVN服务器
  7. 三星位置共享服务器,三星智能共享怎么用?三星智能共享图文详细使用教程
  8. 台式计算机检测不到无线网卡,台式机检测不到无线网卡怎么办
  9. 企业自动运行系统——价格策略
  10. tf改善_如何衡量和改善自动常见问题解答