List of usage examples for com.itextpdf.text.pdf PdfStamper PdfStamper
public PdfStamper(final PdfReader reader, final OutputStream os, final char pdfVersion) throws DocumentException, IOException
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); } }