统一pdf,

合并pdf,

合并pdf
    pom.xml添加Jar依赖
        <!– pdf处理jar依赖 start –>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.12</version>
        </dependency>
        <!– pdf处理jar依赖 end –>

        <!– pdf处理jar包依赖 start –>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>4.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
 *
永利集团304com, */
public class PDFMergeUtil {
    
    /**Log4j2日志记录器*/
    private static final Logger logger =
LogManager.getLogger(PDFMergeUtil.class);
    
    /**
     * PDF文件合并操作
     *
     * @param streamOfPDFFiles
     * @param outputStream
     * @param paginate
     */
    public static void mergePDFs(List<String> inputFileList,
String outputFile, boolean paginate) {
        
        logger.info(“pdf文件合併……”);
        //创制新的pdf文书档案
        Document document = new Document();
        
        PdfWriter writer = null;
        FileInputStream fis = null;
        FileOutputStream fos = null;
        
        try {
            //成立读取Pdf 文件对象
            List<PdfReader> readers = new
ArrayList<PdfReader>();
            
            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;
            
            Iterator<PdfReader> 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 {
        List<String> inputFileList = new
ArrayList<String>();
       
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);
    }
}

——————————————-华丽的分水线———————————————————-
            List<String> pdfList = new
ArrayList<String>();
            pdfList.add(outPutFileName);//公司签章pdf
            pdfList.add(outFile_table);//表格pdf
            
            //pdf文件合併
            PDFMergeUtil.mergePDFs(pdfList, outFile_final, true);
            
            

合并pdf pom.xml添加Jar依赖 !–
pdf处理jar依赖 start — dependency groupIdcom.itextpdf/groupId
artifactIditextpdf/artifactId version5.5.12/version
/dependency…

合并pdf
    pom.xml添加Jar依赖
        <!– pdf处理jar依赖 start –>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.12</version>
        </dependency>
        <!– pdf处理jar依赖 end –>

        <!– pdf处理jar包依赖 start –>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>4.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;

发表评论

电子邮件地址不会被公开。 必填项已用*标注