List of usage examples for com.itextpdf.text.pdf PdfReader PdfReader
public PdfReader(final PdfReader reader)
From source file:br.com.smarttaco.util.HelenaBarbosa.java
/** * pdf2txt//from w w w . j a v a 2 s . c om * * @param pdf * @param paginas se for <code>null</code> realiza leitura completa. * @param txt * @throws FileNotFoundException * @throws IOException */ private static void pdf2txt(final String pdf, List<Integer> paginas, final String txt) throws FileNotFoundException, IOException { PdfReader reader = new PdfReader(pdf); //System.out.println(reader.getInfo().toString()); if (paginas != null) { reader.selectPages(paginas); } PdfReaderContentParser parser = new PdfReaderContentParser(reader); PrintWriter out = new PrintWriter(txt, "UTF-8"); TextExtractionStrategy strategy; for (int i = 1; i <= reader.getNumberOfPages(); i++) { strategy = parser.processContent(i, new SimpleTextExtractionStrategy()); out.println(strategy.getResultantText()); } out.flush(); out.close(); reader.close(); }
From source file:br.jus.jfpr.Divisor1.java
/** * Divide um arquivo inicialmente em 2, testa se o tamanho que todos * arquivos ficaram dentro do limite, se no ficaram apaga tudo e recomea * dividindo por, 3, 4, 5, etc. at que todos arquivo fiquem dentro do * limite/*from www . j av a 2s. c o m*/ * * @param arquivoEntrada O arquivo que ser dividido * @param arquivoSaida O nome do arquivo que ser criado * @param tamArqSel Tamanho selecionado que devero ficar os arquivos * divididos * @return String informativa do resultado */ public static String dividePDF(File arquivoEntrada, String arquivoSaida, int tamArqSel) { int daPagina = 1; int paraPagina; int tamInicial; // FileOutputStream arquivoSair = null; String MensagemErro = "ok"; int fatorDivisao = 2; //Incialmente dividir em 2 arquivoSaida = arquivoSaida.substring(0, arquivoSaida.indexOf('.')) + "-divido"; //PAra definir o nome do arquivo de sada try { PdfReader PdfDeEntrada = new PdfReader(arquivoEntrada.getAbsolutePath()); //Para ler o arquivo de entrada final int totalPaginas = PdfDeEntrada.getNumberOfPages(); //Verifica o total de pginas tamInicial = paraPagina = (totalPaginas / fatorDivisao) + 1; //Define o tamanho (em pginas) do 1 arquivo e em quanto dever incrementar(sero o mesmo) PdfImportedPage pagina; int i = 1; //Contador simples while (i <= fatorDivisao && totalPaginas > fatorDivisao) { //Enquanto no fizer todas as divises Document documento = new Document(); FileOutputStream arquivoSair = new FileOutputStream(arquivoSaida + "-" + i + ".pdf"); //Cria o arquivo, vazio PdfWriter writer = PdfWriter.getInstance(documento, arquivoSair); // documento.open(); PdfContentByte PContentByte = writer.getDirectContent(); while (daPagina <= paraPagina) { documento.newPage(); //Aloca uma nova pginA pagina = writer.getImportedPage(PdfDeEntrada, daPagina); //Seleciona uma pgina especfica. indicada pelo contador PContentByte.addTemplate(pagina, 0, 0); //Adiciona a pagina ao contedo daPagina++; //Contador simples } arquivoSair.flush(); documento.close(); //Grava o arquivo de sada arquivoSair.close(); File arquivoDest = new File(arquivoSaida + "-" + i + ".pdf"); if (arquivoDest.length() > tamArqSel) { // O tamanho do arquivo de destino ficou maior do que deveria delete(arquivoSaida, i); //Chamar a funo para deletar todos arquivos at a chave i daPagina = i = 1; //Para recomear tudo de novo fatorDivisao++; //Se um arquivo ficou maior, ento deve aumentar a diviso tamInicial = paraPagina = (totalPaginas / fatorDivisao) + 1; //Para recomear tudo de novo } else { i++; //Continua a divisao if (i == fatorDivisao) { //Ou seja, chegou a ultima divisao paraPagina = totalPaginas; //O ultimo arquivo conter mais pginas } else { paraPagina += tamInicial; //Cada arquivo ter o mesmo nmero de pginas//Incrementa sempre o tamanho inicial } } } } catch (IOException | DocumentException e) { System.err.println(e.getMessage()); MensagemErro = e.getMessage(); } return MensagemErro; }
From source file:br.unifor.mia.xmpsemantico.xmp.MetadataXmp.java
License:GNU General Public License
/** * Reads the XML stream inside a PDF file into an XML file. * @param src A PDF file containing XMP data * @param dest XML file containing the XMP data extracted from the PDF * @throws IOException/*from w w w . j ava 2 s .c o m*/ */ public void readXmpMetadata() throws IOException { PdfReader reader = new PdfReader(pathPdf); FileOutputStream fos = new FileOutputStream(pathXMP); byte[] b = reader.getMetadata(); fos.write(b, 0, b.length); fos.flush(); fos.close(); reader.close(); }
From source file:ch.kostceco.tools.kostsimy.comparison.modulepdfa.impl.PdfExtractJpegModuleImpl.java
License:Open Source License
/** Parses a PDF and extracts all the images. * //from w ww . ja v a 2 s . c o m * @param src * the source PDF * @param dest * the resulting Image */ public void extractImages(String srcPdf, String destImage) throws IOException, DocumentException { jpegCounter = 0; ccittCounter = 0; jp2Counter = 0; jbig2Counter = 0; try { PdfReader reader = new PdfReader(srcPdf); PdfReaderContentParser parser = new PdfReaderContentParser(reader); MyImageRenderListener listener = new MyImageRenderListener(destImage); for (int i = 1; i <= reader.getNumberOfPages(); i++) { parser.processContent(i, listener); } reader.close(); } catch (IOException e) { getMessageService().logError(getTextResourceService().getText(MESSAGE_XML_MODUL_PDF_EXTRACT) + getTextResourceService().getText(ERROR_XML_UNKNOWN, e.getMessage())); } }
From source file:ch.kostceco.tools.kostval.validation.modulepdfa.impl.ValidationJimageValidationModuleImpl.java
License:Open Source License
/** Parses a PDF and extracts all the images. * // w ww . ja v a 2 s. com * @param src * the source PDF * @param dest * the resulting PDF */ public void extractImages(String srcPdf, String destImage) throws IOException, DocumentException { PdfReader reader = new PdfReader(srcPdf); PdfReaderContentParser parser = new PdfReaderContentParser(reader); MyImageRenderListener listener = new MyImageRenderListener(destImage); for (int i = 1; i <= reader.getNumberOfPages(); i++) { parser.processContent(i, listener); } reader.close(); }
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 {//from ww w . jav a 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:co.com.realtech.mariner.util.files.PDFUtils.java
public static File agregarTexto(byte[] bytes, String text) { File temp = null;/*from www. j a va2 s . c o m*/ try { temp = File.createTempFile("archivo", ".pdf"); OutputStream oos = new FileOutputStream(temp); Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, oos); document.open(); PdfContentByte cb = writer.getDirectContent(); ByteArrayInputStream bis = new ByteArrayInputStream(bytes); //InputStream targetStream = new FileInputStream(initialFile); // Load existing PDF PdfReader reader = new PdfReader(bis); PdfImportedPage page = writer.getImportedPage(reader, 1); // Copy first page of existing PDF into output PDF document.setPageSize(reader.getPageSize(1)); document.newPage(); cb.addTemplate(page, 0, 0); ColumnText ct = new ColumnText(cb); Phrase myText = new Phrase(text); Font fuente = new Font(); fuente.setSize(6); myText.setFont(fuente); ct.setSimpleColumn(myText, 0, -1, document.right(), document.top(), -10, Element.ALIGN_RIGHT); ct.go(); ColumnText ct2 = new ColumnText(cb); Phrase myText2 = new Phrase(text); Font fuente2 = new Font(); fuente2.setSize(6); myText2.setFont(fuente); ct2.setSimpleColumn(myText, 0, -1, document.right(), document.top(), 248, Element.ALIGN_RIGHT); ct2.go(); ColumnText ct3 = new ColumnText(cb); Phrase myText3 = new Phrase(text); Font fuente3 = new Font(); fuente3.setSize(6); myText3.setFont(fuente); ct3.setSimpleColumn(myText, 0, -1, document.right(), document.top(), 505, Element.ALIGN_RIGHT); ct3.go(); document.close(); } catch (Exception e) { System.out.println("e = " + e); } return temp; }
From source file:co.unicauca.proyectobase.entidades.MetodosPDF.java
public void manipulatePdf(String src, String dest) throws IOException, DocumentException { PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); HashMap<String, String> info = reader.getInfo(); info.put("Title", "Hello World stamped"); info.put("Subject", "Hello World with changed metadata"); info.put("Keywords", "iText in Action, PdfStamper"); info.put("Creator", "Silly standalone example"); info.put("Author", "Also Bruno Lowagie"); info.put("Cod", codigoFirma("104611024139")); stamper.setMoreInfo(info);/*from w ww . jav a2s. c o m*/ stamper.close(); reader.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 a 2 s . c om*/ // 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 w ww . ja v a 2 s.c o m*/ 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()); } }