List of usage examples for com.lowagie.text.pdf PdfReader PdfReader
public PdfReader(PdfReader reader)
From source file:com.benfante.minimark.blo.AssessmentPdfBuilder.java
License:Apache License
/** * Build the contatenated PDF for a list of assessments. * * @param assessments The assessments//from w ww . jav a 2 s.co m * @param baseUrl The base URL for retrieving images and resource. If null it will not be set. * @param locale The locale for producing the document. Id null, the default locale will be used. * @return The PDF document. */ public byte[] buildPdf(List<AssessmentFilling> assessments, String baseUrl, Locale locale) throws Exception { ByteArrayOutputStream pdfos = new ByteArrayOutputStream(); List master = new ArrayList(); Document document = null; PdfCopy writer = null; PdfOutline rootOutline = null; try { int f = 0; int pageOffset = 0; for (AssessmentFilling assessment : assessments) { // we create a reader for a certain document PdfReader reader = new PdfReader(buildPdf(assessment, baseUrl, locale)); reader.consolidateNamedDestinations(); // we retrieve the total number of pages int n = reader.getNumberOfPages(); List bookmarks = SimpleBookmark.getBookmark(reader); if (bookmarks != null) { if (pageOffset != 0) { SimpleBookmark.shiftPageNumbers(bookmarks, pageOffset, null); } master.addAll(bookmarks); } pageOffset += n; if (f == 0) { // step 1: creation of a document-object document = new Document(reader.getPageSizeWithRotation(1)); // step 2: we create a writer that listens to the document writer = new PdfCopy(document, pdfos); writer.setViewerPreferences(PdfWriter.PageModeUseOutlines); // step 3: we open the document document.open(); // initialize rootOutline for assessment bookmarks creation PdfContentByte cb = writer.getDirectContent(); rootOutline = cb.getRootOutline(); } // step 4: we add content new PdfOutline(rootOutline, new PdfDestination(PdfDestination.FIT), assessment.getLastName() + " " + assessment.getFirstName()); PdfImportedPage page; for (int i = 0; i < n;) { ++i; page = writer.getImportedPage(reader, i); writer.addPage(page); } PRAcroForm form = reader.getAcroForm(); if (form != null) { writer.copyAcroForm(reader); } f++; } } finally { if (pdfos != null) { try { pdfos.close(); } catch (IOException ioe) { } } if (!master.isEmpty()) { writer.setOutlines(master); } // step 5: we close the document if (document != null && document.isOpen()) { document.close(); } } return pdfos.toByteArray(); }
From source file:com.bluexml.side.Framework.alfresco.workflow.pdfGenerator.structure.AlfrescoStructure.java
License:Open Source License
private static PdfReader getReaderFromAlfrescoPathToPdf(String alfrescoPath) throws IOException, NoPdfFileException { PdfReader reader = null;/*from ww w. ja v a2 s . c o m*/ NodeRef node = getNodeRefFromAlfrescoPathToPdf(alfrescoPath); if (node != null) { InputStream inputStreamOfAlfrescoPdf = serviceRegistry.getFileFolderService().getReader(node) .getContentInputStream(); reader = new PdfReader(inputStreamOfAlfrescoPdf); } else { throw new NoPdfFileException(NoPdfFileException.FILE_DOES_NOT_EXISTS); } return reader; }
From source file:com.bluexml.side.Framework.alfresco.workflow.pdfGenerator.structure.AlfrescoStructure.java
License:Open Source License
private static PdfReader getReaderFromAlfrescoUUIDToPdf(String alfrescoUUID) throws IOException, NoPdfFileException { PdfReader reader = null;/*from w ww. j a v a2s . co m*/ NodeRef node = getNodeRefFromAlfrescoUUIDToPdf(alfrescoUUID); if (node != null) { InputStream inputStreamOfAlfrescoPdf = serviceRegistry.getFileFolderService().getReader(node) .getContentInputStream(); reader = new PdfReader(inputStreamOfAlfrescoPdf); } else { //Trying to evaluate as alfresco javascript Object result = AlfrescoJavaScript.executeScript(executionContext, serviceRegistry, alfrescoUUID, Collections.EMPTY_LIST); if (result instanceof JBPMNode) { JBPMNode jbpmnode = (JBPMNode) result; if (jbpmnode.getNodeRef() != null) getReaderFromAlfrescoUUIDToPdf(jbpmnode.getNodeRef().toString()); } else if (result instanceof String) { getReaderFromAlfrescoUUIDToPdf(result.toString()); } throw new NoPdfFileException(NoPdfFileException.FILE_DOES_NOT_EXISTS); } return reader; }
From source file:com.c6rs.catsix.reg.pdf.PopulatePDF.java
/** * @param args/*w ww .j a va 2 s . co m*/ * @throws IOException * @throws DocumentException */ public static void main(String[] args) throws IOException, DocumentException { PdfReader reader = new PdfReader(PopulatePDF.class.getResourceAsStream("waiver_form.pdf")); FileOutputStream out = new FileOutputStream("/TEMP/waiver.pdf"); PdfStamper stamp = new PdfStamper(reader, out); AcroFields fields = stamp.getAcroFields(); fields.setField(DATE_FIELD, new Date(System.currentTimeMillis()).toString()); fields.setField(EVENT_FIELD, "THE STATE FAIR AFFAIR"); fields.setField(EVENT_DATES_FIELD, new Date(System.currentTimeMillis()).toString()); fields.setField(LICENSE_FIELD, "123456789"); fields.setField(RACING_AGE_FIELD, "33"); fields.setField(FULLNAME_FIELD, "JOE RACER"); fields.setField(ADDRESS_FIELD, "123 MAIN STREET"); fields.setField(CITY_FIELD, "MINNEAPOLIS"); fields.setField(STATE_FIELD, "MN"); fields.setField(ZIP_FIELD, "5416"); fields.setField(PHONE_FIELD, "555-555-5555"); fields.setField(EMAIL_FIELD, "JOE.RACER@GMAIL.COM"); fields.setField(CONTACT_NAME_FIELD, "JOAN RACER"); fields.setField(CONTACT_PHONE_FIELD, "555-555-5555"); // Need to lock fields and prevent further edits? //stamp.setFormFlattening(true); stamp.close(); }
From source file:com.cyberway.issue.crawler.extractor.PDFParser.java
License:Open Source License
/** * Initialize opens the document for reading. This is done implicitly * by the constuctor. This should only need to be called directly following * a reset./* w ww . jav a2s . co m*/ * @throws IOException */ protected void initialize() throws IOException { if (document != null) { documentReader = new PdfReader(document); } catalog = documentReader.getCatalog(); }
From source file:com.dgpx.control.ExamNumberManagedBean.java
@Override public void print() throws Exception { if (currentEntity == null) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Warn", "???")); return;/* w ww. j a v a2 s . c o m*/ } examNumberBean.setDetail(currentEntity.getId()); if (examNumberBean.getDetailList().isEmpty()) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Warn", "???")); return; } else { for (ExamCard c : examNumberBean.getDetailList()) { if (!c.getStatus().equals("Z")) { c.setStatus("Z"); examCardBean.update(c); } } } String reportName, outputName; //?? reportName = reportPath + this.currentSysprg.getRptdesign(); //?? outputName = reportOutputPath + currentEntity.getFormid() + ".pdf"; OutputStream os = new FileOutputStream(outputName); PdfCopyFields pdfCopy = new PdfCopyFields(os); HashMap<String, Object> params = new HashMap<>(); ByteArrayOutputStream baos; for (ExamCard c : examNumberBean.getDetailList()) { //? baos = new ByteArrayOutputStream(); params.put("id", c.getId()); params.put("JNDIName", this.currentSysprg.getRptjndi()); try { //?? this.reportInitAndConfig(); //? this.reportRunAndOutput(reportName, params, null, "pdf", baos); } catch (Exception ex) { throw ex; } finally { params.clear(); } pdfCopy.addDocument(new PdfReader(baos.toByteArray())); } pdfCopy.close(); this.reportViewPath = reportViewContext + currentEntity.getFormid() + ".pdf"; this.preview(); }
From source file:com.globalsight.everest.webapp.pagehandler.edit.inctxrv.pdf.PreviewPDFHelper.java
License:Apache License
public static File setCopyOnlyPermission(File p_file) throws DocumentException, IOException { PdfReader reader = new PdfReader(p_file.getAbsolutePath()); String outPutFile = FileUtils.getPrefix(p_file.getAbsolutePath()) + "_hidebars.pdf"; int n = reader.getNumberOfPages(); Rectangle psize = reader.getPageSize(1); float width = psize.height(); float height = psize.width(); Document document = new Document(new Rectangle(width, height)); PdfCopy writer = new PdfCopy(document, new FileOutputStream(outPutFile)); writer.setEncryption(PdfWriter.STRENGTH40BITS, null, null, PdfWriter.ALLOW_COPY | PdfWriter.ALLOW_PRINTING); try {// w w w . j a va 2 s . c o m document.open(); int i = 0; while (i < n) { document.newPage(); i++; PdfImportedPage page1 = writer.getImportedPage(reader, i); writer.addPage(page1); } document.close(); } catch (IllegalArgumentException e) { if (!e.getMessage().equals("PdfReader not opened with owner password")) { throw new EnvoyServletException(e); } else { LOGGER.error(e.getMessage(), e); } } return new File(outPutFile); }
From source file:com.globalsight.everest.webapp.pagehandler.edit.online.PreviewPDFPageHandler.java
License:Apache License
public static File setCopyOnlyPermission(File p_file) throws DocumentException, IOException { PdfReader reader = new PdfReader(p_file.getAbsolutePath()); String outPutFile = FileUtils.getPrefix(p_file.getAbsolutePath()) + "_hidebars.pdf"; int n = reader.getNumberOfPages(); Rectangle psize = reader.getPageSize(1); float width = psize.height(); float height = psize.width(); Document document = new Document(new Rectangle(width, height)); PdfCopy writer = new PdfCopy(document, new FileOutputStream(outPutFile)); writer.setEncryption(PdfWriter.STRENGTH40BITS, null, null, PdfWriter.ALLOW_COPY | PdfWriter.ALLOW_PRINTING); try {// w w w .j a v a2s. co m document.open(); int i = 0; while (i < n) { document.newPage(); i++; PdfImportedPage page1 = writer.getImportedPage(reader, i); writer.addPage(page1); } document.close(); } catch (IllegalArgumentException e) { if (!e.getMessage().equals("PdfReader not opened with owner password")) { throw new EnvoyServletException(e); } else { CATEGORY.error(e.getMessage(), e); } } return new File(outPutFile); }
From source file:com.hadoop.gy404.tools.DocConverter.java
public void getpdfnumbers() { try {/*from w ww. j a va2 s. c om*/ this.pagenums = new PdfReader(pdfFile.getAbsolutePath()).getNumberOfPages(); } catch (IOException e) { // TODO Auto-generated catch block this.pagenums = 0; e.printStackTrace(); } }
From source file:com.homesoft.component.report.pdf.PdfWrappedStamper.java
License:Open Source License
private ByteArrayOutputStream stampInputStream(InputStream is) { ByteArrayOutputStream os = new ByteArrayOutputStream(); PdfReader reader = null;//from ww w .j av a 2s .co m PdfStamper stamp = null; try { reader = new PdfReader(is); stamp = new PdfStamper(reader, os); } catch (DocumentException e) { log.error(e.getMessage(), e); } catch (IOException e) { log.error(e.getMessage(), e); } if (reader == null || stamp == null) { return null; } int total = reader.getNumberOfPages(); for (int i = 1; i <= total; i++) { PdfContentByte over = stamp.getOverContent(i); boolean fixedImageEnabled = GlobalConfig.getInstance().getStamperFixedImageEnabled(); boolean dynamicImageEnabled = GlobalConfig.getInstance().getStamperDynamicImageEnabled(); if (imageEnabled && fixedImageEnabled) { image.setRotationDegrees(GlobalConfig.getInstance().getStamperFixedImageRotationDegree()); image.setAbsolutePosition(GlobalConfig.getInstance().getStamperFixedImagePositionX(), GlobalConfig.getInstance().getStamperFixedImagePositionY());// position over.setGState(gsFixed); try { over.addImage(image); } catch (DocumentException e) { log.error(e.getMessage(), e); } } if (imageEnabled && dynamicImageEnabled) { int jx = GlobalConfig.getInstance().getStamperDynamicImagePositionXStart(); int jy = GlobalConfig.getInstance().getStamperDynamicImagePositionYStart(); while (jy < 800) { // img.setRotation(30); image.setRotationDegrees(GlobalConfig.getInstance().getStamperDynamicImageRotationDegree()); image.setAbsolutePosition(jx, jy); over.setGState(gsDynamic); try { over.addImage(image); } catch (DocumentException e) { log.error(e.getMessage(), e); } jx += GlobalConfig.getInstance().getStamperDynamicImagePositionXStep(); jy += GlobalConfig.getInstance().getStamperDynamicImagePositionYStep(); } } } try { stamp.close(); } catch (DocumentException e) { log.error(e.getMessage(), e); } catch (IOException e) { log.error(e.getMessage(), e); } reader.close(); return os; }