欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java使用itext按页码拆分pdf文件,javaitext拆分pdf,java使用itext按

来源: javaer 分享于  点击 22512 次 点评:247

java使用itext按页码拆分pdf文件,javaitext拆分pdf,java使用itext按


java使用itext按页码拆分pdf文件,代码实现如下:

/** * @author viralpatel.net *  * @param inputStream Input PDF file * @param outputStream Output PDF file * @param fromPage start page from input PDF file * @param toPage end page from input PDF file */public static void splitPDF(InputStream inputStream,        OutputStream outputStream, int fromPage, int toPage) {    Document document = new Document();    try {        PdfReader inputPDF = new PdfReader(inputStream);        int totalPages = inputPDF.getNumberOfPages();        //make fromPage equals to toPage if it is greater        if(fromPage > toPage ) {            fromPage = toPage;        }        if(toPage > totalPages) {            toPage = totalPages;        }        // Create a writer for the outputstream        PdfWriter writer = PdfWriter.getInstance(document, outputStream);        document.open();        PdfContentByte cb = writer.getDirectContent(); // Holds the PDF data        PdfImportedPage page;        while(fromPage <= toPage) {            document.newPage();            page = writer.getImportedPage(inputPDF, fromPage);            cb.addTemplate(page, 0, 0);            fromPage++;        }        outputStream.flush();        document.close();        outputStream.close();    } catch (Exception e) {        e.printStackTrace();    } finally {        if (document.isOpen())            document.close();        try {            if (outputStream != null)                outputStream.close();        } catch (IOException ioe) {            ioe.printStackTrace();        }    }}

使用示例如下,将一个20页的pdf文件拆分成1-12和13-20页两个pdf文件:

public static void main(String[] args) {    try {        MergePDF.splitPDF(new FileInputStream("C:\\input.pdf"),                     new FileOutputStream("C:\\output1.pdf"), 1, 12);        MergePDF.splitPDF(new FileInputStream("C:\\input.pdf"),                     new FileOutputStream("C:\\output2.pdf"), 13, 20);    } catch (Exception e) {        e.printStackTrace();    }}

如果您觉得有用就收藏吧。

相关栏目:

用户点评