pom依赖
<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version>
</dependency>

mergePdfUtil.java

import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfReader;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.framework.config.RuoYiConfig;import java.io.File;
import java.io.FileOutputStream;
import java.util.List;/*** @author hzj* @date 2020/10/8 15:02*/
public class MergePdfUtil {/**** @param pdfFilesName 文件路径集合* @param newUrl 用于存放合并后的pdf* @param httpUrl 服务器路径*/public static void MergePdf(List<String> pdfFilesName, String newUrl, String httpUrl) {PdfReader reader = null;Document document = null;try {//创建文件夹File file = new File(newUrl);if(!file.getParentFile().exists()){file.getParentFile().mkdirs();}String docUrl = serviceUrl(pdfFilesName.get(0), httpUrl);document = new Document(new PdfReader(docUrl).getPageSize(1));PdfCopy pdfCopy = new PdfCopy(document, new FileOutputStream(newUrl));int pageCount = 0;document.open();for (int i = 0; i < pdfFilesName.size(); ++i) {System.out.println(pdfFilesName.get(i));String serviceUrl = serviceUrl(pdfFilesName.get(i),httpUrl);System.out.println(serviceUrl);File file1 = new File(serviceUrl);if(file1.exists()){reader = new PdfReader(serviceUrl);pageCount = reader.getNumberOfPages();for (int j = 1; j <= pageCount; ++j) {pdfCopy.addPage(pdfCopy.getImportedPage(reader, j));}}}} catch (Exception e) {e.printStackTrace();}finally {document.close();}}//替换后缀,拼出文件在服务器的路径private static String serviceUrl(String url,String httpUrl){String httpUrls = httpUrl + Constants.RESOURCE_PREFIX;String[] split = url.split(httpUrls);int i = split[1].lastIndexOf(".");String substring = split[1].substring(0, i)+".pdf";String replace = RuoYiConfig.getProfile()+ substring;return replace;}
}

遇到  PDF header signature not found,先排除文件损坏的原因,在仔细检查文件路径是否正确

linux环境 itext 合并pdf相关推荐

  1. itext 合并 pdf 并插入页码

    第一步  引用jar <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf&l ...

  2. 在linux环境下com.aspose.words将word文件转为pdf后乱码,window环境下不会

    在linux环境下com.aspose.words将word文件转为pdf后乱码,window环境下不会 乱码原因是因为在linux系统下没有中文字体,所以转换的时候乱码,需要我们手动把window系 ...

  3. Java项目在Linux环境使用aspose把word转pdf乱码问题

    Java项目在Linux环境使用aspose把word转pdf乱码问题 一.问题 在项目中有word转pdf并展示的功能,在本地的windows环境下没有问题.但是放在Linux中部署运行,生成的pd ...

  4. linux合并pdf命令,科学网—[转载]linux下利用命令行工具pdftk对PDF进行合并分割(转载) - 崔鹏碧的博文...

    pdftk是非常好用的PDF页面操作工具,能够切割.合并.提取指定页面等. 常用包括的功能如下:合并 PDF: 分割 PDF 页面: 旋转 PDF 页面: PDF 带密码访问: PDF 填加密码: 用 ...

  5. java 使用itext合并多个pdf文件成一个pdf

    maven <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency><g ...

  6. iText 合并多个 pdf 文件

    iText 合并多个 pdf 文件 iText 合并多个 pdf 文件 核心代码 完整的类代码 参考代码 参考来源 iText 合并多个 pdf 文件 核心代码 /*** 合并多个pdf** @par ...

  7. Linux环境下实现excel文件转pdf并且实现优化

    最近公司有一个excel转pdf的需求需要实现,话不多说直接上代码! 我所用的环境是ubuntu18版本 excel转pdf在Linux环境中可以使用libreoffice插件进行转换! 1.首先查看 ...

  8. android图片合并pdf,Android:使用iText API合并PDF文件不工作

    我想通过使用iText API将两个或多个PDF文档合并成一个PDF文件合并.但在结果我得到合并pdf与0字节size.I发布我的代码如下所示.我也尝试了iText.jar文件,但给出相同的0尺寸的P ...

  9. linux环境编程 学习,学习linux环境高级编程首先学习的是文件的操作。因为有.pdf...

    学习linux环境高级编程首先学习的是文件的操作.因为有 学习 Linux 环境高级编程,首先学习的是文件的操作.因为有一句很有趣的话"Linux 下一切皆文件".所以掌握了文件操 ...

最新文章

  1. html获取get信息,在HTML页面用JS获取Get参数方法(示例代码)
  2. 【BZOJ3926】[Zjoi2015]诸神眷顾的幻想乡 广义后缀自动机
  3. 智能音箱自己把自己黑了:随机购物拨号,自主开灯关门,平均成功率达88%
  4. python下载教程1001python下载教程-Python知识圈
  5. iOS中正则表达式的使用
  6. python——常用内置函数(enumerate、map、zip、eval)用法
  7. LeetCode-461. 汉明距离(python3)
  8. Win系统下用Eclipse中运行远程hadoop MapReduce程序出现Permission denied错误
  9. 2018\National _C_C++_B\1.换零钞
  10. php用get方式传json数据 变成null了
  11. mybatis学习(11): sql server配置管理器请求失败或服务未及时响应
  12. STL8-string容器
  13. nfs挂载hdfs,实现云存储
  14. 公式推导 11-21
  15. otool 与dylib
  16. lora 网关 linux,选择LoRaWAN网关的5大关键 很重要!
  17. java itex 打印pdf_【收藏】java使用ITEXT打印PDF
  18. java 异常恢复_Java学习之异常处理
  19. 系统分析师的必备素质和技能
  20. 大疆自动驾驶,首次官宣即交货

热门文章

  1. CAD6:1.如何选择对象(批量选择、反选、筛选、栏选、)、2.删除工具的使用、3.如何显示图形
  2. 如何徎序放到计算机桌面,win系统如何把“我的电脑”放到桌面上
  3. HTTP协议解析,你真的了解HTTP协议吗
  4. 淘宝滑块的解决方法和接口
  5. Django完整版概述
  6. (四)electron尝试使用win32 API——node-gpy到底是干嘛的?
  7. 解决npm install 报gyp 或者python问题
  8. SAP学习之配置——定义项目类别
  9. 飞桨实战营-图像分割学习笔记和心得体会
  10. 天翼云服务器迁移阿里云_云迁移清单:要重点关注的3个关键领域