Example usage for com.itextpdf.text.pdf PdfWriter getImportedPage

List of usage examples for com.itextpdf.text.pdf PdfWriter getImportedPage

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfWriter getImportedPage.

Prototype

public PdfImportedPage getImportedPage(final PdfReader reader, final int pageNumber) 

Source Link

Document

Use this method to get a page from other PDF document.

Usage

From source file:pdfgen.pdf_generation_try5.java

public void AllFunctions(String realpath, String sample_pdf_path) {

    try {/*from  w w w. j av a 2  s.c om*/
        INPUTFILE = sample_pdf_path;
        // System.out.println("Inputfile: "+INPUTFILE);
        Document document = new Document();
        //PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE));
        OUTPUTFILE = filepath(realpath);
        //System.out.println("Outputfile"+OUTPUTFILE);
        PdfReader reader = new PdfReader(INPUTFILE);
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE));
        //     writer.setEncryption(USER_PASS.getBytes(), OWNER_PASS.getBytes(),PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);

        document.open();
        addTitlePage(document);

        int n = reader.getNumberOfPages();
        PdfImportedPage page;
        // Go through all pages
        for (int i = 1; i <= n; i++) {

            page = writer.getImportedPage(reader, i);
            Image instance = Image.getInstance(page);
            instance.setAlignment(Element.ALIGN_LEFT);
            //  document.add(instance);

        }

        addMetaData(document);
        pdfReaderFunction(reader);
        AddParagraph(document);
        //    addContent(document);
        // scaleImage();
        qr_generator(document);
        document.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:sandbox.xmlworker.reporting.FillTemplateHelper.java

@Override
public void onOpenDocument(PdfWriter writer, Document document) {
    background = writer.getImportedPage(reader, 1);
    total = writer.getDirectContent().createTemplate(30, 15);
    Calendar c = Calendar.getInstance();
    c.set(2015, 9, 13);/* w ww .ja  va 2 s  . co m*/
    today = DateFormat.getDateInstance(DateFormat.LONG, Locale.US).format(c.getTime());
}

From source file:se.billes.pdf.renderer.process.TemplatePageRenderer.java

License:Open Source License

public void render(PdfWriter writer, Document document) throws PdfRenderException {
    writer.setPageEvent(page);//from  w  w w .  j av  a2s .  c  o m
    Template template = page.getTemplate();

    try {
        PdfReader reader = new PdfReader(template.getTemplatePath());
        PdfImportedPage pageImportedPage = writer.getImportedPage(reader, template.getPage());
        Image pdfMirror;

        float width = SizeFactory.CUT_MARK;
        float height = SizeFactory.CUT_MARK;

        pdfMirror = Image.getInstance(pageImportedPage);
        pdfMirror.setAbsolutePosition(SizeFactory.millimetersToPostscriptPoints(width),
                SizeFactory.millimetersToPostscriptPoints(height));
        document.newPage();
        ImageFactory.getInstances().add(new ImageInstance(pdfMirror, reader));
        PdfContentByte cb = writer.getDirectContent();
        try {
            cb.addImage(pdfMirror);
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        if (page.getBlocks() != null) {
            for (BaseElement block : page.getBlocks()) {
                block.onRender(cb);
            }
        }

    } catch (BadElementException e) {
        e.printStackTrace();
        throw new PdfRenderException(e);
    } catch (IOException e) {
        throw new PdfRenderException(e);
    }

}

From source file:valstreamtools.ValStrSplitPage.java

private void splitDocument(String[] args) throws IOException, DocumentException {
    /**// w w w  .j  a  va2 s  . c  om
     * int splitNo = 4; String inputFileName =
     * "C:\\tmp\\valuestream_export_input_2015-03-03-22-18-37.pdf"; String
     * outputFileName = "C:\\tmp\\valuestream_export_op_2015-03-03-22-18-37.pdf";*
     */
    int splitNo = Integer.parseInt(args[0]);
    String inputFileName = args[1];
    if (splitNo > 1) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
        String splitOutFileName = "/var/tmp/PDF_SPLIT_" + sdf.format(new Date()) + ".pdf";
        PdfReader reader = new PdfReader(inputFileName);
        Rectangle pagesize = reader.getPageSize(1);
        float pageHeight = pagesize.getHeight();
        float newpagewidth = (pagesize.getWidth() / splitNo);
        Rectangle newPapeSize = new Rectangle(0, 0, newpagewidth, pageHeight);
        Document document = new Document(newPapeSize);
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(splitOutFileName));
        document.open();
        int pageNos = reader.getNumberOfPages();
        PdfContentByte content = writer.getDirectContent();
        for (int i = 1; i <= pageNos; i++) {
            PdfImportedPage page = writer.getImportedPage(reader, i);
            if (i > 1) {// In case of a new inpit page, need to create this.
                document.newPage();
            }
            for (int j = 0; j < splitNo; j++) {
                if (j == 0) {//This condition is used to skip the adding of new page.
                    content.addTemplate(page, 0, 0);
                } else {
                    document.newPage();
                    content.addTemplate(page, (-1 * j * newpagewidth), 0);
                }
            }
        }
        document.close();
        reader.close();
        createPageNo(splitOutFileName, args[2], pageHeight);
        File f = new File(splitOutFileName);
        if (f.exists()) {
            f.delete();
        }
    } else {
        PdfReader reader = new PdfReader(inputFileName);
        float pageHeight = reader.getPageSize(1).getHeight();
        reader.close();
        createPageNo(inputFileName, args[2], pageHeight);
    }
}