Splitting a PDF file

Tags: file sizesplit PDFiText 5
Files: 
/**
 * Example written by Bruno Lowagie.
 * This example will only work with iText 5.5.6 and higher (you also need the xtra package).
 */
package sandbox.merge;
 
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.log.LoggerFactory;
import com.itextpdf.text.log.SysoLogger;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.util.SmartPdfSplitter;
import java.io.File;
 
import java.io.FileOutputStream;
import java.io.IOException;
 
public class MergeAndCount {
 
    /** The original PDF file. */
    public static final String SRC
        = "resources/pdfs/Wrong.pdf";
 
    /** The resulting PDF file. */
    public static final String DEST
        = "results/merge/pages_counted.pdf";
 
    /**
     * Manipulates a PDF file src with the file dest as result
     * @param src the original PDF
     * @param dest the resulting PDF
     * @throws IOException
     * @throws DocumentException
     */
    public void manipulatePdf(String src, String dest)
        throws IOException, DocumentException {
        PdfReader reader = new PdfReader(src);
        SmartPdfSplitter splitter = new SmartPdfSplitter(reader);
        int part = 1;
        while (splitter.hasMorePages()) {
            splitter.split(new FileOutputStream("results/merge/part_" + part + ".pdf"), 200000);
            part++;
        }
        reader.close();
    }
 
    /**
     * Main method.
     * @param    args    no arguments needed
     * @throws DocumentException 
     * @throws IOException
     */
    public static void main(String[] args)
        throws IOException, DocumentException {
        LoggerFactory.getInstance().setLogger(new SysoLogger());
        File file = new File(DEST);
        file.getParentFile().mkdirs();
        new MergeAndCount().manipulatePdf(SRC, DEST);
    }
}
File nameRaw URLUpdated
MergeAndCount.javaMergeAndCount.java2015-11-07 6:00 pm
Resources: 
File nameRaw URLUpdated
Wrong.pdfWrong.pdf2015-11-07 6:01 pm