您的位置 首页 java

java操作PDF——pdf合并

一、需要的jar包

 <dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.1.0</vers io n>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>io</artifactId>
<version>7.1.0</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>7.1.0</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>7.1.0</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdfa</artifactId>
<version>7.1.0</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdftest</artifactId>
<version>7.1.0</version>
</dependency>
<dependency>
<groupId>com.itext pdf </groupId>
<artifactId>font-asian</artifactId>
<version>7.1.0</version>
</dependency>

 

二、操作方法

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfImportedPage;
import com.itextpdf.text.pdf.Pdf reader ;
/**
 * 多个PDF合成一个
 * @param List<String> fileList 多个文件地址
 * @param String savepath 合成后的pdf地址
 * @author shenkk
 * @date 2018年11月13日 下午3:53:36
 */public class PDFMergeUtil {
 public static void main(String[] args) {
 String savepath = "/uploadFile/bing.pdf";
 String file1 = "/uploadFile/file1.pdf"; 
 String file2 = "/uploadFile/file2.pdf"; 
 String file3 = "/uploadFile/file3.pdf"; 
 String file4 = "/uploadFile/file4.pdf"; 
 System.out.println("start " + new Date());
 List<String> list = new ArrayList<>();
 list.add(file1);
 list.add(file2);
 list.add(file3);
 list.add(file4);
 morePdfTopdf(list, savepath);
 }
 public static void morePdfTopdf(List<String> fileList, String mergepath) {
 Document document = null;
 try {
 document = new Document(new PdfReader(fileList.get(0)).getPageSize(1));
 PdfCopy copy = new PdfCopy(document, new FileOutputStream(mergepath));
 document. open ();
 for (int i = 0; i < fileList.size(); i++) {
 System.out.println("获取的url:"+fileList.get(i));
 PdfReader reader = new PdfReader(fileList.get(i));
 int n = reader.getNumberOfPages();// 获得总页码
 for (int j = 1; j <= n; j++) {
 document.newPage();
 PdfImportedPage page = copy.getImportedPage(reader, j);// 从当前Pdf,获取第j页
 copy.addPage(page);
 }
 
 }
 } catch (IOException e) {
 e.printStackTrace();
 } catch (DocumentException e) {
 e.printStackTrace();
 } finally {
 if (document != null) {
 document. close ();
 }
 
 }
 }
}

 

文章来源:智云一二三科技

文章标题:java操作PDF——pdf合并

文章地址:https://www.zhihuclub.com/191122.shtml

关于作者: 智云科技

热门文章

发表回复

您的电子邮箱地址不会被公开。

网站地图