// 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();
Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(dest)); Rectangle one = new Rectangle(70,140); Rectangle two = new Rectangle(700,400); document.setPageSize(one); document.setMargins(2, 2, 2, 2); document.open(); Paragraph p = new Paragraph("Hi"); document.add(p); document.setPageSize(two); document.setMargins(20, 20, 20, 20); document.newPage(); document.add(p); document.close();
Document doc = new Document(new Rectangle(image.getScaledWidth(), image.getScaledHeight())); // create a writer, open the document image.setAbsolutePosition(0, 0); doc.add(image); doc.newPage();
RandomAccessFileOrArray ra = new RandomAccessFileOrArray(imageFilePath); Image image = TiffImage.getTiffImage(ra, 1); Rectangle pageSize = new Rectangle(image.getWidth(), image.getHeight()); Document document = new Document(pageSize); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(outputFileName)); writer.setStrictImageSequence(true); document.open(); document.add(image); document.newPage(); document.close();
Document doc = new Document(); PdfWriter pdfWriter = PdfWriter.getInstance(document, new FileOutputStream("file.pdf")); pdfWriter.setPageEmpty(false); doc.newPage(); doc.close();
Document document = new Document(page); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest)); document.open(); PdfContentByte canvas = writer.getDirectContentUnder(); canvas.addImage(image, width, 0, 0, height, 0, -height / 2); document.newPage(); canvas.addImage(image, width, 0, 0, height, 0, 0); document.newPage(); canvas.addImage(image, width, 0, 0, height, -width / 2, - height / 2); document.newPage(); canvas.addImage(image, width, 0, 0, height, -width / 2, 0); document.close();
Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("big-panel.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(PageSize.A4.getWidth(), 3 * PageSize.A4.getHeight()); // draw all your content on tp cb.addTemplate(tp, 0, -2 * PageSize.A4.getHeight()); document.newPage(); cb.addTemplate(tp, 0, -PageSize.A4.getHeight()); document.newPage(); cb.addTemplate(tp, 0, 0); document.newPage(); cb.addTemplate(tp, 0.3333f, 0, 0, 0.3333f, PageSize.A4.getWidth() / 3, 0); document.close();
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(); }
RandomAccessFile aFile = new RandomAccessFile("/myfolder/origin.tif", "r"); FileChannel inChannel = aFile.getChannel(); FileChannelRandomAccessSource fcra = new FileChannelRandomAccessSource(inChannel); Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream("/myfolder/destination.pdf")); document.open(); RandomAccessFileOrArray rafa = new RandomAccessFileOrArray(fcra); int pages = TiffImage.getNumberOfPages(rafa); Image image; for (int i = 1; i <= pages; i++) { image = TiffImage.getTiffImage(rafa, i); Rectangle pageSize = new Rectangle(image.getWidth(), image.getHeight()); document.setPageSize(pageSize); document.newPage(); document.add(image); } document.close(); aFile.close();
public static void main(String[] args) throws IOException, DocumentException { // step 1 Document document = new Document(); // step 2 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); // step 3 document.open(); // step 4 document.add(new Paragraph("This page will NOT be followed by a blank page!")); document.newPage(); // we don't add anything to this page: newPage() will be ignored document.newPage(); document.add(new Paragraph("This page will be followed by a blank page!")); document.newPage(); writer.setPageEmpty(false); document.newPage(); document.add(new Paragraph("The previous page was a blank page!")); // step 5 document.close(); }
StringBuilder builder = new StringBuilder("test"); for (int i = 0; i < 100; i++) builder.append(" test"); String test = builder.toString(); try ( OutputStream pdfStream = new FileOutputStream(new File(RESULT_FOLDER, "ChangingMargins.pdf"))) { Document pdfDocument = new Document(PageSize.A4.rotate(), 0, 0, 0, 0); PdfWriter.getInstance(pdfDocument, pdfStream); pdfDocument.open(); for (int m = 0; m < pdfDocument.getPageSize().getWidth() / 2; m += 100) { pdfDocument.setMargins(m, m, 100, 100); pdfDocument.newPage(); pdfDocument.add(new Paragraph(test)); } pdfDocument.close(); }
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(); }
Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, ...); document.open(); for (int page = ...) { String nameForPage = ... String idForPage = ... writer.setPageEvent(new HeaderAddFooter(nameForPage, idForPage)); ... add content for page ... document.newPage(); } document.close();
public void createPdf(String dest) throws IOException, DocumentException { Image img = Image.getInstance(IMAGES[0]); Document document = new Document(img); PdfWriter.getInstance(document, new FileOutputStream(dest)); document.open(); for (String image : IMAGES) { img = Image.getInstance(image); document.setPageSize(img); document.newPage(); img.setAbsolutePosition(0, 0); document.add(img); } document.close(); }
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(); }
//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..
// 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();
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();
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();