int efficientPDFPageCount(File file) { RandomAccessFile raf = new RandomAccessFile(file, "r"); RandomAccessFileOrArray pdfFile = new RandomAccessFileOrArray( new RandomAccessSourceFactory().createSource(raf)); PdfReader reader = new PdfReader(pdfFile, new byte[0]); int pages = reader.getNumberOfPages(); reader.close(); return pages; }
int efficientPDFPageCount(String path) { RandomAccessFileOrArray file = new RandomAccessFileOrArray(path, false, true ); PdfReader reader = new PdfReader(file); int ret = reader.getNumberOfPages(); reader.close(); return ret; }
PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); stamper.insertPage(reader.getNumberOfPages() + 1, reader.getPageSizeWithRotation(1)); stamper.close(); reader.close();
System.out.println ("Reading " + inFile); PdfReader reader = new PdfReader(inFile); int n = reader.getNumberOfPages(); System.out.println ("Number of pages : " + n); int i = 0;
String[] files = { MovieLinks1.RESULT, MovieHistory.RESULT }; // step 1 Document document = new Document(); // step 2 PdfCopy copy = new PdfCopy(document, new FileOutputStream(RESULT)); // step 3 document.open(); // step 4 PdfReader reader; int n; // loop over the documents you want to concatenate for (int i = 0; i < files.length; i++) { reader = new PdfReader(files[i]); // loop over the pages in that document n = reader.getNumberOfPages(); for (int page = 0; page < n; ) { copy.addPage(copy.getImportedPage(reader, ++page)); } copy.freeReader(reader); reader.close(); } // step 5 document.close();
try { PdfReader reader = new PdfReader(INPUTFILE); int n = reader.getNumberOfPages(); String str=PdfTextExtractor.getTextFromPage(reader, 2); //Extracting the content from a particular page. System.out.println(str); reader.close(); } catch (Exception e) { System.out.println(e); }
public void addBlankPageIfOdd(PdfReader reader) { if (reader.getNumberOfPages() % 2 != 0) { addBlankPage(reader); } }
try { PdfReader reader = new PdfReader("c:/temp/test.pdf"); System.out.println("This PDF has "+reader.getNumberOfPages()+" pages."); String page = PdfTextExtractor.getTextFromPage(reader, 2); System.out.println("Page Content:\n\n"+page+"\n\n"); System.out.println("Is this document tampered: "+reader.isTampered()); System.out.println("Is this document encrypted: "+reader.isEncrypted()); } catch (IOException e) { e.printStackTrace(); }
String in = "Original.pdf"; String out = "Original.pdf"; PdfReader reader = new PdfReader(in); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, baos ); int totalPages = reader.getNumberOfPages(); stamper.insertPage(totalPages + 1, PageSize.A4); stamper.addAnnotation(PdfAnnotation.createText(stamper.getWriter(), new Rectangle(30f, 750f, 80f, 800f), "inserted page", "This page is the title page.", true, null), reader.getNumberOfPages()); stamper.close(); FileOutputStream fileOutputStream = new FileOutputStream(out); IOUtils.write(baos.toByteArray(), fileOutputStream);
void mergeFields() { int pageOffset = 0; for (int k = 0; k < fields.size(); ++k) { HashMap fd = ((AcroFields)fields.get(k)).getFields(); addPageOffsetToField(fd, pageOffset); mergeWithMaster(fd); pageOffset += ((PdfReader)readers.get(k)).getNumberOfPages(); } }
void mergeFields() { int pageOffset = 0; for (int k = 0; k < fields.size(); ++k) { HashMap fd = ((AcroFields)fields.get(k)).getFields(); addPageOffsetToField(fd, pageOffset); mergeWithMaster(fd); pageOffset += ((PdfReader)readers.get(k)).getNumberOfPages(); } }
/** * Concatenates a PDF document selecting the pages to keep. The pages are described as * ranges. The page ordering can be changed but * no page repetitions are allowed. * @param reader the PDF document * @param ranges the comma separated ranges as described in {@link SequenceList} * @throws DocumentException on error */ public void addDocument(PdfReader reader, String ranges) throws DocumentException, IOException { fc.addDocument(reader, SequenceList.expand(ranges, reader.getNumberOfPages())); }
/** * Concatenates a PDF document selecting the pages to keep. The pages are described as * ranges. The page ordering can be changed but * no page repetitions are allowed. * @param reader the PDF document * @param ranges the comma separated ranges as described in {@link SequenceList} * @throws DocumentException on error */ public void addDocument(PdfReader reader, String ranges) throws DocumentException, IOException { fc.addDocument(reader, SequenceList.expand(ranges, reader.getNumberOfPages())); }
/** * Selects the pages to keep in the document. The pages are described as * ranges. The page ordering can be changed but no page repetitions are * allowed. Note that it may be very slow in partial mode. * * @param ranges * the comma separated ranges as described in {@link SequenceList} */ public void selectPages(String ranges) { selectPages(SequenceList.expand(ranges, getNumberOfPages())); }
PdfReader reader = new PdfReader(src); int n = reader.getNumberOfPages(); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); PdfContentByte pagecontent; for (int i = 0; i < n; ) { pagecontent = stamper.getOverContent(++i); ColumnText.showTextAligned(pagecontent, Element.ALIGN_RIGHT, new Phrase(String.format("page %s of %s", i, n)), 559, 806, 0); } stamper.close(); reader.close();
PdfContentByte getUnderContent(int pageNum) { if (pageNum < 1 || pageNum > reader.getNumberOfPages()) return null; PageStamp ps = getPageStamp(pageNum); if (ps.under == null) ps.under = new StampContent(this, ps); return ps.under; }
/** * Concatenates a PDF document selecting the pages to keep. The pages are described as * ranges. The page ordering can be changed but * no page repetitions are allowed. * @param reader the PDF document * @param ranges the comma separated ranges as described in {@link SequenceList} * @throws DocumentException on error */ public void addDocument(PdfReader reader, String ranges) throws DocumentException, IOException { fc.addDocument(reader, SequenceList.expand(ranges, reader.getNumberOfPages())); }
public void addAllPages(PdfReader reader) throws TaskException { try { pdfCopy.addDocument(reader); numberOfCopiedPages += reader.getNumberOfPages(); } catch (DocumentException e) { throw new TaskException("An error occurred adding all pages.", e); } catch (IOException e) { throw new TaskIOException("An IO error occurred adding all pages.", e); } }
PdfReader reader = new PdfReader(SOURCE); int n = reader.getNumberOfPages(); int rot; PdfDictionary pageDict; for (int i = 1; i <= n; i++) { rot = reader.getPageRotation(i); pageDict = reader.getPageN(i); pageDict.put(PdfName.ROTATE, new PdfNumber(rot + 90)); } PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); stamper.close(); reader.close();
void addDocument(PdfReader reader, List pagesToKeep) throws DocumentException, IOException { if (!readers2intrefs.containsKey(reader) && reader.isTampered()) throw new DocumentException("The document was reused."); reader = new PdfReader(reader); reader.selectPages(pagesToKeep); if (reader.getNumberOfPages() == 0) return; reader.setTampered(false); addDocument(reader); }