Example usage for com.itextpdf.text.pdf PdfStamper PdfStamper

List of usage examples for com.itextpdf.text.pdf PdfStamper PdfStamper

Introduction

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

Prototype

public PdfStamper(final PdfReader reader, final OutputStream os, final char pdfVersion)
        throws DocumentException, IOException 

Source Link

Document

Starts the process of adding extra content to an existing PDF document.

Usage

From source file:aero.m_click.mcpdf.Main.java

License:Open Source License

public static void execute(Config config) throws IOException, DocumentException {
    PdfReader reader = new PdfReader(config.pdfInputStream);
    PdfStamper stamper = new PdfStamper(reader, config.pdfOutputStream, '\0');
    if (config.formInputStream != null) {
        if (config.isFdf) {
            stamper.getAcroFields().setFields(new FdfReader(config.formInputStream));
        } else {//from  w  ww  .  j av a  2s .c o  m
            stamper.getAcroFields().setFields(new XfdfReader(config.formInputStream));
        }
    }
    stamper.setFormFlattening(config.flatten);
    stamper.close();
}

From source file:com.github.ukase.service.PdfRenderer.java

License:Open Source License

private void addSampleWatermark(ByteArrayOutputStream baos, char pdfVersion)
        throws IOException, DocumentException {
    PdfReader reader = new PdfReader(baos.toByteArray());
    baos.reset();//from   w  w w. j  ava 2s.  co m
    Phrase phrase = new Phrase(waterMark.getText(), font);
    PdfStamper stamper = new PdfStamper(reader, baos, pdfVersion);
    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
        PdfContentByte canvas = stamper.getUnderContent(i);
        ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase, waterMark.getX(), waterMark.getY(),
                waterMark.getDegree());
    }
    stamper.close();
    reader.close();
}

From source file:org.h819.commons.file.MyPDFUtils.java

/**
 * ? pdf ??/* ww w  .  j  a  v  a 2 s  .  co  m*/
 *
 * @param srcPdfFile  the original PDF
 * @param descPdfFile the resulting PDF
 * @throws java.io.IOException
 * @throws DocumentException
 */
public static void compressPdf(File srcPdfFile, File descPdfFile) throws IOException, DocumentException {

    if (srcPdfFile == null || !srcPdfFile.exists())
        throw new IOException("src pdf file '" + srcPdfFile + "' does not exsit.");

    PdfReader reader = getPdfReader(srcPdfFile);
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(descPdfFile.getAbsoluteFile()),
            PdfWriter.VERSION_1_7);

    stamper.getWriter().setCompressionLevel(9);
    int total = reader.getNumberOfPages() + 1;
    for (int i = 1; i < total; i++) {
        reader.setPageContent(i, reader.getPageContent(i));
    }
    stamper.setFullCompression();
    stamper.close();
    reader.close();
}

From source file:org.h819.commons.file.MyPDFUtils.java

/**
 * ?/*from w  w w  .j  a  v  a2  s . c  om*/
 *
 * @param srcPdf
 * @param destPdf
 * @return
 * @throws IOException
 * @throws DocumentException
 */

public static PdfStamper getPdfStamper(File srcPdf, File destPdf) throws IOException, DocumentException {
    return new PdfStamper(getPdfReader(srcPdf), new FileOutputStream(destPdf), PdfWriter.VERSION_1_7);
}

From source file:org.sejda.impl.itext5.component.PdfStamperHandler.java

License:Open Source License

/**
 * Creates a new instance initializing the inner {@link PdfStamper} instance.
 * /*from   w w w  .j a  v a2  s .  c o  m*/
 * @param reader
 *            input reader
 * @param ouputFile
 *            {@link File} to stamp on
 * @param version
 *            version for the created stamper, if null the version number is taken from the input {@link PdfReader}
 * @throws TaskException
 *             in case of error
 */
public PdfStamperHandler(PdfReader reader, File ouputFile, PdfVersion version) throws TaskException {
    try {
        ouputStream = new FileOutputStream(ouputFile);
        if (version != null) {
            stamper = new PdfStamper(reader, ouputStream, version.getVersionAsCharacter());
        } else {
            stamper = new PdfStamper(reader, ouputStream);
        }
        Map<String, String> meta = reader.getInfo();
        meta.put(PdfMetadataKey.CREATOR.getKey(), Sejda.CREATOR);
        stamper.setMoreInfo(meta);
    } catch (DocumentException e) {
        throw new TaskException("An error occurred opening the PdfStamper.", e);
    } catch (IOException e) {
        throw new TaskIOException("An IO error occurred opening the PdfStamper.", e);
    }
}

From source file:PdfFormFiller.WrongParamsExeption.java

License:GNU General Public License

public static void fillPDFFile(String pdf_filename_in, String pdf_filename_out, String fields_filename,
        String font_file, String op, Boolean flatten, Boolean verbose) {
    OutputStream os;/*from w ww .ja  v  a2  s.c om*/
    PdfStamper stamp;
    try {
        PdfReader reader = new PdfReader(pdf_filename_in);

        if (pdf_filename_out != null) {
            os = new FileOutputStream(pdf_filename_out);
        } else {
            os = System.out;
        }

        stamp = new PdfStamper(reader, os, '\0');

        AcroFields form = stamp.getAcroFields();

        if (op.equals("list")) {
            formList(form);
        } else {
            if (font_file != null) {
                BaseFont bf = BaseFont.createFont(font_file, BaseFont.IDENTITY_H, true);
                form.addSubstitutionFont(bf);
            }
            Map<String, String> fields = readFile(fields_filename);
            for (Map.Entry<String, String> entry : fields.entrySet()) {
                if (verbose)
                    System.out.println("Field name = '" + entry.getKey() + "', New field value: '"
                            + entry.getValue() + "'");
                form.setField(entry.getKey(), entry.getValue());
            }

            stamp.setFormFlattening(flatten);
            stamp.close();
        }
    } catch (FileNotFoundException e) {
        System.err.println("FileNotFoundException: " + e.getMessage());
        System.exit(2);
    } catch (IOException e) {
        System.err.println("Input output error: " + e.getMessage());
        System.exit(3);
    } catch (DocumentException e) {
        System.err.println("Error while processing document: " + e.getMessage());
        System.exit(4);
    }
}