List of usage examples for com.lowagie.text.pdf PdfReader PdfReader
public PdfReader(PdfReader reader)
From source file:com.mirth.connect.connectors.doc.DocumentMessageDispatcher.java
License:Open Source License
private void writeDocument(String template, File file, MessageObject messageObject) throws Exception { // add tags to the template to create a valid HTML document StringBuilder contents = new StringBuilder(); if (template.lastIndexOf("<html") < 0) { contents.append("<html>"); if (template.lastIndexOf("<body") < 0) { contents.append("<body>"); contents.append(template);/* ww w .j ava 2 s . c om*/ contents.append("</body>"); } else { contents.append(template); } contents.append("</html>"); } else { contents.append(template); } if (connector.getDocumentType().toLowerCase().equals("pdf")) { FileOutputStream renderFos = null; try { DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); org.w3c.dom.Document document = builder .parse(new InputSource(new StringReader(contents.toString()))); ITextRenderer renderer = new ITextRenderer(); renderer.setDocument(document, null); renderFos = new FileOutputStream(file); renderer.layout(); renderer.createPDF(renderFos, true); } catch (Throwable e) { throw new Exception(e); } finally { if (renderFos != null) { renderFos.close(); } } if (connector.isEncrypt() && (connector.getPassword() != null)) { FileInputStream encryptFis = null; FileOutputStream encryptFos = null; try { encryptFis = new FileInputStream(file); PdfReader reader = new PdfReader(encryptFis); encryptFos = new FileOutputStream(file); PdfEncryptor.encrypt(reader, encryptFos, true, replacer.replaceValues(connector.getPassword(), messageObject), null, PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_COPY); } catch (Exception e) { throw e; } finally { if (encryptFis != null) { encryptFis.close(); } if (encryptFos != null) { encryptFos.close(); } } } } else if (connector.getDocumentType().toLowerCase().equals("rtf")) { com.lowagie.text.Document document = null; try { document = new com.lowagie.text.Document(); ByteArrayInputStream bais = new ByteArrayInputStream(contents.toString().getBytes()); RtfWriter2.getInstance(document, new FileOutputStream(file)); document.open(); HtmlParser parser = new HtmlParser(); parser.go(document, bais); } finally { if (document != null) { document.close(); } } } }
From source file:com.moss.check.us.CheckPdfRenderer.java
License:Open Source License
public void render(CheckModel model, OutputStream out) throws Exception { Document document = new Document(); document.setPageSize(new Rectangle(PAGE_WIDTH, PAGE_HEIGHT)); PdfWriter writer = PdfWriter.getInstance(document, out); document.open();/*from ww w . j a v a 2 s. c om*/ PdfContentByte cb = writer.getDirectContent(); Check check = new Check(); check.defaultFont = BaseFont.createFont("Helvetica", BaseFont.WINANSI, BaseFont.NOT_EMBEDDED); check.defaultFontSize = 8; check.defaultFontLeading = 10; check.largeFontSize = 9; check.largeFontLeading = 12; check.fixedWidthFont = createFixedFont(); check.fixedWidthFontSize = 8; check.voidFont = BaseFont.createFont("Helvetica-Bold", BaseFont.WINANSI, BaseFont.NOT_EMBEDDED); check.voidFontSize = 14; check.micrFont = createMicrFont(); check.micrFontSize = 12; check.model = model; check.x = 0; check.y = 0; check.renderMode = CheckRenderMode.CHECK; check.render(cb); if (StubPrintMode.CHECK_DUPLICATE == model.stubPrintMode) { check.renderMode = CheckRenderMode.STUB; check.y = document.top() - (8.2f * POINTS_IN_A_CM); check.render(cb); } else if (StubPrintMode.CUSTOM == model.stubPrintMode) { PdfReader reader = new PdfReader(model.customStubPdf); PdfImportedPage customPage = writer.getImportedPage(reader, 1); cb.addTemplate(customPage, 0f, 0f); } else { throw new RuntimeException("Unknown stub print mode: " + model.stubPrintMode); } document.close(); }
From source file:com.moss.pdf.template.core.Renderer.java
License:Open Source License
public void render(InputStream in, List<? extends PropertyMapping> fields, OutputStream out) throws Exception { PdfReader reader = new PdfReader(in); Document document = new Document(reader.getPageSizeWithRotation(1)); PdfWriter writer = PdfWriter.getInstance(document, out); document.open();//from www. j a v a 2 s. com for (int i = 1; i <= reader.getNumberOfPages(); i++) { PdfContentByte cb = writer.getDirectContent(); PdfImportedPage customPage = writer.getImportedPage(reader, i); /* * add the page to our new document, turning this page to its * original rotation */ int pageRotation = reader.getPageRotation(i); if (pageRotation > 0) { System.out.println("page rotation found: " + pageRotation); double angle = -((2 * Math.PI) * pageRotation / 360); // double angle = -(Math.PI / 2); cb.addTemplate(customPage, (float) Math.cos(angle), (float) Math.sin(angle), (float) -Math.sin(angle), (float) Math.cos(angle), 0f, // x document.top() + document.topMargin() // y ); } else { cb.addTemplate(customPage, 0f, 0f); } Map<FontName, BaseFont> fonts = new HashMap<FontName, BaseFont>(); for (PropertyMapping field : fields) { if (field.getPageNumber() != i) { continue; } /* * Only builtin fonts are supported at the moment */ BaseFont font; int fontSize; int alignment; String text; float x, y; float rotation; { font = fonts.get(field.getFontName()); if (font == null) { FontName e = field.getFontName(); String name = null; if (FontName.COURIER == e) { name = BaseFont.COURIER; } else if (FontName.COURIER_BOLD == e) { name = BaseFont.COURIER_BOLD; } else if (FontName.COURIER_BOLD_OBLIQUE == e) { name = BaseFont.COURIER_BOLDOBLIQUE; } else if (FontName.COURIER_OBLIQUE == e) { name = BaseFont.COURIER_OBLIQUE; } else if (FontName.HELVETICA == e) { name = BaseFont.HELVETICA; } else if (FontName.HELVETICA_BOLD == e) { name = BaseFont.HELVETICA_BOLD; } else if (FontName.HELVETICA_BOLD_OBLIQUE == e) { name = BaseFont.HELVETICA_BOLDOBLIQUE; } else if (FontName.HELVETICA_OBLIQUE == e) { name = BaseFont.HELVETICA_OBLIQUE; } else if (FontName.TIMES_BOLD == e) { name = BaseFont.TIMES_BOLD; } else if (FontName.TIMES_BOLD_ITALIC == e) { name = BaseFont.TIMES_BOLDITALIC; } else if (FontName.TIMES_ITALIC == e) { name = BaseFont.TIMES_ITALIC; } else if (FontName.TIMES_ROMAN == e) { name = BaseFont.TIMES_ROMAN; } if (name == null) { throw new RuntimeException("Unknown font type: " + e); } font = BaseFont.createFont(name, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED); fonts.put(field.getFontName(), font); } fontSize = field.getFontSize(); if (TextAlignment.LEFT == field.getAlignment()) { alignment = PdfContentByte.ALIGN_LEFT; } else if (TextAlignment.CENTER == field.getAlignment()) { alignment = PdfContentByte.ALIGN_CENTER; } else if (TextAlignment.RIGHT == field.getAlignment()) { alignment = PdfContentByte.ALIGN_RIGHT; } else { alignment = PdfContentByte.ALIGN_LEFT; } Object value = p.eval(field.getExpr()); if (value == null) { text = ""; } else { text = value.toString(); } x = field.getX() * POINTS_IN_A_CM; y = field.getY() * POINTS_IN_A_CM; rotation = 0; } cb.beginText(); cb.setFontAndSize(font, fontSize); cb.showTextAligned(alignment, text, x, y, rotation); cb.endText(); } document.newPage(); } reader.close(); document.close(); }
From source file:com.multimedianetwork.gliding.core.generators.pdf.MembershipRequestPDFGenerator.java
public synchronized void generateMembershipRequestPDF(MembershipRequest membershipRequest) { try {/* w w w . ja v a 2 s. co m*/ HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext() .getRequest(); String templateFilename = request.getRealPath(FILES_FOLDER + LOCAL_TEMPLATE_PATH_FULL); if (membershipRequest.isTemporaryMembership()) { templateFilename = request.getRealPath(FILES_FOLDER + LOCAL_TEMPLATE_PATH_TEMP); } String newfilename = request.getRealPath(FILES_FOLDER + "req" + membershipRequest.getId() + ".pdf"); //Reads in the pdf Template PdfReader reader = new PdfReader(templateFilename); PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(newfilename)); AcroFields form = stamp.getAcroFields(); //set the field values in the pdf form form.setField("lastName", membershipRequest.getLastName()); form.setField("firstName", membershipRequest.getFirstName()); form.setField("citizenship", membershipRequest.getCitizenship()); form.setField("icSerie", membershipRequest.getIcSerie()); form.setField("icNumber", membershipRequest.getIcNumber()); form.setField("pasportNumber", membershipRequest.getPasportNumber()); form.setField("cnp", membershipRequest.getCnp()); form.setField("addressNumber", membershipRequest.getAddressNumber()); form.setField("addressCity", membershipRequest.getAddressCity()); form.setField("addressStreet", membershipRequest.getAddressStreet()); form.setField("addressFlat", membershipRequest.getAddressFlat()); form.setField("addressSc", membershipRequest.getAddressSc()); form.setField("addressFloor", membershipRequest.getAddressFloor()); form.setField("addressApartment", membershipRequest.getAddressApartment()); form.setField("addressCode", membershipRequest.getAddressCode()); form.setField("addressCounty", membershipRequest.getAddressCounty()); form.setField("addressCountry", membershipRequest.getAddressCountry()); form.setField("telephone", membershipRequest.getTelephone()); form.setField("email", membershipRequest.getEmail()); form.setField("birthDateDay", String.valueOf(membershipRequest.getBirthDateDay())); form.setField("birthDateMonth", String.valueOf(membershipRequest.getBirthDateMonth())); form.setField("birthDateYear", String.valueOf(membershipRequest.getBirthDateYear())); form.setField("birthPlaceCity", membershipRequest.getBirthPlaceCity()); form.setField("birthPlaceCounty", membershipRequest.getBirthPlaceCounty()); form.setField("birthPlaceCountry", membershipRequest.getBirthPlaceCountry()); form.setField("licenseNumber", membershipRequest.getLicenseNumber()); if (membershipRequest.getExperienceNrHours() != null) { form.setField("experienceNrHours", String.valueOf(membershipRequest.getExperienceNrHours())); } if (membershipRequest.getExperienceNrTakeoffs() != null) { form.setField("experienceNrTakeoffs", String.valueOf(membershipRequest.getExperienceNrTakeoffs())); } if (membershipRequest.getExperienceNrKm() != null) { form.setField("experienceNrKm", String.valueOf(membershipRequest.getExperienceNrKm())); } if (membershipRequest.isBAcrobaticFlight()) { form.setField("BAcrobaticFlight", "On"); } if (membershipRequest.isBControlFlight()) { form.setField("BControlFlight", "On"); } if (membershipRequest.isBGliderLicense()) { form.setField("BGliderLicense", "On"); } if (membershipRequest.isBInCloudsFlight()) { form.setField("BInCloudsFlight", "On"); } if (membershipRequest.isBInstructor()) { form.setField("BInstructor", "On"); } if (membershipRequest.isBMotorgliderLicense()) { form.setField("BMotorgliderLicense", "On"); } if (membershipRequest.isBNightFlight()) { form.setField("BNightFlight", "On"); } if (membershipRequest.isBTestPilot()) { form.setField("BTestPilot", "On"); } if (membershipRequest.isBTowingPlane()) { form.setField("BTowingPlane", "On"); } if (membershipRequest.isBTowingSelf()) { form.setField("BTowingSelf", "On"); } if (membershipRequest.isBTowingWinch()) { form.setField("BTowingWinch", "On"); } stamp.setFormFlattening(true); stamp.close(); reader.close(); } catch (IOException ex) { Logger.getLogger(MembershipRequestPDFGenerator.class.getName()).log(Level.SEVERE, null, ex); } catch (DocumentException ex) { Logger.getLogger(MembershipRequestPDFGenerator.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.nabla.wapp.report.server.ReportTemplate.java
License:Apache License
public PdfReader generatePdf(final Connection conn, final Map<String, Object> parameters, final Locale locale) throws InternalErrorException { try {/*from www .j a va2s. co m*/ return new PdfReader(render(conn, parameters, ReportFormats.PDF, locale)); } catch (IOException e) { throw new InternalErrorException(Util.formatInternalErrorDescription(e)); } }
From source file:com.openkm.util.PDFUtils.java
License:Open Source License
/** * Fill PDF form/*from www . j a v a2s .c om*/ */ @SuppressWarnings("rawtypes") public static void fillForm(InputStream input, Map<String, Object> values, OutputStream output) throws FileNotFoundException, DocumentException, TemplateException, IOException { log.debug("fillForm({}, {}, {})", new Object[] { input, values, output }); PdfReader reader = new PdfReader(input); PdfStamper stamper = new PdfStamper(reader, output); AcroFields fields = stamper.getAcroFields(); PRAcroForm form = reader.getAcroForm(); boolean formFlattening = false; if (form != null) { for (Iterator it = form.getFields().iterator(); it.hasNext();) { PRAcroForm.FieldInformation field = (PRAcroForm.FieldInformation) it.next(); String fieldValue = fields.getField(field.getName()); log.debug("Field: {}, Value: '{}'", field.getName(), fieldValue); if (fieldValue != null && !fieldValue.isEmpty()) { // if (values.containsKey(field.getName())) { String result = TemplateUtils.replace("PDF_FILL_FORM", fieldValue, values); log.debug("Field '{}' set to '{}' (by expression)", field.getName(), result); fields.setFieldProperty(field.getName(), "textfont", getBaseFont(), null); fields.setField(field.getName(), result); stamper.partialFormFlattening(field.getName()); formFlattening = true; // } else { // log.warn("Field '{}' (expression ignored because not included in map)", field.getName()); // } } else { Object value = values.get(field.getName()); if (value != null) { log.debug("Field '{}' set to '{}' (by field name)", field.getName(), value); fields.setFieldProperty(field.getName(), "textfont", getBaseFont(), null); fields.setField(field.getName(), value.toString()); stamper.partialFormFlattening(field.getName()); formFlattening = true; } else { log.warn("Field '{}' (value ignored because not included in map)", field.getName()); } } } } stamper.setFormFlattening(formFlattening); stamper.close(); reader.close(); }
From source file:com.openkm.util.PDFUtils.java
License:Open Source License
/** * Merge several PDFs into a new one/*from ww w .ja v a 2 s .c o m*/ */ public static void merge(List<InputStream> inputs, OutputStream output) throws IOException, DocumentException { Document document = new Document(); try { PdfSmartCopy copy = new PdfSmartCopy(document, output); document.open(); for (InputStream is : inputs) { PdfReader reader = new PdfReader(is); for (int i = 1; i <= reader.getNumberOfPages(); i++) { copy.addPage(copy.getImportedPage(reader, i)); } } output.flush(); document.close(); } finally { IOUtils.closeQuietly(output); } }
From source file:com.openkm.util.PDFUtils.java
License:Open Source License
/** * Mark PDF to be printed.//from ww w . j a v a2 s . c om */ public static File markToPrint(File input) throws DocumentException, IOException { File tmpPrint = File.createTempFile("okm", ".pdf"); InputStream is = null; try { is = new FileInputStream(input); PdfReader pdfReader = new PdfReader(is); OutputStream out = new FileOutputStream(tmpPrint); PdfStamper stamper = new PdfStamper(pdfReader, out); PdfWriter stamperWriter = stamper.getWriter(); stamperWriter.addJavaScript("this.print(false);"); stamper.close(); pdfReader.close(); } finally { IOUtils.closeQuietly(is); } return tmpPrint; }
From source file:com.openkm.util.PDFUtils.java
License:Open Source License
/** * Encrypt a document and set permissions * * If a PDF is encrypted using an owner password but no user password, anyone can open the PDF and is restricted by the permissions * selected during encryption. Only someone opening that PDF with its owner password is permitted has unlimited access to the PDF. *///from w ww. ja v a 2 s. co m public static void encrypt(InputStream input, String userPassword, String ownerPassword, int permissions, OutputStream output) throws DocumentException, IOException { PdfReader pdfReader = new PdfReader(input); PdfStamper stamper = new PdfStamper(pdfReader, output); stamper.setEncryption(userPassword != null ? userPassword.getBytes() : null, ownerPassword != null ? ownerPassword.getBytes() : null, permissions, true); stamper.close(); pdfReader.close(); }
From source file:com.orange.atk.atkUI.corecli.utils.PdfUtilities.java
License:Apache License
private void signDocument(String pdfFileName) { try {//w w w . jav a 2 s .c om // 1. copy File tmpPDFFile = new File(tmpDir, "tmp2PDF.pdf"); copyFile(new File(pdfFileName), tmpPDFFile); // 2. sign KeyStore ks = KeyStore.getInstance(typeKeystore); FileInputStream fis = new FileInputStream(keystore); ks.load(fis, passwordKeystore.toCharArray()); PrivateKey key = (PrivateKey) ks.getKey(aliasCertificate, passwordKeystore.toCharArray()); Certificate[] chain = ks.getCertificateChain(aliasCertificate); PdfReader reader = new PdfReader(tmpPDFFile.getAbsolutePath()); FileOutputStream fout = new FileOutputStream(pdfFileName); PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0'); PdfSignatureAppearance sap = stp.getSignatureAppearance(); sap.setCrypto(key, chain, null, PdfSignatureAppearance.WINCER_SIGNED); sap.setVisibleSignature(new Rectangle(450, 730, 550, 780), 1, null); stp.close(); fis.close(); } catch (Exception e) { e.printStackTrace(Out.log); } }