List of usage examples for com.itextpdf.text Image getInstance
public static Image getInstance(final Image image)
From source file:com.netsteadfast.greenstep.bsc.command.KpiReportPdfCommand.java
License:Apache License
private void putSignature(PdfPTable table, Context context) throws Exception { String uploadOid = (String) context.get("uploadSignatureOid"); if (StringUtils.isBlank(uploadOid)) { return;/*from www . j a va2 s . com*/ } byte[] imageBytes = UploadSupportUtils.getDataBytes(uploadOid); if (null == imageBytes) { return; } Image signatureImgObj = Image.getInstance(imageBytes); signatureImgObj.setWidthPercentage(40f); PdfPCell cell = new PdfPCell(); cell.setBorder(Rectangle.NO_BORDER); cell.addElement(signatureImgObj); table.addCell(cell); }
From source file:com.norbsoft.pdfconverter.helpers.PDFHelper.java
License:Open Source License
public int generate(String saveUrl, SerializableBitmap sign, Form form, ArrayList<String> photos, ArrayList<String> workers) { try {/*from ww w . j a va 2s .c o m*/ Document document = new Document(); url = saveUrl; PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(url)); document.setMargins(20, 20, 20, 20); document.open(); Bitmap inputLogo = BitmapFactory.decodeStream(context.getAssets().open("logo.jpg")); ByteArrayOutputStream outstream = new ByteArrayOutputStream(); inputLogo.compress(Bitmap.CompressFormat.JPEG, 100, outstream); Image logo = Image.getInstance(outstream.toByteArray()); Bitmap inputQR = BitmapFactory.decodeStream(context.getAssets().open("qr.jpg")); outstream = new ByteArrayOutputStream(); inputQR.compress(Bitmap.CompressFormat.JPEG, 100, outstream); Image qr = Image.getInstance(outstream.toByteArray()); outstream = new ByteArrayOutputStream(); sign.getImage().compress(Bitmap.CompressFormat.JPEG, 100, outstream); Image sgn = Image.getInstance(outstream.toByteArray()); qr.scaleAbsolute(90f, 90f); qr.setAbsolutePosition(340f, 705f); logo.scaleAbsolute(150f, 50f); logo.setAbsolutePosition(50f, 750f); sgn.scaleAbsolute(130f, 30f); sgn.setAbsolutePosition(25f, 75f); Paragraph p = new Paragraph("\r\n\r\n\r\nMPWiK S.A.\r\n50-421 Wrocaw\r\nul.Na Grobli 14-16", normal); p.setIndentationLeft(420f); document.add(p); p = new Paragraph("RAPORT WYMIANY WODOMIERZA", bold); p.setAlignment(Element.ALIGN_CENTER); p.setSpacingBefore(60f); document.add(p); document.add(table(form)); p = new Paragraph(form.getInformations(), normal); p.setAlignment(Element.ALIGN_LEFT); p.setIndentationLeft(50f); p.setSpacingBefore(20f); document.add(p); document.add(signTable(form, sgn, workers)); document.add(logo); document.add(qr); if (photos != null && photos.size() > 0) { document.newPage(); for (int i = 0; i < photos.size(); i++) { try { if (photos.get(i) != null && !photos.get(i).equals("")) { Log.d(TAG, photos.get(i)); Bitmap temp = PictureHelper.bitmapFromUrl(photos.get(i)); outstream = new ByteArrayOutputStream(); temp.compress(Bitmap.CompressFormat.JPEG, 100, outstream); Image photo = Image.getInstance(outstream.toByteArray()); photo.scaleToFit(document.getPageSize().getWidth() - 50, document.getPageSize().getHeight()); document.add(photo); } } catch (Exception e) { } } } document.close(); writer.close(); return 1; } catch (FileNotFoundException e) { Log.e(TAG, e.getMessage()); return 0; } catch (DocumentException e) { Log.e(TAG, e.getMessage()); return 0; } catch (IOException e) { Log.e(TAG, e.getMessage()); return 0; } catch (Exception e) { Log.e(TAG, e.getMessage()); return 0; } }
From source file:com.pdf.GetPdf.java
private void convertToPdf(String url, ServletOutputStream out) { try {/*w w w . jav a 2 s . c o m*/ String contentType = new URL(url).openConnection().getContentType(); Document document = new Document(); PdfWriter.getInstance(document, out); document.open(); if (contentType.equalsIgnoreCase("application/vnd.ms-excel")) { addXls(document, url, "xls"); } else if (contentType .equalsIgnoreCase("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")) { addXls(document, url, "xlsx"); } else if (contentType.equalsIgnoreCase("application/msword")) { docConvert(document, url, "doc"); } else if (contentType .equalsIgnoreCase("application/vnd.openxmlformats-officedocument.wordprocessingml.document")) { docConvert(document, url, "docx"); } else if (contentType.equalsIgnoreCase("image/tiff")) { addTif(document, url); } else if (contentType.equalsIgnoreCase("image/gif")) { addGif(document, url); } else { Image image = Image.getInstance(url); image.scaleToFit(550, 800); document.add(image); } document.close(); } catch (MalformedURLException ex) { Logger.getLogger(GetPdf.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(GetPdf.class.getName()).log(Level.SEVERE, null, ex); } catch (DocumentException ex) { Logger.getLogger(GetPdf.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.pdfs.GeneradorVisitas.java
public GeneradorVisitas(String rutafirma) { rutaimg = rutafirma;//w ww.ja v a 2 s.c om try { foto = Image.getInstance(rutaimg + "firma.jpg"); foto.scaleToFit(100, 100); foto.setAbsolutePosition(60, 715); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.pdi.util.PdfGenerator.java
public static void generarPresupuesto(String lugar, Date fecha, float cantidad, String tipo, Cliente cliente, float precio, Aliado aliado, String path) { try {//from w ww.j a v a 2 s. c o m NEGRITA_12_VERDE.setColor(145, 189, 57); long miliSemana = System.currentTimeMillis() + (86400 * 7 * 1000); Date vtoPresup = new Date(miliSemana); float precioPers = precio / cantidad; int precioTotalInt = Math.round(precio); int precioPersInt = Math.round(precioPers); int cantPersonasInt = Math.round(cantidad); //Referencia al objeto Doc Document document = new Document(PageSize.A4, //Dimensiones 36, //margIzq 36, //margDer 36, //margenSup 36); // margenInf //Creamos el archivo fisico FileOutputStream salida = new FileOutputStream(path); //Referencia e inicializacion del objeto que "escribe" el PDF PdfWriter writer = PdfWriter.getInstance(document, salida); writer.setInitialLeading(0); //Imagen Logo Image logoPDI = Image.getInstance("Logo PDI.png"); logoPDI.scaleToFit(215, 205); logoPDI.setAlignment(Chunk.ALIGN_LEFT); //image.setAbsolutePosition(200, 200); //Imagen QR Image qr = Image.getInstance("QR PDI.png"); qr.scaleToFit(211, 165); qr.setAbsolutePosition(295, PageSize.A4.getHeight() - 390); //Parrafo info evento Paragraph infoEvento = new Paragraph(); infoEvento.add(new Chunk("Informacin del Evento", NEGRITA_SUB_12)); infoEvento.add(Chunk.NEWLINE); infoEvento.add(negritaNormal("Solicitante: ", cliente.toString())); infoEvento.add(negritaNormal("Evento: ", tipo)); infoEvento.add(negritaNormal("Cantidad de personas: ", Integer.toString(cantPersonasInt))); infoEvento.add(negritaNormal("Fecha: ", General.formatoFecha.format(fecha))); infoEvento.add(negritaNormal("Lugar: ", lugar)); infoEvento.add(Chunk.NEWLINE); infoEvento.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Modalidad del Servicio Paragraph modalidadServicio = new Paragraph(); modalidadServicio.add(new Chunk("Modalidad Servicio Integral", NEGRITA_SUB_12)); modalidadServicio.add(Chunk.NEWLINE); modalidadServicio.add(new Chunk("Nuestro servicio incluye la totalidad de lo referido a" + " los elementos necesarios para el despacho de bebidas: Barras, Bartenders," + " Artculos de Coctelera, Insumos de calidad para los tragos y Mucha Buena Onda." + " Con esta modalidad aseguramos la expedicin de " + "los tragos desde las 00hs hasta las 05hs, para que se desentiendan del asunto " + "y disfruten al mximo.", NORMAL_12)); modalidadServicio.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Ver Carta Paragraph verCarta = new Paragraph(); verCarta.add(negritaNormal("\u2022 Carta de Tragos: ", "Ver archivo adjunto.")); verCarta.setIndentationLeft(20); verCarta.add(Chunk.NEWLINE); verCarta.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Titulo Info Contratacion Paragraph infoContratacionTitulo = new Paragraph(); infoContratacionTitulo.add(new Chunk("Informacin de Contratacin", NEGRITA_SUB_12)); infoContratacionTitulo.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Inf de Contratacion Paragraph infoContratacion = new Paragraph(); infoContratacion.add(negritaNormal("\u2022 Mtodo de contratacin y reserva de la fecha: ", "A travs de contrato firmado por ambas partes. ")); Phrase lineaCosto = new Phrase(); lineaCosto.add(new Chunk("\u2022 Costo: ", NEGRITA_12)); lineaCosto.add(new Chunk("$" + Integer.toString(precioPersInt) + " ", NEGRITA_14)); lineaCosto.add(new Chunk("por persona ", NEGRITA_12)); lineaCosto.add(new Chunk("(Total: $" + Integer.toString(precioTotalInt) + ")", NEGRITA_14)); infoContratacion.add(lineaCosto); infoContratacion.add(Chunk.NEWLINE); infoContratacion.add(negritaNormal("\u2022 Forma de Pago : ", "50% al momento de la firma del contrato y 50% como mximo una semana antes del evento. ")); infoContratacion.add(Chunk.NEWLINE); infoContratacion.setIndentationLeft(20); infoContratacion.setFirstLineIndent(0); infoContratacion.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Despedida Paragraph despedida = new Paragraph(); despedida.add(new Phrase("Quedamos al aguardo de tus comentarios,", NEGRITA_14)); despedida.add(Chunk.NEWLINE); despedida.add(new Phrase("Muchas Gracias.", NEGRITA_14)); despedida.add(Chunk.NEWLINE); despedida.add(Chunk.NEWLINE); despedida.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Firma Paragraph firma = new Paragraph(); firma.add(new Phrase("Piel de Iguana Tragos.-", NEGRITA_CUR_14)); firma.add(Chunk.NEWLINE); firma.add(new Phrase("Cel.: 3462-15337860", NEGRITA_12_VERDE)); firma.setAlignment(Paragraph.ALIGN_RIGHT); float llxLink = 279; float llyLink = PageSize.A4.getHeight() - 145; float anchoLink = 199; float altoLink = 16; //Link al facebook URL urlPDI = new URL("https://www.facebook.com/pieldeiguanatragos.vt"); PdfAction irAlFace = new PdfAction(urlPDI); Rectangle linkLocation = new Rectangle(llxLink, llyLink, llxLink + anchoLink, llyLink + altoLink); PdfAnnotation link = PdfAnnotation.createLink(writer, linkLocation, PdfAnnotation.HIGHLIGHT_NONE, irAlFace); link.setBorder(new PdfBorderArray(0, 0, 0)); writer.addAnnotation(link); //Espacios Vacios Paragraph dosEspacios = new Paragraph(); dosEspacios.add(Chunk.NEWLINE); dosEspacios.add(Chunk.NEWLINE); //Hay que abrir el Documento, llenarlo con los elemntos creados //en el orden que queremos y cerrarlo document.open(); PdfContentByte cb = writer.getDirectContent(); ColumnText ct = new ColumnText(cb); Phrase recuadro = new Phrase(); recuadro.add(new Chunk("Piel de Iguana Tragos", NEGRITA_SUB_14)); recuadro.add(Chunk.NEWLINE); recuadro.add(new Chunk("Servicio de tragos para eventos", NEGRITA_12)); recuadro.add(Chunk.NEWLINE); recuadro.add(Chunk.NEWLINE); recuadro.add(new Chunk("\"Piel de Iguana, para que tu noche nica sea inigualable.\"", NORMAL_CUR_12)); recuadro.add(Chunk.NEWLINE); recuadro.add(Chunk.NEWLINE); Image logoFB = Image.getInstance("Icono FB.png"); logoFB.scaleToFit(13, 13); recuadro.add(new Chunk(logoFB, 0, -3)); recuadro.add(new Chunk("/pieldeiguanatragos.vt -> Click Aqu!", NORMAL_12)); recuadro.add(Chunk.NEWLINE); recuadro.add(Chunk.NEWLINE); recuadro.add(new Chunk("Vencimiento del Prepuesto " + General.formatoFecha.format(vtoPresup), NORMAL_SUB_12)); float llx = 279; float lly = PageSize.A4.getHeight() - 185; float ancho = 228; float alto = 150; ct.setSimpleColumn(recuadro, //Texto llx, //punta inf izquierda (x) lly, //punta inf izquierda (y) PageSize.A4.getHeight() - 185 llx + ancho, //ancho del cuadro lly + alto, // alto del cuadro 15, //espaciado Element.ALIGN_LEFT // Alineacion ); ct.go(); document.add(logoPDI); document.add(qr); document.add(dosEspacios); document.add(infoEvento); document.add(modalidadServicio); document.add(verCarta); document.add(infoContratacionTitulo); document.add(infoContratacion); document.add(despedida); document.add(firma); document.close(); System.out.println("Archivo creado"); int rta = JOptionPane.showConfirmDialog(VentanaMaestra.eventosCurrent, "Se guard el presupesto en:\n" + path + "\nDesea abrirlo?", "Presupuesto guardado", JOptionPane.YES_NO_OPTION); if (rta == JOptionPane.YES_OPTION) { if (Desktop.isDesktopSupported()) { try { File myFile = new File(path); Desktop.getDesktop().open(myFile); } catch (IOException ex) { JOptionPane.showMessageDialog(VentanaMaestra.eventosCurrent, "No se puede abrir el archivo. Ubiquelo en su equipo" + "y abralo manualmente.", "Error al abrir el archivo", JOptionPane.ERROR_MESSAGE); } } else { JOptionPane.showMessageDialog(VentanaMaestra.eventosCurrent, "No se puede abrir el archivo. Ubiquelo en su equipo" + "y abralo manualmente.", "Error al abrir el archivo", JOptionPane.ERROR_MESSAGE); } } } catch (FileNotFoundException ex) { System.out.println("Error: " + ex.toString()); } catch (DocumentException ex) { System.out.println("Error: " + ex.toString()); } catch (IOException ex) { System.out.println("Error: " + ex.toString()); } }
From source file:com.photoshop.misc.Factuurgenerator.java
private void addTitlePage(Document document) throws DocumentException { Paragraph preface = new Paragraph(); addEmptyLine(preface, 1);/*w ww . j a va 2 s .co m*/ Image Logo = null; try { Logo = Image.getInstance(env.getProperty("logo") + "Photoshop_black.png"); Logo.scaleAbsolute(200, 100); } catch (BadElementException | IOException ex) { Logger.getLogger(OrderController.class.getName()).log(Level.SEVERE, null, ex); } SimpleDateFormat simpledatafo = new SimpleDateFormat("dd/MM/yyyy"); preface.add(Logo); Paragraph datum = new Paragraph(this.Getspringmessage("Date") + ": " + simpledatafo.format(new Date()), smallBold); datum.setAlignment(Element.ALIGN_RIGHT); preface.add(datum); Paragraph Factuurnummer = new Paragraph(this.Getspringmessage("invoicenumber") + ": " + order.getId(), smallBold); Factuurnummer.setAlignment(Element.ALIGN_RIGHT); preface.add(Factuurnummer); addEmptyLine(preface, 1); //Aanmaken van de bedrijfs gegevens preface.add(new Paragraph(this.Getspringmessage("company"), subtitel)); preface.add(new Paragraph("Rachelsmolen 1", subFont)); preface.add(new Paragraph("5612MA Eindhoven", subFont)); //order nummer ingelezen worde preface.add(new Paragraph(this.Getspringmessage("accountNumber") + ": 165947888", subFont)); preface.add(new Paragraph("Bank: Paypal", subFont)); addEmptyLine(preface, 1); //Aanmaken van de bestellende persoons gegevens preface.add(new Paragraph(this.Getspringmessage("reciver") + ":", subtitel)); preface.add(new Paragraph(order.getInvoiceaddress().getKlantnaam(), subFont)); //order nummer ingelezen worde preface.add(new Paragraph(order.getInvoiceaddress().getAdres(), subFont)); preface.add(new Paragraph( order.getInvoiceaddress().getPostcode() + " " + order.getInvoiceaddress().getWoonplaats(), subFont)); preface.add(new Paragraph(order.getInvoiceaddress().getTelefoonnummer(), subFont)); addEmptyLine(preface, 1); //Aanmaken van de start zin preface.add(new Paragraph( this.Getspringmessage("dear") + " " + order.getInvoiceaddress().getKlantnaam() + ",", subtitel)); addEmptyLine(preface, 1); preface.add(new Paragraph(this.Getspringmessage("paymentvieuw"), subFont)); addEmptyLine(preface, 1); //Aanmaken van de betaal tabel createTable(preface); //Overzicht bwt bedrag addEmptyLine(preface, 1); Paragraph btw = new Paragraph(this.Getspringmessage("taxamount") + ": " + " " + String.format("%.2f", (this.totaalprijs / 100) * 19), subFont); btw.setAlignment(Element.ALIGN_RIGHT); preface.add(btw); //Overzicht Totaalbedrag Paragraph Totaalbedrag = new Paragraph( this.Getspringmessage("totalamount") + ": " + " " + String.format("%.2f", this.totaalprijs), subtitel); Totaalbedrag.setAlignment(Element.ALIGN_RIGHT); preface.add(Totaalbedrag); addEmptyLine(preface, 1); //Toevoegen footerzin Paragraph footer = new Paragraph(this.Getspringmessage("invoicend"), subFont); footer.setAlignment(Element.ALIGN_CENTER); preface.add(footer); document.add(preface); Mailgenerator mail = new Mailgenerator(); mail.Sendmail("willem1995@hotmail.com", order, env, filename); }
From source file:com.photoshop.misc.Indexkaartgenerator.java
private void addTitlePage(Document document) throws DocumentException { document.newPage();/* w w w . ja v a2s . c o m*/ Paragraph preface = new Paragraph(); addEmptyLine(preface, 1); Image Logo = null; try { Logo = Image.getInstance(env.getProperty("logo") + "Photoshop_black.png"); Logo.scaleAbsolute(200, 100); } catch (BadElementException | IOException ex) { Logger.getLogger(OrderController.class.getName()).log(Level.SEVERE, null, ex); } SimpleDateFormat simpledatafo = new SimpleDateFormat("dd/MM/yyyy"); preface.add(Logo); Paragraph datum = new Paragraph(Getspringmessage("Date") + " " + simpledatafo.format(new Date()), smallBold); datum.setAlignment(Element.ALIGN_RIGHT); preface.add(datum); Paragraph Factuurnummer = new Paragraph(this.Getspringmessage("invoicenumber") + " " + order.getId(), smallBold); Factuurnummer.setAlignment(Element.ALIGN_RIGHT); preface.add(Factuurnummer); addEmptyLine(preface, 1); //Aanmaken van de bedrijfs gegevens preface.add(new Paragraph(this.Getspringmessage("company"), subtitel)); preface.add(new Paragraph("Rachelsmolen 1", subFont)); preface.add(new Paragraph("5612MA Eindhoven", subFont)); //order nummer ingelezen worde preface.add(new Paragraph(this.Getspringmessage("accountNumber") + ": 165947888", subFont)); preface.add(new Paragraph("Bank: Paypal", subFont)); addEmptyLine(preface, 1); //Aanmaken van de bestellende persoons gegevens preface.add(new Paragraph(this.Getspringmessage("reciver") + ": ", subtitel)); preface.add(new Paragraph(order.getInvoiceaddress().getKlantnaam(), subFont)); //order nummer ingelezen worde preface.add(new Paragraph(order.getInvoiceaddress().getAdres(), subFont)); preface.add(new Paragraph( order.getInvoiceaddress().getPostcode() + " " + order.getInvoiceaddress().getWoonplaats(), subFont)); preface.add(new Paragraph(order.getInvoiceaddress().getTelefoonnummer(), subFont)); addEmptyLine(preface, 1); //Aanmaken van de start zin preface.add(new Paragraph(this.Getspringmessage("dear") + " " + order.getInvoiceaddress().getKlantnaam(), subtitel)); addEmptyLine(preface, 1); preface.add(new Paragraph( this.Getspringmessage("allordersby") + " " + order.getInvoiceaddress().getKlantnaam(), subFont)); addEmptyLine(preface, 1); //Aanmaken van de betaal tabel createTable(preface); //Toevoegen footerzin Paragraph footer = new Paragraph(this.Getspringmessage("thanksforordering"), subFont); footer.setAlignment(Element.ALIGN_CENTER); preface.add(footer); document.add(preface); }
From source file:com.photoshop.misc.Indexkaartgenerator.java
private void createTable(Paragraph preface) throws BadElementException, DocumentException { // create header cell PdfPTable table = new PdfPTable(4); // set the width of the table to 100% of page table.setWidthPercentage(100);/*from w w w .j a va 2 s. c o m*/ table.setWidths(new float[] { 1f, 0.6f, 0.4f, 2f }); table.setHeaderRows(1); creatCell("Voorbeeld foto", table, true); creatCell("Aantal", table, true); creatCell("PhotoID", table, true); creatCell("Beschrijving", table, true); for (OrderRow row : order.getOrderRows()) { Photo pfdphoto = this.photoDao.getById(row.getPhoto_id()); Image Logo = null; try { String filename = env.getProperty("uploadDir") + "thumb/" + pfdphoto.getThumbnailURL(); Logo = Image.getInstance(filename); Logo.scaleAbsolute(75, 50); } catch (BadElementException | IOException ex) { Logger.getLogger(OrderController.class.getName()).log(Level.SEVERE, null, ex); } PdfPCell c1 = new PdfPCell(Logo); c1.setHorizontalAlignment(Element.ALIGN_CENTER); c1.setPaddingTop(10); c1.setPaddingBottom(10); table.addCell(c1); creatCell(row.getAantal() + "", table, false); creatCell(row.getPhoto_id() + "", table, false); creatCell(row.getProduct().getName(), table, false); } preface.add(table); }
From source file:com.planning.project.controller.CreatePDF.java
private static void addTitlePage(Document document) throws DocumentException, IOException { Font font = new Font(BaseFont.createFont("D:/THSarabunNew.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED)); font.setSize(24);//from w ww . j a va2 s . c o m String imagepath = "src/main/webapp/resources/images/curt.gif"; Image img = Image.getInstance(imagepath); img.scaleToFit(70f, 70f); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy"); Paragraph created = new Paragraph(); created.setFont(TIME_ROMAN_SMALL); created.add("Report created on " + simpleDateFormat.format(new Date())); created.setAlignment(Element.ALIGN_RIGHT); Paragraph logo = new Paragraph(); logo.setFont(TIME_ROMAN_SMALL); logo.add(img); logo.setAlignment(Element.ALIGN_LEFT); document.add(created); document.add(logo); // Paragraph created = new Paragraph(); // created.setFont(TIME_ROMAN_SMALL); // created.add("Report created on " + simpleDateFormat.format(new // Date())); // created.setAlignment(Element.ALIGN_RIGHT); Paragraph paragraph = new Paragraph(); paragraph.setFont(font); paragraph.add("FormProject "); paragraph.setAlignment(Element.ALIGN_CENTER); document.add(paragraph); creteEmptyLine(created, 1); }
From source file:com.planning.project.controller.CreatePDF.java
private static void addTitlePageProject(Document document) throws DocumentException, IOException { Font font = new Font(BaseFont.createFont("D:/THSarabunNew.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED)); font.setSize(24);/*from ww w .j av a 2 s . com*/ String imagepath = "src/main/webapp/resources/images/logo.jpg"; Image img = Image.getInstance(imagepath); img.scaleToFit(70f, 70f); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy"); Paragraph created = new Paragraph(); created.setFont(TIME_ROMAN_SMALL); created.add("Report created on " + simpleDateFormat.format(new Date())); created.setAlignment(Element.ALIGN_RIGHT); Paragraph logo = new Paragraph(); logo.setFont(TIME_ROMAN_SMALL); logo.add(img); logo.setAlignment(Element.ALIGN_LEFT); document.add(created); document.add(logo); // Paragraph created = new Paragraph(); // created.setFont(TIME_ROMAN_SMALL); // created.add("Report created on " + simpleDateFormat.format(new // Date())); // created.setAlignment(Element.ALIGN_RIGHT); Paragraph paragraph = new Paragraph(); paragraph.setFont(font); paragraph.add( "??"); paragraph.setAlignment(Element.ALIGN_CENTER); document.add(paragraph); creteEmptyLine(created, 1); }