360精选
最后发布:2017-11-09 21:50:00首发:2017-11-09 21:50:00 合并pdf pom.xml添加Jar依赖 !-- pdf处理jar依赖 start -- dependency groupIdcom.itextpdf/groupId artifactIditextpdf/artifactId version5.5.12/version /dependency !-- pdf处理jar依赖 end -- !-- pdf处理jar包依赖 start -- dependency groupIdcom.itextpdf/groupId artifactIditext-asian/artifactId version5.2.0/version /dependency dependency groupIdcom.lowagie/groupId artifactIditext/artifactId version4.2.1/version /dependency !-- pdf处理jar包依赖 end -- package com.bjpowernode.p2p.admin.pdf; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.itextpdf.text.Document; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfImportedPage; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.PdfWriter; /** * PDF文件合并操作 * * @author ldd * */ public class PDFMergeUtil { /**Log4j2日志记录器*/ private static final Logger logger = LogManager.getLogger(PDFMergeUtil.class); /** * PDF文件合并操作 * * @param streamOfPDFFiles * @param outputStream * @param paginate */ public static void mergePDFs(ListString inputFileList, String outputFile, boolean paginate) { logger.info(pdf文件合并....); //创建新的pdf文档 Document document = new Document(); PdfWriter writer = null; FileInputStream fis = null; FileOutputStream fos = null; try { //创建读取Pdf文件对象 ListPdfReader readers = new ArrayListPdfReader(); for (String filePath : inputFileList) { fis = new FileInputStream(filePath); PdfReader pdfReader = new PdfReader(fis); readers.add(pdfReader); } //读取pdf文件 fos = new FileOutputStream(outputFile); //生成新的文档 writer = PdfWriter.getInstance(document, fos); //打开文档 document.open(); //设置字体 BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); PdfContentByte cb = writer.getDirectContent(); PdfImportedPage page = null; int currentPageNumber = 0; int pageOfCurrentReaderPDF = 0; IteratorPdfReader iteratorPDFReader = readers.iterator(); //依次读取pdf while (iteratorPDFReader.hasNext()) { PdfReader pdfReader = iteratorPDFReader.next(); // Create a new page in the target for each source page. while (pageOfCurrentReaderPDF pdfReader.getNumberOfPages()) { document.newPage(); pageOfCurrentReaderPDF++; currentPageNumber++; //创建当前页码 page = writer.getImportedPage(pdfReader, pageOfCurrentReaderPDF); cb.addTemplate(page, 0, 0); // Code for pagination. if (paginate) { cb.beginText(); cb.setFontAndSize(bf, 9);//字体 cb.showTextAligned(PdfContentByte.ALIGN_CENTER, String.valueOf(currentPageNumber), 290, 50, 0); cb.endText(); } } pageOfCurrentReaderPDF = 0; } } catch (Exception e) { e.printStackTrace(); } finally { try { if (document.isOpen()) { document.close(); } if (null != fis) { fis.close(); } if (null != fos) { fos.close(); } if (null != writer) { writer.close(); } } catch (IOException e) { e.printStackTrace(); } } } /** * 文件合并测试 * * @param args * @throws Throwable */ public static void main(String[] args) throws Throwable { ListString inputFileList = new ArrayListString(); inputFileList.add(C:\\dev\\eclipse\\workspace\\p2p-admin\\src\\main\\resources\\sb_loan_contract_borrow.pdf); inputFileList.add(C:\\dev\\eclipse\\workspace\\p2p-admin\\src\\main\\resources\\sb_loan_contract_borrow.pdf); String outputFile = C:\\dev\\eclipse\\workspace\\p2p-admin\\src\\main\\resources\\sb_loan_contract_borrow_merge.pdf; //合并PDF PDFMergeUtil.mergePDFs(inputFileList, outputFile, true); } } ---华丽的分割线--- ListString pdfList = new ArrayListString(); pdfList.add(outPutFileName);//公司签章pdf pdfList.add(outFile_table);//表格pdf //pdf文件合并 PDFMergeUtil.mergePDFs(pdfList, outFile_final, true); 转载于: 提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥……然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生!不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。@Charlotte:平日素颜示人,周末美妆博主大家都以为程序媛也个个不修边幅,但我们也许.... 私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。01、简历的本质作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深....
查看更多

【图】PDF合并工具:pdf怎么合并成一个文件

360图片

合并pdf_360视频搜索

视频聚合
全部2028条
没有更多结果了~