/** * Reads a PDF file for retrieving its metadata. * * @param file File */ public void createTextFromPDF(File file) { if (file.exists()) { int page = 1; PdfReader reader = null; try { reader = new PdfReader(new RandomAccessFileOrArray(file.getAbsolutePath()), null); HashMap<String, String> pdfinfo = reader.getInfo(); StringBuffer sb = new StringBuffer(); sb.append("<html>=== Document Information ===<p>"); sb.append( reader.getCropBox(page).getHeight() + "*" + reader.getCropBox(page).getWidth() + "<p>"); sb.append("PDF Version: " + reader.getPdfVersion() + "<p>"); sb.append("Number of pages: " + reader.getNumberOfPages() + "<p>"); sb.append("Number of PDF objects: " + reader.getXrefSize() + "<p>"); sb.append("File length: " + reader.getFileLength() + "<p>"); sb.append("Encrypted= " + reader.isEncrypted() + "<p>"); if (pdfinfo.get("Title") != null) { sb.append("Title= " + pdfinfo.get("Title") + "<p>"); } if (pdfinfo.get("Author") != null) { sb.append("Author= " + pdfinfo.get("Author") + "<p>"); } if (pdfinfo.get("Subject") != null) { sb.append("Subject= " + pdfinfo.get("Subject") + "<p>"); } if (pdfinfo.get("Producer") != null) { sb.append("Producer= " + pdfinfo.get("Producer") + "<p>"); } if (pdfinfo.get("ModDate") != null) { sb.append("ModDate= " + PdfDate.decode(pdfinfo.get("ModDate")).getTime() + "<p>"); } if (pdfinfo.get("CreationDate") != null) { sb.append( "CreationDate= " + PdfDate.decode(pdfinfo.get("CreationDate")).getTime() + "<p>"); } sb.append("</html>"); label.setText(sb.toString()); } catch (IOException ex) { label.setText(""); } } }