List of usage examples for com.itextpdf.text.pdf PdfReader getNumberOfPages
public int getNumberOfPages()
From source file:pdf.letter.java
public boolean AlterLetter(String rujukan, String name, String position, String department, String gStatus, String sDate, String eDate, String taskName, String postHolderName, String postHolderEmail, String postName) {//from w w w . j a v a 2 s . com DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); Date today = Calendar.getInstance().getTime(); String currDate = df.format(today); try { PdfReader pdfReader; pdfReader = new PdfReader("C:\\Users\\on\\Desktop\\AD\\TFMsystem\\web\\Appointment letter.pdf"); //C:\\Users\\on\\Desktop\\AD\\TFMsystem\\web\\Appointment letter.pdf //Create PdfStamper instance. PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream( "C:\\Users\\on\\Desktop\\AD\\TFMsystem\\web\\Modified appointment letter.pdf")); //C:\\Users\\on\\Desktop\\AD\\TFMsystem\\web\\Modified Appointment letter.pdf //Create BaseFont instance. BaseFont baseFont = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.CP1257, BaseFont.NOT_EMBEDDED); //Get the number of pages in pdf. int pages = pdfReader.getNumberOfPages(); //Iterate the pdf through pages. for (int i = 1; i <= pages; i++) { //Contain the pdf data. PdfContentByte pageContentByte = pdfStamper.getOverContent(i); pageContentByte.beginText(); //Set text font and size. pageContentByte.setFontAndSize(baseFont, 11); //Write text pageContentByte.setTextMatrix(120, 706); pageContentByte.showText(rujukan); pageContentByte.setTextMatrix(500, 706); pageContentByte.showText(currDate); //address pageContentByte.setTextMatrix(46, 641); pageContentByte.showText(name); pageContentByte.setTextMatrix(46, 629); pageContentByte.showText(position); pageContentByte.setTextMatrix(46, 617); pageContentByte.showText(department); String gstatus; pageContentByte.setTextMatrix(157, 493); String changeCase = gStatus + ", " + taskName; pageContentByte.showText(changeCase.toUpperCase()); pageContentByte.setTextMatrix(250, 444); pageContentByte.showText(gStatus + " " + taskName + " ."); pageContentByte.setTextMatrix(180, 432); pageContentByte.showText(sDate); pageContentByte.setTextMatrix(290, 432); pageContentByte.showText(eDate + " ."); pageContentByte.setTextMatrix(46, 248); pageContentByte.showText(postHolderName); pageContentByte.setTextMatrix(46, 236); pageContentByte.showText(postName); pageContentByte.setTextMatrix(46, 224); pageContentByte.showText("Fakulti Komputeran"); pageContentByte.setTextMatrix(46, 212); pageContentByte.showText(postHolderEmail); pageContentByte.endText(); } //Close the pdfStamper. pdfStamper.close(); System.out.println("PDF modified successfully."); return true; } catch (Exception e) { e.printStackTrace(); return false; } }
From source file:pdf.SplitPDF.java
public static void splitPDF(InputStream inputStream, OutputStream outputStream, int fromPage, int toPage) { Document document = new Document(); try {/*from w w w . ja va2 s. c om*/ PdfReader inputPDF = new PdfReader(inputStream); int totalPages = inputPDF.getNumberOfPages(); //make fromPage equals to toPage if it is greater if (fromPage > toPage) { fromPage = toPage; } if (toPage > totalPages) { toPage = totalPages; } // Create a writer for the outputstream PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); PdfContentByte cb = writer.getDirectContent(); // Holds the PDF data PdfImportedPage page; while (fromPage <= toPage) { document.newPage(); page = writer.getImportedPage(inputPDF, fromPage); cb.addTemplate(page, 0, 0); fromPage++; } outputStream.flush(); document.close(); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (document.isOpen()) { document.close(); } try { if (outputStream != null) { outputStream.close(); } } catch (IOException ioe) { ioe.printStackTrace(); } } }
From source file:pdf.watermark.java
License:Open Source License
public watermark() { try {//from w w w. ja va 2s .c om PdfReader Read_PDF_To_Watermark = new PdfReader( "D:\\Dropbox\\Studium\\Bachelor Thesis\\Resourcen\\pdfexport\\xmltopdf\\test.pdf"); int number_of_pages = Read_PDF_To_Watermark.getNumberOfPages(); PdfStamper stamp = new PdfStamper(Read_PDF_To_Watermark, new FileOutputStream( "D:\\Dropbox\\Studium\\Bachelor Thesis\\Resourcen\\pdfexport\\xmltopdf\\New_PDF_With_Watermark_Image.pdf")); int i = 0; Image watermark_image = Image .getInstance("D:\\Dropbox\\Studium\\Bachelor Thesis\\Resourcen\\pdfexport\\xmltopdf\\desy.png"); watermark_image.setAbsolutePosition(50, 150); watermark_image.scaleToFit(500, 500); PdfContentByte add_watermark; while (i < number_of_pages) { i++; add_watermark = stamp.getUnderContent(i); add_watermark.addImage(watermark_image); } stamp.close(); } catch (IOException | DocumentException i1) { i1.printStackTrace(); } }
From source file:pdfextract.ControlPDF.java
public List<String> parsePdfToArrayList(String pdfPath) throws IOException { PdfReader reader = new PdfReader(pdfPath); PdfReaderContentParser parser = new PdfReaderContentParser(reader); List<String> arrayOftext = new ArrayList<String>(); TextExtractionStrategy strategy;/*from w w w. ja va2s. c o m*/ for (int i = 1; i <= reader.getNumberOfPages(); i++) { strategy = parser.processContent(i, new SimpleTextExtractionStrategy()); arrayOftext.add(strategy.getResultantText()); } reader.close(); return arrayOftext; }
From source file:pdfextract.ControlPDF.java
public void extractImagesFromPdf(String filename, String save) throws IOException, DocumentException { PdfReader reader = new PdfReader(filename); PdfReaderContentParser parser = new PdfReaderContentParser(reader); ImageRenderListener listener = new ImageRenderListener(save); for (int i = 1; i <= reader.getNumberOfPages(); i++) { parser.processContent(i, listener); }//from www . j ava 2s . c om reader.close(); }
From source file:pdfextract.ControlPDF.java
public String pdfToDIrAndimgToString(String pdfPath, File destnationPath) throws IOException, DocumentException, Exception { //boolean success; String kk = ""; String desPath = null;// www. jav a 2 s . c o m PdfReader reader = new PdfReader(pdfPath); PdfReaderContentParser parser = new PdfReaderContentParser(reader); try { desPath = destnationPath.getName(); new File(desPath.replace(".txt", "")).mkdir(); PrintWriter out = new PrintWriter( new FileOutputStream(desPath.replace(".txt", "") + "/" + destnationPath.getName())); TextExtractionStrategy strategy; for (int i = 1; i <= reader.getNumberOfPages(); i++) { strategy = parser.processContent(i, new SimpleTextExtractionStrategy()); out.println(i + " " + strategy.getResultantText()); } reader.close(); out.flush(); out.close(); extractImagesFromPdf(pdfPath, desPath.replace(".txt", "") + "/" + desPath.replace(".txt", "")); File f = new File(desPath.replace(".txt", "") + "/" + desPath.replace(".txt", "") + "-16.null"); kk = imageToBase64String(f); /*File deletedFolder = new File(destnationPath.getParent()); System.out.println("here"+destnationPath.getParent()); deletedFolder.delete(); System.out.println("is delete+ " + deletedFolder.delete());*/ // FileUtils.deleteDirectory(new File(deletedFolder.getParent())); //success = true; } catch (Exception ex) { //success = false; } return kk; }
From source file:pdfextract.ExtractInfo.java
public List<String> parsePdf(String pdfPath) throws IOException { PdfReader reader = new PdfReader(pdfPath); PdfReaderContentParser parser = new PdfReaderContentParser(reader); //String [] arrayOftext= new String[300]; List<String> arrayOftext = new ArrayList<String>(); // PrintWriter out = new PrintWriter(new FileOutputStream(destnationPath)); TextExtractionStrategy strategy;/*from ww w . jav a 2s . c o m*/ for (int i = 1; i <= reader.getNumberOfPages(); i++) { strategy = parser.processContent(i, new SimpleTextExtractionStrategy()); // out.println(i + " " + strategy.getResultantText()); arrayOftext.add(strategy.getResultantText()); } reader.close(); return arrayOftext; }
From source file:pdfextract.ExtractInfo.java
public void extractImages(String filename) throws IOException, DocumentException { PdfReader reader = new PdfReader(filename); PdfReaderContentParser parser = new PdfReaderContentParser(reader); ImageRenderListener listener = new ImageRenderListener("spdf"); for (int i = 1; i <= reader.getNumberOfPages(); i++) { parser.processContent(i, listener); }//from w ww . j av a 2 s. co m reader.close(); BufferedImage buffImage; }
From source file:pdfgen.pdf_generation_try5.java
public void AllFunctions(String realpath, String sample_pdf_path) { try {//from ww w .j a v a2s .c om INPUTFILE = sample_pdf_path; // System.out.println("Inputfile: "+INPUTFILE); Document document = new Document(); //PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE)); OUTPUTFILE = filepath(realpath); //System.out.println("Outputfile"+OUTPUTFILE); PdfReader reader = new PdfReader(INPUTFILE); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE)); // writer.setEncryption(USER_PASS.getBytes(), OWNER_PASS.getBytes(),PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128); document.open(); addTitlePage(document); int n = reader.getNumberOfPages(); PdfImportedPage page; // Go through all pages for (int i = 1; i <= n; i++) { page = writer.getImportedPage(reader, i); Image instance = Image.getInstance(page); instance.setAlignment(Element.ALIGN_LEFT); // document.add(instance); } addMetaData(document); pdfReaderFunction(reader); AddParagraph(document); // addContent(document); // scaleImage(); qr_generator(document); document.close(); } catch (Exception e) { e.printStackTrace(); } }
From source file:pdfgen.pdf_generation_try5.java
public void pdfReaderFunction(PdfReader reader) throws IOException { String s;//from w w w . jav a2 s.c o m String u; String k; Xmltohashmap xh = new Xmltohashmap(); //System.out.println(xh.hmap); int i = reader.getNumberOfPages(); String s1 = null; for (int j = 1; j <= i; j++) { s = PdfTextExtractor.getTextFromPage(reader, j); k = s.format(s, null); // System.out.println(k); s1 = s1 + s; int st1 = s1.length(); // String nullChar=s1.substring(0,4); s1 = s1.substring(5, st1); // System.out.println("This is null character"+nullChar); } Xmlgeneric xg = new Xmlgeneric(); Iterator<Integer> iter = xg.tmap.keySet().iterator(); for (int f = 0; f < xg.tmap.size(); f++) { /*---------------Jaydatta--------------- * String key="*"+(String)xh.hmap.keySet().toArray()[f]+"*"; String value=(String)xh.hmap.values().toArray()[f]; */ //-----------------------Prasanna---------------- String key = ""; String value = ""; int keyOfMap = iter.next(); key = "*" + keyOfMap + "*"; value = xg.tmap.get(keyOfMap); // System.out.println("key :=> "+key+": "+xg.tmap.get(keyOfMap)); if (f == 0) { rep1 = s1.replace(key, value); } else { rep1 = rep1.replace(key, value); } } }