// Create output PDF Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); PdfContentByte cb = writer.getDirectContent(); // Load existing PDF PdfReader reader = new PdfReader(templateInputStream); PdfImportedPage page = writer.getImportedPage(reader, 1); // Copy first page of existing PDF into output PDF document.newPage(); cb.addTemplate(page, 0, 0); // Add your new data / text here // for example... document.add(new Paragraph("my timestamp")); document.close();
PdfWriter writer = new PdfCopy(document,new FileOutputStream("e:\\new1.pdf")); document.open(); PdfImportedPage page; document.newPage(); for(int i=1; i<=n; i++) { page = writer.getImportedPage(reader,i); ((PdfCopy) writer).addPage(page); }
public onEndPage(PdfWriter writer, Document doc) { PdfReader reader = new PdfReader(headerPDFPath); PdfImportedPage headerPageImport = writer.getImportedPage(reader, 1); // 1 -> first page PdfContentByte cb = writer.getDirectContent(); cb.addTemplate(headerPageImport, hBox.bottom(), hBox.left()); }
Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, OutputStream ); PdfReader reader = new PdfReader(dato.getBinaryStream()); PdfImportedPage page1 = writer.getImportedPage(reader, 1); PdfContentByte cb = writer.getDirectContent(); cb.addTemplate(page1, 1, 0, 0, 1, 0, 0); document.setPageSize(new Rectangle(page1.getWidth(),page1.getHeight()) );
PdfReader reader = new PdfReader( templatePDFPath ); Document doc = new Document(); PdfWriter writer = PdfWriter.createInstance( doc, new FileOutputStream("blah.pdf" ) ); PdfImportedPage inputPage = writer.getImportedPage( reader, 1 ); PdfDirectContent curPageContent = writer.getDirectContent(); String extraStuff[] = getExtraStuff(); for (String stuff : extraStuff) { curPageContent.saveState(); curPageContent.addTemplate( inputPage /*, x, y*/ ); curPageContent.restoreState(); curPageContent.beginText(); curPageContent.setTextMatrix(x, y); curPageContent.setFontAndSize( someFont, someSize ); // the actual work: curPageContent.showText( stuff ); curPageContent.EndText(); // save the contents of curPageContent out to the file and reset it for the next page. doc.newPage(); }
public void resize (float x, float y, float scale) throws Exception { PdfReader reader = new PdfReader(pdfIn); Document doc = new Document(PageSize.LEGAL, 0, 0, 0, 0); PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(pdfOut)); doc.open(); PdfContentByte cb = writer.getDirectContent(); for(int i=1; i<=reader.getNumberOfPages(); i++){ doc.newPage(); PdfImportedPage page = writer.getImportedPage(reader, i); cb.addTemplate(page, scale, 0, 0, scale, x, y); } doc.close(); }
PdfReader reader = new PdfReader("Hello World.pdf"); Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("RESULT.PDF")); document.open(); PdfContentByte canvas = writer.getDirectContent(); PdfImportedPage page; for (int i = 3; i <=6; i++) { page = writer.getImportedPage(reader, i); canvas.addTemplate(page, 1f, 0, 0, 1, 0, i*30-250); } document.close();
PdfReader reader = new PdfReader(pdf); //yout.toByteArray()); Rectangle psize = reader.getPageSize(1); doc = new Document(psize, 0, 0, 0, 0); PdfWriter writer = PdfWriter.getInstance(doc, output); doc.open(); PdfContentByte cb = writer.getDirectContent(); for (int i = 0; i < reader.getNumberOfPages(); i++) { writer.setCropBoxSize(psize); PdfImportedPage page = writer.getImportedPage(reader, i + 1); cb.addTemplate(page, 0, 0); }
String folder = "/home/user/report/"; InputStream is = new FileInputStream(folder + "test.pdf"); PdfReader reader = new PdfReader(is); for (int i = 1; i <= reader.getNumberOfPages(); i++) { File tmp = new File(folder + "out" + i +".pdf"); FileOutputStream outStream = new FileOutputStream(tmp); Document pdDoc = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(pdDoc, outStream); pdDoc.open(); PdfContentByte cb = writer.getDirectContent(); PdfImportedPage page = writer.getImportedPage(reader, i); pdDoc.newPage(); cb.addTemplate(page, 0, 0); pdDoc.close(); }
private byte[] combinePdf(List<byte[]> archivos) throws DocumentException, IOException { ByteArrayOutputStream osPdf = new ByteArrayOutputStream(); com.itextpdf.text.Document document = new com.itextpdf.text.Document(); PdfWriter writer = PdfWriter.getInstance(document, osPdf); document.open(); PdfContentByte cb = writer.getDirectContent(); for (byte[] in : archivos) { PdfReader reader = new PdfReader(in); for (int i = 1; i <= reader.getNumberOfPages(); i++) { document.newPage(); PdfImportedPage page = writer.getImportedPage(reader, i); cb.addTemplate(page, 0, 0); } } osPdf.flush(); document.close(); return osPdf.toByteArray(); }
OutputStream outputStream = new FileOutputStream(new File(filename)); Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfOutline pol = cb.getRootOutline(); PdfOutline oline1 = null; InputStream in1 = new FileInputStream(new File(inf1)); PdfReader reader = new PdfReader(in1); for (int i = 1; i <= reader.getNumberOfPages(); i++) { document.newPage(); document.setMargins(0.0F, 18.0F, 18.0F, 18.0F); PdfImportedPage page = writer.getImportedPage(reader, i); document.add(new Chunk(new Integer(i).toString()).setLocalDestination(new Integer(i).toString())); System.out.println(i); cb.addTemplate(page, 0.0F, 0.0F); } outputStream.flush(); document.close(); outputStream.close();
PdfReader reader = new PdfReader(SOURCE); // step 1 Document document = new Document(PageSize.POSTCARD); // step 2 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); // step 3 document.open(); // step 4 PdfContentByte canvas = writer.getDirectContent(); PdfImportedPage page; for (int i = 1; i <= reader.getNumberOfPages(); i++) { page = writer.getImportedPage(reader, i); canvas.addTemplate(page, 1f, 0, 0, 1, 0, 0); } // step 5 document.close(); reader.close();
//Starting a new pdf document Document document = new Document(); ByteArrayOutputStream os = new ByteArrayOutputStream(); //This is your new pdf doc PdfWriter writer = PdfWriter.getInstance(document, os); document.open(); document.newPage(); //Get the file of you template, you should use try catch and then close it //I simply to just show sistem FileInputStream template = new FileInputStream("template.pdf"); //Load it into a reader PdfReader reader = new PdfReader(template); //Get the page of the template you like PdfImportedPage page = writer.getImportedPage(reader, 1); //Now you can add it to you report PdfContentByte cb = writer.getDirectContent(); cb.addTemplate(page, 0, 0); //Here goes code of other stuff that you add..
PdfReader pdfIn = new PdfReader("source.pdf"); Document document = new Document(getNormalizedPageSize(pdfIn), 0, 0, 0, 0); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("d:/target.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); for (int i = 1; i <= pdfIn.getNumberOfPages(); i++) { PdfImportedPage page = writer.getImportedPage(pdfIn, i); document.setPageSize(new Rectangle(page.getHeight(), page.getWidth())); document.newPage(); float min = Math.min(page.getHeight(), page.getWidth()); AffineTransform rotateInstance = AffineTransform.getRotateInstance(Math.PI / 2, min / 2.0, min / 2.0); double[] matrix = new double[6]; rotateInstance.getMatrix(matrix); cb.addTemplate(page, (float) matrix[0], (float) matrix[1], (float) matrix[2], (float) matrix[3], (float) matrix[4], (float) matrix[5]); } document.close();
public void makeImageFromPDF throws DocumentException, IOException { String INPUTFILE = Environment.getExternalStorageDirectory() .getAbsolutePath()+"/YOUR_DIRECTORY/inputFile.pdf"; String OUTPUTFILE = Environment.getExternalStorageDirectory() .getAbsolutePath()+"/YOUR_DIRECTORY/outputFile.pdf"; Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE)); document.open(); PdfReader reader = new PdfReader(INPUTFILE); int n = reader.getNumberOfPages(); PdfImportedPage page; // Traversing through all the pages for (int i = 1; i <= n; i++) { page = writer.getImportedPage(reader, i); Image instance = Image.getInstance(page); //Save a specific page threshold for displaying in a scroll view inside your App } document.close(); }
public class ReadAndUsePdf { private static String INPUTFILE = "c:/temp/FirstPdf.pdf"; private static String OUTPUTFILE = "c:/temp/ReadPdf.pdf"; public static void main(String[] args) throws DocumentException, IOException { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE)); document.open(); PdfReader reader = new PdfReader(INPUTFILE); int n = reader.getNumberOfPages(); PdfImportedPage page; // Go through all pages for (int i = 1; i <= n; i++) { // Only page number 2 will be included if (i == 2) { page = writer.getImportedPage(reader, i); Image instance = Image.getInstance(page); // here you can show image on your phone } } document.close(); } }
ByteArrayOutputStream os = new ByteArrayOutputStream(); Document bigDoc = new Document(PageSize.LETTER, 50, 50, 110, 60); PdfWriter writer = PdfWriter.getInstance(bigDoc, os); bigDoc.open(); Paragraph par = new Paragraph("one"); bigDoc.add(par); bigDoc.add(new Paragraph("three")); PdfReader pdfReader = new PdfReader("c:/insertable.pdf"); PdfImportedPage page = writer.getImportedPage(pdfReader, 1); bigDoc.newPage(); PdfContentByte canvas = writer.getDirectContent(); canvas.addTemplate(page, 1, 0, 0, 1, 0, 0); bigDoc.close(); pdfReader.close(); // result PDF byte[] result = os.toByteArray();
public static void doMerge(List<String> list, OutputStream outputStream) throws DocumentException, IOException { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); PdfContentByte cb = writer.getDirectContent(); for (String in : list) { PdfReader reader = new PdfReader(in); for (int i = 1; i <= reader.getNumberOfPages(); i++) { document.newPage(); // import the page from source pdf PdfImportedPage page = writer.getImportedPage(reader, i); // add the page to the destination pdf cb.addTemplate(page, 0, 0); } } outputStream.flush(); document.close(); outputStream.close();
// Create output PDF Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); PdfContentByte cb = writer.getDirectContent(); // Load existing PDF PdfReader reader = new PdfReader(templateInputStream); PdfImportedPage page = writer.getImportedPage(reader, 1); // Copy first page of existing PDF into output PDF document.newPage(); cb.addTemplate(page, 0, 0); // Add your first piece of text here document.add(new Paragraph("Customer")); // Copy second page of existing PDF into output PDF document.newPage(); cb.addTemplate(page, 0, 0); // Add your second piece of text here document.add(new Paragraph("Accounting")); // etc... document.close();
Document document = new Document(); //Rectangle pageSize = new Rectangle(792, 612); Rectangle pageSize = PageSize._11X17; document.setPageSize(pageSize); PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); PdfContentByte cb = writer.getDirectContent(); for (InputStream in : list) { PdfReader reader = new PdfReader(in); for (int i = 1; i <= reader.getNumberOfPages(); i++) { document.newPage(); //import the page from source pdf PdfImportedPage page = writer.getImportedPage(reader, i); //add the page to the destination pdf cb.addTemplate(page, 0, 0); } } outputStream.flush(); document.close(); outputStream.close();