List of usage examples for com.itextpdf.text.pdf PdfStamper getOverContent
public PdfContentByte getOverContent(final int pageNum)
PdfContentByte
to write over the page of the original document. From source file:Registration_Transient.java
private void saveToPdf() { try {/*from w w w . j ava2 s. c o m*/ com.itextpdf.text.Document doc = new com.itextpdf.text.Document(); BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt")); String path = ""; try { StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line); sb.append(System.lineSeparator()); line = br.readLine(); } path = sb.toString().trim(); } finally { br.close(); } FileOutputStream fos = new FileOutputStream(path + "\\transient\\" + lastNameTextField.getText().trim() + ", " + firstNameTextField.getText().trim() + "TransientForm.pdf"); PdfWriter.getInstance(doc, fos); PdfReader pdfReader = new PdfReader("TransientForm.pdf"); PdfStamper pdfStamper = new PdfStamper(pdfReader, fos); //doc.open(); //doc.add(new Paragraph(contents.getText().trim() + "-markram")); float varPosition = 0; for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) { PdfContentByte content = pdfStamper.getOverContent(i); //Text over the existing page BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED); content.beginText(); content.setFontAndSize(bf, 10); varPosition = 15; //last name content.showTextAligned(PdfContentByte.ALIGN_LEFT, lastNameTextField.getText().trim() + ", " + firstNameTextField.getText().trim(), 100, 661 + varPosition, 0); //first name content.showTextAligned(PdfContentByte.ALIGN_LEFT, new SimpleDateFormat("MM/dd/yyyy").format(Calendar.getInstance().getTime()), 400, 661 + varPosition, 0); if (residentNameCheckBox.isSelected()) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, residentComboBox.getSelectedItem().toString(), 125, 633 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, residentComboBox.getSelectedItem().toString(), 470, 633 + varPosition, 0); } else { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "N / A", 125, 633 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, "N / A", 470, 633 + varPosition, 0); } content.showTextAligned(PdfContentByte.ALIGN_LEFT, mobileNoTextField.getText(), 135, 590 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, emailTextField.getText(), 400, 590 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, addressTextField.getText(), 175, 577 + varPosition, 0); varPosition = 35; content.showTextAligned(PdfContentByte.ALIGN_LEFT, roomReservedTextField.getText(), 135, 507 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, dateArrivalChooserCombo.getText(), 135, 493 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, dateDepartureChooserCombo.getText(), 435, 493 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, guestSpinner.getValue().toString(), 180, 478 + varPosition, 0); for (int count = 0; count < guestTable.getRowCount(); count++) { float x = 50; if (count <= 3) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, guestTable.getValueAt(count, 0).toString(), x, 435 + varPosition, 0); varPosition -= 13; if (count == 3) { varPosition = 35; } } else if (count >= 4 & count <= 7) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, guestTable.getValueAt(count, 0).toString(), x + 200, 435 + varPosition, 0); varPosition -= 13; if (count == 7) { varPosition = 35; } } else { content.showTextAligned(PdfContentByte.ALIGN_LEFT, guestTable.getValueAt(count, 0).toString(), x + 400, 435 + varPosition, 0); varPosition -= 13; } } content.endText(); } pdfStamper.close(); pdfReader.close(); } catch (DocumentException ex) { // Logger.getLogger(Registration_Transient.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); } catch (FileNotFoundException ex) { // Logger.getLogger(Registration_Transient.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); } catch (IOException ex) { // Logger.getLogger(Registration_Transient.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); } }
From source file:Billing_v2.java
public boolean saveStatementOfAccountToPDF(ArrayList<String> info) { try {// ww w.j a v a2 s. com BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt")); String path = ""; try { StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line); sb.append(System.lineSeparator()); line = br.readLine(); } path = sb.toString().trim(); } finally { br.close(); } com.itextpdf.text.Document doc = new com.itextpdf.text.Document(); FileOutputStream fos = new FileOutputStream( path + "\\residentStatementOfAccount\\" + info.get(0) + "statementOfAccounts.pdf"); PdfWriter pdfWriter = PdfWriter.getInstance(doc, fos); PdfReader pdfReader = new PdfReader("statementOfAccounts.pdf"); PdfStamper pdfStamper = new PdfStamper(pdfReader, fos); java.util.Date date = new SimpleDateFormat("yyyy-MM-dd").parse(info.get(6)); for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) { PdfContentByte content = pdfStamper.getOverContent(i); BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED); content.beginText(); content.setFontAndSize(bf, 10); //month content.showTextAligned(PdfContentByte.ALIGN_LEFT, new SimpleDateFormat("MMMM").format(date), 205, 625, 0); //name content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(0), 125, 610, 0); //roomNumber content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(1), 130, 598, 0); //monthly rate content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(2), 205, 560, 0); //Shuttle rate content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(3), 205, 545, 0); //gadget rate content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(4), 205, 530, 0); //additional fee content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(5), 205, 518, 0); //total amount Double totalAmount = Double.parseDouble(info.get(2)) + Double.parseDouble(info.get(3)) + Double.parseDouble(info.get(4)); content.showTextAligned(PdfContentByte.ALIGN_LEFT, totalAmount + "", 205, 490, 0); //due date Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MONTH, Calendar.MONTH - 1); content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(7), 130, 463, 0); content.endText(); } pdfStamper.close(); pdfReader.close(); fos.close(); pdfWriter.close(); return true; } catch (DocumentException | ParseException ex) { // Logger.getLogger(Billing_v2.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); return false; } catch (FileNotFoundException ex) { // Logger.getLogger(Billing_v2.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); return false; } catch (IOException ex) { // Logger.getLogger(Billing_v2.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); return false; } }
From source file:adams.flow.transformer.pdfstamp.Image.java
License:Open Source License
/** * Performs the actual stamping.// w w w . ja v a 2 s . c o m * * @param stamper the stamper to use * @param page the page to apply the stamp to */ protected void doStamp(PdfStamper stamper, int page) { PdfContentByte canvas; com.itextpdf.text.Image image; canvas = stamper.getOverContent(page + 1); try { image = com.itextpdf.text.Image.getInstance(m_Image.getAbsolutePath()); image.setAbsolutePosition(m_X, m_Y); if (m_Rotation != 0) { image.setRotationDegrees(m_Rotation); image.rotate(); } if (m_Scale > 0) { image.scaleToFit(stamper.getReader().getPageSize(page + 1).getWidth() * m_Scale, stamper.getReader().getPageSize(page + 1).getHeight() * m_Scale); } canvas.addImage(image); } catch (Exception e) { getLogger().log(Level.SEVERE, "Failed to insert image: " + m_Image, e); } }
From source file:adams.flow.transformer.pdfstamp.Text.java
License:Open Source License
/** * Performs the actual stamping.// w w w . j av a2s .com * * @param stamper the stamper to use * @param page the page to apply the stamp to */ protected void doStamp(PdfStamper stamper, int page) { PdfContentByte canvas; String text; text = getOptionManager().getVariables().expand(m_Template); text = text.replace(PLACEHOLDER_0PAGE, "" + page); text = text.replace(PLACEHOLDER_1PAGE, "" + (page + 1)); canvas = stamper.getOverContent(page + 1); ColumnText.showTextAligned(canvas, m_Alignment.getAlignment(), new Paragraph(text, m_Font.toFont()), m_X, m_Y, m_Rotation); }
From source file:be.roots.taconic.pricingguide.service.PDFServiceImpl.java
License:Open Source License
private byte[] personalize(byte[] pdf, Contact contact, Toc tableOfContents) throws IOException, DocumentException { try (final ByteArrayOutputStream bos = new ByteArrayOutputStream()) { final PdfReader reader = new PdfReader(pdf); final PdfStamper stamper = new PdfStamper(reader, bos); // stamp some text on first page PdfContentByte text = stamper.getOverContent(1); text.beginText();//from www . j a v a 2 s .com text.setColorFill(iTextUtil.getFontCoverText().getColor()); text.setFontAndSize(iTextUtil.getFontCoverText().getBaseFont(), iTextUtil.getFontCoverText().getSize()); text.showTextAligned(Element.ALIGN_RIGHT, coverTitle1, text.getPdfDocument().getPageSize().getWidth() - 15, 195, 0); text.showTextAligned(Element.ALIGN_RIGHT, coverTitle2, text.getPdfDocument().getPageSize().getWidth() - 15, 175, 0); text.showTextAligned(Element.ALIGN_RIGHT, contact.getCurrency().getTitlePageDescription(), text.getPdfDocument().getPageSize().getWidth() - 15, 80, 0); text.setColorFill(iTextUtil.getFontCoverPricingguide().getColor()); text.setFontAndSize(iTextUtil.getFontCoverPricingguide().getBaseFont(), iTextUtil.getFontCoverPricingguide().getSize()); text.showTextAligned(Element.ALIGN_RIGHT, coverTitle3, text.getPdfDocument().getPageSize().getWidth() - 15, 145, 0); text.setColorFill(iTextUtil.getFontCoverYear().getColor()); text.setFontAndSize(iTextUtil.getFontCoverYear().getBaseFont(), iTextUtil.getFontCoverYear().getSize()); text.showTextAligned(Element.ALIGN_RIGHT, coverTitle4, text.getPdfDocument().getPageSize().getWidth() - 15, 105, 0); text.endText(); // stamp some text on first page of the table of contents page final Image logoImage = iTextUtil.getImageFromByteArray(HttpUtil.readByteArray( pdfTemplate.getLogo().getUrl(), defaultService.getUserName(), defaultService.getPassword())); final PdfContentByte tocContent = stamper.getOverContent(tableOfContents.getFirstPageOfToc()); final float resizeRatio = logoImage.getHeight() / 85; // define the desired height of the log tocContent.addImage(logoImage, logoImage.getWidth() / resizeRatio, 0, 0, logoImage.getHeight() / resizeRatio, 59, 615); text = stamper.getOverContent(tableOfContents.getFirstPageOfToc()); text.beginText(); text.setColorFill(iTextUtil.getFontPersonalization().getColor()); text.setFontAndSize(iTextUtil.getFontPersonalization().getBaseFont(), iTextUtil.getFontPersonalization().getSize()); text.showTextAligned(Element.ALIGN_LEFT, "Prepared for:", 355, 681, 0); text.showTextAligned(Element.ALIGN_LEFT, contact.getFullName(), 355, 662, 0); // set company name if (!StringUtils.isEmpty(contact.getCompany())) { text.showTextAligned(Element.ALIGN_LEFT, contact.getCompany(), 355, 643, 0); text.showTextAligned(Element.ALIGN_LEFT, new SimpleDateFormat("MM-dd-yyyy").format(new Date()), 355, 624, 0); } else { text.showTextAligned(Element.ALIGN_LEFT, new SimpleDateFormat("MM-dd-yyyy").format(new Date()), 355, 643, 0); } text.endText(); final ColumnText ct = new ColumnText(tocContent); ct.setSimpleColumn(new Rectangle(55, 517, iTextUtil.PAGE_SIZE.getWidth() - 45, 575)); final List<Element> elements = HTMLWorker.parseToList(new StringReader(disclaimer), null); final Paragraph p = new Paragraph(); p.setAlignment(Element.ALIGN_JUSTIFIED); for (Element element : elements) { for (Chunk chunk : element.getChunks()) { chunk.setFont(iTextUtil.getFontDisclaimer()); } p.add(element); } ct.addElement(p); ct.go(); stamper.close(); reader.close(); return bos.toByteArray(); } }
From source file:be.roots.taconic.pricingguide.service.PDFServiceImpl.java
License:Open Source License
private byte[] stampTableOfContents(byte[] pdf, Toc tableOfContents) throws IOException, DocumentException { try (final ByteArrayOutputStream bos = new ByteArrayOutputStream()) { final PdfReader reader = new PdfReader(pdf); final PdfStamper stamper = new PdfStamper(reader, bos); // stamp the named destinations for (int pageNumber = 1; pageNumber <= reader.getNumberOfPages(); pageNumber++) { stamper.addNamedDestination("page" + pageNumber, pageNumber, new PdfDestination(PdfDestination.XYZ, 80f, 800f, 0)); }/*from w w w . jav a2 s.c o m*/ // create the table of contents final Chunk tocTitle = new Chunk("TABLE OF CONTENTS", iTextUtil.getFontTocTitle()); int currentTocPage = tableOfContents.getFirstPageOfToc(); int firstTocPage = currentTocPage; PdfContentByte canvas = stamper.getOverContent(currentTocPage); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(tocTitle), 55, 470, 0); final List<TocEntry> entriesSorted = tableOfContents.getEntriesSorted(); int tocEntryNumber = 0; for (TocEntry tocEntry : entriesSorted) { if (tocEntry.isIncludedInToc()) { tocEntryNumber++; // take the right TOC page to stamp the TOC entry on (needed for TOC's with multiple pages) if (tocEntryNumber == getNumberOfItemsPerTocPage(0) || (tocEntryNumber > getNumberOfItemsPerTocPage(0) && (tocEntryNumber - getNumberOfItemsPerTocPage(0)) % getNumberOfItemsPerTocPage(currentTocPage - firstTocPage) == 0)) { currentTocPage++; canvas = stamper.getOverContent(currentTocPage); } Font font = iTextUtil.getFontToc(); if (tocEntry.getLevel() == 1) { font = iTextUtil.getFontTocBold(); } final Phrase p = processHtmlCodes(tocEntry.getLevelString() + tocEntry.getName(), font, iTextUtil.getFontTocSymbol()); p.add(new Chunk("", iTextUtil.getFontToc())); if (tocEntry.isShowingPageNumber()) { p.add(new Chunk(new DottedLineSeparator())); p.add(new Chunk(" " + String.valueOf(tocEntry.getFinalPageNumber()), iTextUtil.getFontToc())); } for (Chunk chunk : p.getChunks()) { chunk.setAction(PdfAction.gotoLocalPage("page" + tocEntry.getFinalPageNumber(), false)); } int y; if (tocEntryNumber < getNumberOfItemsPerTocPage(0)) { y = 460 - (16 * (tocEntryNumber % getNumberOfItemsPerTocPage(0))); } else { y = 680 - (16 * ((tocEntryNumber - getNumberOfItemsPerTocPage(0)) % getNumberOfItemsPerTocPage(currentTocPage - firstTocPage))); } final ColumnText ct = new ColumnText(canvas); ct.setSimpleColumn(p, 52, y, 555, 70, 0, Element.ALIGN_JUSTIFIED); ct.go(); } } stamper.close(); reader.close(); return bos.toByteArray(); } }
From source file:be.roots.taconic.pricingguide.util.iTextUtil.java
License:Open Source License
public static byte[] setPageNumbers(byte[] pdfDocument) throws IOException, DocumentException { final int numberOfPages = numberOfPages(pdfDocument); if (numberOfPages > 1) { try (final ByteArrayOutputStream baos = new ByteArrayOutputStream()) { final PdfReader reader = new PdfReader(pdfDocument); final PdfStamper stamper = new PdfStamper(reader, baos); for (int pageNumber = 2; pageNumber <= numberOfPages; pageNumber++) { // get the first page final PdfContentByte canvas = stamper.getOverContent(pageNumber); // stamp the footer on the page final ColumnText ct = new ColumnText(canvas); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase(pageNumber + "", getFontPageNumber()), 550, 22, 0); ct.go();//from w w w . j a v a 2 s. c o m } // close out stamper.close(); reader.close(); return baos.toByteArray(); } } return pdfDocument; }
From source file:classes.DocumentSignature.java
public static ByteArrayOutputStream getSignedDocument(Document document) throws Exception { ByteArrayOutputStream os = new ByteArrayOutputStream(); PdfReader reader = new PdfReader(document.getContent()); PdfStamper stamper = new PdfStamper(reader, os); // get all signers of the document ArrayList<User> signers = DocumentSignature.getDocumentSigners(document.getDocumentId()); try {/* w w w. j a va 2 s .c o m*/ for (User signer : signers) { if (signer.getSignature() == null) { continue; } // get user signature Image signatureImage = Image.getInstance(getImageBytes(signer.getSignature())); for (DocumentSignature signature : getDocumentSignatures(document.getDocumentId(), signer.getUserId())) { int x = signature.getSignLocationX(); int y = signature.getSignLocationY(); //signatureImage.setAbsolutePosition(x, y); PdfContentByte canvas = stamper.getOverContent(signature.getPageNumber()); //System.out.println("bottom: " + canvas.getPdfDocument().bottom()); //System.out.println("top: " + canvas.getPdfDocument().top()); //System.out.println("left: " + canvas.getPdfDocument().left()); //System.out.println("right: " + canvas.getPdfDocument().right()); //canvas.addImage(signatureImage); canvas.addImage(signatureImage, SIGNATURE_IMAGE_WIDTH, 0, 0, SIGNATURE_IMAGE_HEIGHT, x, y); } } return os; } finally { stamper.close(); } }
From source file:com.automaster.autoview.server.servlet.ContratoPfServlet.java
public void contratoComodato(HttpServletRequest request, HttpServletResponse response) throws IOException { try {/*from w w w . jav a2s . c o m*/ // PDF que o template da aplicao PdfReader reader = new PdfReader(url + "/contratos/contrato_locacao.pdf"); //PDF resultante OutputStream os = response.getOutputStream(); //PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(url+"\\contratos\\contrato_locacao.pdf")); PdfStamper stamper = new PdfStamper(reader, os); // ir adicionar na primeira pgina do PDF resultante PdfContentByte cabecalho = stamper.getOverContent(1); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumText = new ColumnText(cabecalho); // definie as configuraes de fonte para o objeto frase BaseFont normal = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); BaseFont negrito = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); //cria uma frase Phrase phraseCabecalho = new Phrase(); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab1); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab2); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab3); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab4); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab5); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab6); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab7); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab8); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab9); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab10); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab11); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab12); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab13); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab14); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab15); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab16); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab17); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab18); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab19); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab20); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab21); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab22); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab23); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab24); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab25); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab255); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab26); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab266); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab2661); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab27); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab28); //adicionar a frase no contener do PDF collumText.addText(phraseCabecalho); // escolhe alinhamento justificado para o objeto collumText collumText.setAlignment(3); //justifica a primeira linha collumText.setAdjustFirstLine(true); //dar uma identao de 30pt na primeira linha do collumText collumText.setIndent(30); //posiciona o collumText na pgina 1 //collumText.setSimpleColumn(40, 600, 560, 790); collumText.setSimpleColumn(40, 600, 560, 790); //escreve o collumText no PDF collumText.go(false); //String textPlacas1 = "III - Os Equipamentos relacionados abaixo sero instalados no(s) Veiculo(s) de placa(s)"; String textPlacas1 = "III - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): "; String textPlacas2 = listaDePlacasComodato; String textPlacas3 = " sendo vedada a remoo do aparelho rastreador desse(s) veiculo(s), sem prvia e expressa anuncia da Contratada, que se dar sempre por escrito," + " sob pena de aplicao da penalidade prevista por infrao contratual;"; // ITENS ADICIONADOS A P?GINA 04 // // ir adicionar na quarta pgina do PDF resultante PdfContentByte placas = stamper.getOverContent(4); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumTextPlacas = new ColumnText(placas); // definie as configuraes de fonte para o objeto frase //BaseFont bfPlacas = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); //cria uma frase Phrase phrasePlacas = new Phrase(); //adiciona fonte para a frase phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phrasePlacas.add(textPlacas1); //adiciona fonte para a frase phrasePlacas.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phrasePlacas.add(textPlacas2); //adiciona fonte para a frase phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phrasePlacas.add(textPlacas3); //adicionar a frase no contener do PDF collumTextPlacas.addText(phrasePlacas); //dar uma identao de 30pt na primeira linha do collumText collumTextPlacas.setIndent(30); // escolhe alinhamento justificado para o objeto collumText collumTextPlacas.setAlignment(3); //justifica a primeira linha collumTextPlacas.setAdjustFirstLine(true); //posiciona o collumText na pgina 4 collumTextPlacas.setSimpleColumn(40, 400, 560, 670); //escreve o collumText no PDF collumTextPlacas.go(false); // ITENS ADICIONADOS A P?GINA 06 // String dia = new SimpleDateFormat("dd").format(dataAtual); String ano = new SimpleDateFormat("yyyy").format(dataAtual); //form.setFieldProperty("txtDataLocal", "txtDataLocal", PdfFormField., inst); int mes = dataAtual.getMonth(); String mesEscrito = null; switch (mes) { case 0: mesEscrito = "janeiro"; break; case 1: mesEscrito = "fevereiro"; break; case 2: mesEscrito = "maro"; break; case 3: mesEscrito = "abril"; break; case 4: mesEscrito = "maio"; break; case 5: mesEscrito = "junho"; break; case 6: mesEscrito = "julho"; break; case 7: mesEscrito = "agosto"; break; case 8: mesEscrito = "setembro"; break; case 9: mesEscrito = "outubro"; break; case 10: mesEscrito = "novembro"; break; case 11: mesEscrito = "dezembro"; break; } String textRodape1 = "Fica eleito o foro da Comarca de "; String textRodape12 = cidadeUn.toUpperCase(); String textRodape121 = ", estado do "; String textRodape122 = nomeEstadoUn.toUpperCase(); String textRodape123 = ", para dirimir eventuais dvidas oriundas do presente contrato, " + "quer na sua aplicao ou interpretao, com renncia a qualquer outro por mais " + "privilegiado que seja. E por estarem assim compromissados, firmam o presente termo " + "em 02 (duas) vias de igual teor e forma na presena de 2 (duas) testemunhas abaixo assinadas."; String textRodape2 = cidadeUn + " , " + nomeEstadoUn + " " + dia + " de " + mesEscrito + " de " + ano + "."; String textRodape3 = autoMaster + "\n" + cnpjUn; String textRodape4 = clienteAuxiliar.get(0).get("nomeCliente") + "\n" + ((tipoCliente == 1) ? "CPF: " + formataCPF(cpfCnpj) : "CNPJ: " + formataCNPJ(cpfCnpj)); // ir adicionar na quarta pgina do PDF resultante PdfContentByte rodape = stamper.getOverContent(6); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumTextRodape1 = new ColumnText(rodape); //cria uma frase Phrase phraseRadape1 = new Phrase(); //adiciona fonte para a frase phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseRadape1.add(textRodape1); //adiciona fonte para a frase phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseRadape1.add(textRodape12); //adiciona fonte para a frase phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseRadape1.add(textRodape121); //adiciona fonte para a frase phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseRadape1.add(textRodape122); //adiciona fonte para a frase phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseRadape1.add(textRodape123); //adicionar a frase no contener do PDF collumTextRodape1.addText(phraseRadape1); //dar uma identao de 30pt na primeira linha do collumText collumTextRodape1.setIndent(30); // escolhe alinhamento justificado para o objeto collumText collumTextRodape1.setAlignment(3); //justifica a primeira linha collumTextRodape1.setAdjustFirstLine(true); //posiciona o collumText na pgina 4 //collumTextRodape1.setSimpleColumn(40, 320, 560, 420); collumTextRodape1.setSimpleColumn(40, 380, 560, 480); //escreve o collumText no PDF collumTextRodape1.go(false); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumTextRodape2 = new ColumnText(rodape); //cria uma frase Phrase phraseRadape2 = new Phrase(); //adiciona fonte para a frase phraseRadape2.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseRadape2.add(textRodape2); //adicionar a frase no contener do PDF collumTextRodape2.addText(phraseRadape2); //dar uma identao de 30pt na primeira linha do collumText collumTextRodape2.setIndent(30); // escolhe alinhamento justificado para o objeto collumText collumTextRodape2.setAlignment(2); //justifica a primeira linha collumTextRodape2.setAdjustFirstLine(true); //posiciona o collumText na pgina 4 //collumTextRodape2.setSimpleColumn(40, 220, 560, 320); collumTextRodape2.setSimpleColumn(40, 280, 560, 400); //escreve o collumText no PDF collumTextRodape2.go(false); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumTextRodape3 = new ColumnText(rodape); //cria uma frase Phrase phraseRadape3 = new Phrase(); //adiciona fonte para a frase phraseRadape3.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseRadape3.add(textRodape3); //adicionar a frase no contener do PDF collumTextRodape3.addText(phraseRadape3); //dar uma identao de 30pt na primeira linha do collumText collumTextRodape3.setIndent(30); // escolhe alinhamento justificado para o objeto collumText collumTextRodape3.setAlignment(1); //justifica a primeira linha collumTextRodape3.setAdjustFirstLine(true); //posiciona o collumText na pgina 4 //collumTextRodape3.setSimpleColumn(250, 130, 600, 230); collumTextRodape3.setSimpleColumn(250, 200, 600, 300); //escreve o collumText no PDF collumTextRodape3.go(false); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumTextRodape4 = new ColumnText(rodape); //cria uma frase Phrase phraseRadape4 = new Phrase(); //adiciona fonte para a frase phraseRadape4.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseRadape4.add(textRodape4); //adicionar a frase no contener do PDF collumTextRodape4.addText(phraseRadape4); //dar uma identao de 30pt na primeira linha do collumText collumTextRodape4.setIndent(15); // escolhe alinhamento justificado para o objeto collumText collumTextRodape4.setAlignment(1); //justifica a primeira linha collumTextRodape4.setAdjustFirstLine(true); //posiciona o collumText na pgina 4 //collumTextRodape4.setSimpleColumn(15, 130, 250, 230); collumTextRodape4.setSimpleColumn(25, 200, 200, 300); //escreve o collumText no PDF collumTextRodape4.go(false); stamper.close(); reader.close(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); response.setHeader("Pragma", "public"); // setting the content type response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "attachment; filename=\"Contrato.pdf\""); //response.addHeader("Content-Disposition", "attachment; filename=ContratoPf.pdf"); // the contentlength response.setContentLength(baos.size()); // write ByteArrayOutputStream to the ServletOutputStream //OutputStream os = response.getOutputStream(); baos.writeTo(os); os.flush(); os.close(); } catch (DocumentException e) { throw new IOException(e.getMessage()); } }
From source file:com.automaster.autoview.server.servlet.ContratoPfServlet.java
public void contratoVenda(HttpServletRequest request, HttpServletResponse response) throws IOException { try {/*from ww w . j a va 2 s.c om*/ PdfReader reader = new PdfReader(url + "/contratos/contrato_venda.pdf"); //PDF resultante OutputStream os = response.getOutputStream(); PdfStamper stamper = new PdfStamper(reader, os); // ir adicionar na primeira pgina do PDF resultante PdfContentByte cabecalho = stamper.getOverContent(1); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumText = new ColumnText(cabecalho); // definie as configuraes de fonte para o objeto frase BaseFont normal = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); BaseFont negrito = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); //cria uma frase Phrase phraseCabecalho = new Phrase(); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab1); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab2); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab3); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab4); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab5); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab6); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab7); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab8); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab9); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab10); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab11); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab12); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab13); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab14); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab15); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab16); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab17); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab18); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab19); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab20); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab21); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab22); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab23); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab24); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab25); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab255); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab26); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab266); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab2661); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab27); //adiciona fonte para a frase phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseCabecalho.add(cab28); //adicionar a frase no contener do PDF collumText.addText(phraseCabecalho); // escolhe alinhamento justificado para o objeto collumText collumText.setAlignment(3); //justifica a primeira linha collumText.setAdjustFirstLine(true); //dar uma identao de 30pt na primeira linha do collumText collumText.setIndent(30); //posiciona o collumText na pgina 1 collumText.setSimpleColumn(40, 560, 560, 760); //escreve o collumText no PDF collumText.go(false); // ITENS ADICIONADOS A P?GINA 04 // // ir adicionar na quarta pgina do PDF resultante PdfContentByte placas = stamper.getOverContent(4); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumTextPlacas = new ColumnText(placas); // definie as configuraes de fonte para o objeto frase //BaseFont bfPlacas = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); //String textPlacas1 = "3.1 - Os Equipamentos relacionados abaixo sero instalados no(s) Veiculo(s) de placa(s) "; String textPlacas1 = "3.1 - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): "; String textPlacas2 = listaDePlacasVenda; String textPlacas3 = " sendo vedada a remoo do aparelho rastreador desse(s) veiculo(s), sem prvia e expressa anuncia da Contratada, " + "que se dar sempre por escrito, sob pena de aplicao da penalidade prevista por infrao contratual;"; //cria uma frase Phrase phrasePlacas = new Phrase(); //adiciona fonte para a frase phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phrasePlacas.add(textPlacas1); //adiciona fonte para a frase phrasePlacas.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phrasePlacas.add(textPlacas2); //adiciona fonte para a frase phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phrasePlacas.add(textPlacas3); //adicionar a frase no contener do PDF collumTextPlacas.addText(phrasePlacas); //dar uma identao de 30pt na primeira linha do collumText collumTextPlacas.setIndent(30); // escolhe alinhamento justificado para o objeto collumText collumTextPlacas.setAlignment(3); //justifica a primeira linha collumTextPlacas.setAdjustFirstLine(true); //posiciona o collumText na pgina 4 collumTextPlacas.setSimpleColumn(40, 600, 560, 800); //escreve o collumText no PDF collumTextPlacas.go(false); // ITENS ADICIONADOS A P?GINA 06 // String dia = new SimpleDateFormat("dd").format(dataAtual); String ano = new SimpleDateFormat("yyyy").format(dataAtual); //form.setFieldProperty("txtDataLocal", "txtDataLocal", PdfFormField., inst); int mes = dataAtual.getMonth(); String mesEscrito = null; switch (mes) { case 0: mesEscrito = "janeiro"; break; case 1: mesEscrito = "fevereiro"; break; case 2: mesEscrito = "maro"; break; case 3: mesEscrito = "abril"; break; case 4: mesEscrito = "maio"; break; case 5: mesEscrito = "junho"; break; case 6: mesEscrito = "julho"; break; case 7: mesEscrito = "agosto"; break; case 8: mesEscrito = "setembro"; break; case 9: mesEscrito = "outubro"; break; case 10: mesEscrito = "novembro"; break; case 11: mesEscrito = "dezembro"; break; } String textRodape1 = "Fica eleito o foro da Comarca de "; String textRodape12 = cidadeUn.toUpperCase(); String textRodape121 = ", estado do "; String textRodape122 = nomeEstadoUn.toUpperCase(); String textRodape123 = ", para dirimir eventuais dvidas oriundas do presente contrato, " + "quer na sua aplicao ou interpretao, com renncia a qualquer outro por mais " + "privilegiado que seja. E por estarem assim compromissados, firmam o presente termo " + "em 02 (duas) vias de igual teor e forma na presena de 2 (duas) testemunhas abaixo assinadas."; String textRodape2 = cidadeUn + " , " + nomeEstadoUn + " " + dia + " de " + mesEscrito + " de " + ano + "."; String textRodape3 = autoMaster + "\n" + cnpjUn; String textRodape4 = clienteAuxiliar.get(0).get("nomeCliente") + "\n" + ((tipoCliente == 1) ? "CPF: " + formataCPF(cpfCnpj) : "CNPJ: " + formataCNPJ(cpfCnpj)); // ir adicionar na quarta pgina do PDF resultante PdfContentByte rodape = stamper.getOverContent(6); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumTextRodape1 = new ColumnText(rodape); //cria uma frase Phrase phraseRadape1 = new Phrase(); //adiciona fonte para a frase phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseRadape1.add(textRodape1); //adiciona fonte para a frase phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseRadape1.add(textRodape12); //adiciona fonte para a frase phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseRadape1.add(textRodape121); //adiciona fonte para a frase phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseRadape1.add(textRodape122); //adiciona fonte para a frase phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseRadape1.add(textRodape123); //adicionar a frase no contener do PDF collumTextRodape1.addText(phraseRadape1); //dar uma identao de 30pt na primeira linha do collumText collumTextRodape1.setIndent(30); // escolhe alinhamento justificado para o objeto collumText collumTextRodape1.setAlignment(3); //justifica a primeira linha collumTextRodape1.setAdjustFirstLine(true); //posiciona o collumText na pgina 4 collumTextRodape1.setSimpleColumn(40, 580, 560, 780); //escreve o collumText no PDF collumTextRodape1.go(false); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumTextRodape2 = new ColumnText(rodape); //cria uma frase Phrase phraseRadape2 = new Phrase(); //adiciona fonte para a frase phraseRadape2.setFont(new com.itextpdf.text.Font(normal, 9.6f)); //adiciona a string que ir compor a frase phraseRadape2.add(textRodape2); //adicionar a frase no contener do PDF collumTextRodape2.addText(phraseRadape2); //dar uma identao de 30pt na primeira linha do collumText collumTextRodape2.setIndent(30); // escolhe alinhamento justificado para o objeto collumText collumTextRodape2.setAlignment(2); //justifica a primeira linha collumTextRodape2.setAdjustFirstLine(true); //posiciona o collumText na pgina 4 collumTextRodape2.setSimpleColumn(40, 580, 560, 680); //escreve o collumText no PDF collumTextRodape2.go(false); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumTextRodape3 = new ColumnText(rodape); //cria uma frase Phrase phraseRadape3 = new Phrase(); //adiciona fonte para a frase phraseRadape3.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseRadape3.add(textRodape3); //adicionar a frase no contener do PDF collumTextRodape3.addText(phraseRadape3); //dar uma identao de 30pt na primeira linha do collumText collumTextRodape3.setIndent(30); // escolhe alinhamento justificado para o objeto collumText collumTextRodape3.setAlignment(1); //justifica a primeira linha collumTextRodape3.setAdjustFirstLine(true); //posiciona o collumText na pgina 4 collumTextRodape3.setSimpleColumn(250, 460, 600, 560); //escreve o collumText no PDF collumTextRodape3.go(false); // cria um objeto que ir acomodar a o PdfContentByte ColumnText collumTextRodape4 = new ColumnText(rodape); //cria uma frase Phrase phraseRadape4 = new Phrase(); //adiciona fonte para a frase phraseRadape4.setFont(new com.itextpdf.text.Font(negrito, 9.6f)); //adiciona a string que ir compor a frase phraseRadape4.add(textRodape4); //adicionar a frase no contener do PDF collumTextRodape4.addText(phraseRadape4); //dar uma identao de 30pt na primeira linha do collumText collumTextRodape4.setIndent(15); // escolhe alinhamento justificado para o objeto collumText collumTextRodape4.setAlignment(1); //justifica a primeira linha collumTextRodape4.setAdjustFirstLine(true); //posiciona o collumText na pgina 4 collumTextRodape4.setSimpleColumn(15, 460, 250, 560); //escreve o collumText no PDF collumTextRodape4.go(false); stamper.close(); reader.close(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); response.setHeader("Pragma", "public"); // setting the content type response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "attachment; filename=\"Contrato.pdf\""); //response.addHeader("Content-Disposition", "attachment; filename=ContratoPf.pdf"); // the contentlength response.setContentLength(baos.size()); // write ByteArrayOutputStream to the ServletOutputStream //OutputStream os = response.getOutputStream(); baos.writeTo(os); os.flush(); os.close(); } catch (DocumentException e) { throw new IOException(e.getMessage()); } }