List of usage examples for com.itextpdf.text.pdf PdfReader getNumberOfPages
public int getNumberOfPages()
From source file:com.docdoku.server.esindexer.ESTools.java
License:Open Source License
private static String pdfDocumentToString(InputStream inputStream, String fullName) throws IOException { StringBuilder buf = new StringBuilder(); try (InputStream pdfStream = new BufferedInputStream(inputStream)) { PdfReader reader = new PdfReader(pdfStream); for (int i = 1; i <= reader.getNumberOfPages(); i++) { buf.append(pdfPageToString(reader, i, fullName)); }//from w w w .j a v a2 s. com reader.close(); } return buf.toString(); }
From source file:com.docdoku.server.extras.TitleBlockGenerator.java
License:Open Source License
public static InputStream mergePdfDocuments(InputStream input1, InputStream input2) { try {//from www . j a va 2 s .c om File tmpDir = com.google.common.io.Files.createTempDir(); File tmpCopyFile = new File(tmpDir, TEMP_FILE_NAME); InputStream[] files = { input1, input2 }; Document doc = new Document(); PdfCopy copy = new PdfCopy(doc, new FileOutputStream(tmpCopyFile)); doc.open(); PdfReader pdfReader; int n; // TODO check for resources to be closed for (InputStream file : files) { pdfReader = new PdfReader(file); n = pdfReader.getNumberOfPages(); for (int page = 0; page < n;) { copy.addPage(copy.getImportedPage(pdfReader, ++page)); } } doc.close(); tmpDir.deleteOnExit(); return new FileInputStream(tmpCopyFile); } catch (Exception e) { LOGGER.log(Level.INFO, null, e); } return null; }
From source file:com.ephesoft.dcma.util.PDFUtil.java
License:Open Source License
/** * API for getting the number of pages in the pdf file. * /*from w ww .j a v a 2 s . c o m*/ * @param filePath file path {@link String} * @return numberOfPage */ public static int getPDFPageCount(String filePath) { int numberOfPage = 0; PdfReader pdfReader = null; try { pdfReader = new PdfReader(new RandomAccessFileOrArray(filePath), null); numberOfPage = pdfReader.getNumberOfPages(); } catch (IOException e) { LOG.error("Error in reading the file:" + filePath + UtilConstants.SPACE + e.getMessage(), e); } finally { if (pdfReader != null) { pdfReader.close(); } } return numberOfPage; }
From source file:com.erikHolz.vertretungsplan.Converter.java
License:Open Source License
public void parsePDF() throws IOException { PdfReader reader = new PdfReader(fileDest + ".pdf"); PdfReaderContentParser parser = new PdfReaderContentParser(reader); PrintWriter out = new PrintWriter(new FileOutputStream(fileDest + "__.txt")); TextExtractionStrategy strategy;/*from w w w . j a v a2 s.c o m*/ for (int intI = 1; intI <= reader.getNumberOfPages(); intI++) { strategy = parser.processContent(intI, new LocationTextExtractionStrategy()); out.println(strategy.getResultantText()); } out.flush(); out.close(); reader.close(); // lschen der ursprnglichen pdf File f = new File(fileDest + ".pdf"); if (f.exists()) f.delete(); }
From source file:com.github.albfernandez.joinpdf.JoinPdf.java
License:Open Source License
private void addPdf(final File file, final Document document, final PdfWriter writer) throws Exception { PdfReader pdfReader = null; try (InputStream is = new FileInputStream(file)) { pdfReader = new PdfReader(is); PdfContentByte cb = writer.getDirectContent(); for (int currentPage = 1; currentPage <= pdfReader.getNumberOfPages(); currentPage++) { Rectangle currentPageSize = pdfReader.getPageSize(currentPage); document.setPageSize(currentPageSize); document.newPage();//from w ww . ja va 2 s .c om PdfImportedPage page = writer.getImportedPage(pdfReader, currentPage); cb.addTemplate(page, 0, 0); writePageNumber(cb); } writer.flush(); } finally { if (pdfReader != null) { writer.freeReader(pdfReader); ItextUtils.close(pdfReader); } } }
From source file:com.github.albfernandez.joinpdf.JoinPdf.java
License:Open Source License
private static int getPageCountPdf(final InputStream is) { PdfReader pdfReader = null; try {//from w w w. j a v a 2 s.c om pdfReader = new PdfReader(is); return pdfReader.getNumberOfPages(); } catch (Exception e) { return 0; } finally { ItextUtils.close(pdfReader); } }
From source file:com.github.hossman.PdfShrinker.java
License:Apache License
public static void main(String args[]) throws Exception { if (1 != args.length) { System.err.println("Run this app with a single command line PDF filename"); System.err.println("The specified file will be read, and a shrunk version written to stdout"); System.err.println("ie: java -jar pdf-shrinker.jar big.pdf > small.pdf"); System.exit(-1);/*from w ww .java 2s . c o m*/ } Document document = new Document(); PdfSmartCopy copy = new PdfSmartCopy(document, System.out); copy.setCompressionLevel(9); copy.setFullCompression(); document.open(); PdfReader reader = new PdfReader(args[0]); List<HashMap<String, Object>> bookmarks = SimpleBookmark.getBookmark(reader); int pages = reader.getNumberOfPages(); for (int i = 0; i < pages; i++) { PdfImportedPage page = copy.getImportedPage(reader, i + 1); copy.addPage(page); } copy.freeReader(reader); reader.close(); copy.setOutlines(bookmarks); document.close(); }
From source file:com.github.sgelb.sldownloader.model.Pdf.java
License:Open Source License
public void mergePdfs() throws DocumentException, IOException { String title = book.getPdfTitle() + ".pdf"; File saveFile = new File(saveFolder, title); int count = 1; while (saveFile.exists()) { title = book.getPdfTitle() + "_" + count++ + ".pdf"; saveFile = new File(saveFolder, title); }/* w ww .jav a2 s . com*/ book.setInfo("saveFile", saveFile.toString()); Document document = new Document(); PdfCopy destPdf = new PdfCopy(document, new FileOutputStream(saveFile)); document.open(); PdfReader reader; int page_offset = 0; int n; ArrayList<HashMap<String, Object>> bookmarks = new ArrayList<HashMap<String, Object>>(); List<HashMap<String, Object>> tmp; count = 1; System.out.println("Start mergin\u2026"); for (File srcPdf : src) { if (Thread.interrupted()) { return; } System.out.print(":: " + count++ + "/" + src.size()); reader = new PdfReader(srcPdf.toString()); tmp = SimpleBookmark.getBookmark(reader); if (tmp != null) { SimpleBookmark.shiftPageNumbers(tmp, page_offset, null); bookmarks.addAll(tmp); } n = reader.getNumberOfPages(); page_offset += n; for (int page = 0; page < n;) { destPdf.addPage(destPdf.getImportedPage(reader, ++page)); } destPdf.freeReader(reader); reader.close(); System.out.println(" succeed."); } if (!bookmarks.isEmpty()) { destPdf.setOutlines(bookmarks); } if (book.getInfo("author") != null) document.addAuthor(book.getInfo("author")); if (book.getInfo("title") != null) document.addTitle(book.getInfo("title")); if (book.getInfo("subtitle") != null) document.addSubject(book.getInfo("subtitle")); document.close(); System.out.println("Merge complete. Saved to " + saveFile); }
From source file:com.github.ukase.bulk.BulkRenderTask.java
License:Open Source License
private void appendPdf(Document document, PdfWriter writer, PdfContentByte cb, byte[] pdf) throws IOException { PdfReader reader = new PdfReader(pdf); for (int i = 1; i <= reader.getNumberOfPages(); i++) { PdfImportedPage page = writer.getImportedPage(reader, i); document.newPage();//from www.j ava2s.co m cb.addTemplate(page, 0, 0); } }
From source file:com.github.ukase.service.PdfRenderer.java
License:Open Source License
private void addSampleWatermark(ByteArrayOutputStream baos, char pdfVersion) throws IOException, DocumentException { PdfReader reader = new PdfReader(baos.toByteArray()); baos.reset();/* ww w.ja v a2 s .c om*/ Phrase phrase = new Phrase(waterMark.getText(), font); PdfStamper stamper = new PdfStamper(reader, baos, pdfVersion); for (int i = 1; i <= reader.getNumberOfPages(); i++) { PdfContentByte canvas = stamper.getUnderContent(i); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase, waterMark.getX(), waterMark.getY(), waterMark.getDegree()); } stamper.close(); reader.close(); }