linux环境 itext 合并pdf
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相关推荐
- itext 合并 pdf 并插入页码
第一步 引用jar <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf&l ...
- 在linux环境下com.aspose.words将word文件转为pdf后乱码,window环境下不会
在linux环境下com.aspose.words将word文件转为pdf后乱码,window环境下不会 乱码原因是因为在linux系统下没有中文字体,所以转换的时候乱码,需要我们手动把window系 ...
- Java项目在Linux环境使用aspose把word转pdf乱码问题
Java项目在Linux环境使用aspose把word转pdf乱码问题 一.问题 在项目中有word转pdf并展示的功能,在本地的windows环境下没有问题.但是放在Linux中部署运行,生成的pd ...
- linux合并pdf命令,科学网—[转载]linux下利用命令行工具pdftk对PDF进行合并分割(转载) - 崔鹏碧的博文...
pdftk是非常好用的PDF页面操作工具,能够切割.合并.提取指定页面等. 常用包括的功能如下:合并 PDF: 分割 PDF 页面: 旋转 PDF 页面: PDF 带密码访问: PDF 填加密码: 用 ...
- java 使用itext合并多个pdf文件成一个pdf
maven <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency><g ...
- iText 合并多个 pdf 文件
iText 合并多个 pdf 文件 iText 合并多个 pdf 文件 核心代码 完整的类代码 参考代码 参考来源 iText 合并多个 pdf 文件 核心代码 /*** 合并多个pdf** @par ...
- Linux环境下实现excel文件转pdf并且实现优化
最近公司有一个excel转pdf的需求需要实现,话不多说直接上代码! 我所用的环境是ubuntu18版本 excel转pdf在Linux环境中可以使用libreoffice插件进行转换! 1.首先查看 ...
- android图片合并pdf,Android:使用iText API合并PDF文件不工作
我想通过使用iText API将两个或多个PDF文档合并成一个PDF文件合并.但在结果我得到合并pdf与0字节size.I发布我的代码如下所示.我也尝试了iText.jar文件,但给出相同的0尺寸的P ...
- linux环境编程 学习,学习linux环境高级编程首先学习的是文件的操作。因为有.pdf...
学习linux环境高级编程首先学习的是文件的操作.因为有 学习 Linux 环境高级编程,首先学习的是文件的操作.因为有一句很有趣的话"Linux 下一切皆文件".所以掌握了文件操 ...
最新文章
- html获取get信息,在HTML页面用JS获取Get参数方法(示例代码)
- 【BZOJ3926】[Zjoi2015]诸神眷顾的幻想乡 广义后缀自动机
- 智能音箱自己把自己黑了:随机购物拨号,自主开灯关门,平均成功率达88%
- python下载教程1001python下载教程-Python知识圈
- iOS中正则表达式的使用
- python——常用内置函数(enumerate、map、zip、eval)用法
- LeetCode-461. 汉明距离(python3)
- Win系统下用Eclipse中运行远程hadoop MapReduce程序出现Permission denied错误
- 2018\National _C_C++_B\1.换零钞
- php用get方式传json数据 变成null了
- mybatis学习(11): sql server配置管理器请求失败或服务未及时响应
- STL8-string容器
- nfs挂载hdfs,实现云存储
- 公式推导 11-21
- otool 与dylib
- lora 网关 linux,选择LoRaWAN网关的5大关键 很重要!
- java itex 打印pdf_【收藏】java使用ITEXT打印PDF
- java 异常恢复_Java学习之异常处理
- 系统分析师的必备素质和技能
- 大疆自动驾驶,首次官宣即交货
热门文章
- CAD6:1.如何选择对象(批量选择、反选、筛选、栏选、)、2.删除工具的使用、3.如何显示图形
- 如何徎序放到计算机桌面,win系统如何把“我的电脑”放到桌面上
- HTTP协议解析,你真的了解HTTP协议吗
- 淘宝滑块的解决方法和接口
- Django完整版概述
- (四)electron尝试使用win32 API——node-gpy到底是干嘛的?
- 解决npm install 报gyp 或者python问题
- SAP学习之配置——定义项目类别
- 飞桨实战营-图像分割学习笔记和心得体会
- 天翼云服务器迁移阿里云_云迁移清单:要重点关注的3个关键领域