List of usage examples for com.itextpdf.text.pdf PdfReader isEncrypted
public boolean isEncrypted()
true
if the PDF is encrypted. From source file:at.laborg.briss.utils.DocumentCropper.java
License:Open Source License
private static boolean isPasswordRequired(final File file) throws IOException { PdfReader reader = new PdfReader(file.getAbsolutePath()); boolean isEncrypted = reader.isEncrypted(); reader.close();//from w w w . j a v a2 s. co m return isEncrypted; }
From source file:com.innoviu.signature.Signature.java
public static void main(String[] args) { boolean isEncrypted = false; boolean isFailed = false; try {// w ww. ja v a 2 s.c o m if (args.length < 2) { throw new FileNotFoundException(); } PdfReader reader = new PdfReader(args[0]); isEncrypted = reader.isEncrypted(); String suffix = ".pdf"; if (isEncrypted) { System.out.println("Encrypted"); String[] cmd = { "pdftk", args[0], "output", args[0] + ".pdftk.pdf" }; try { Process proc = Runtime.getRuntime().exec(cmd); proc.waitFor(); } catch (Exception e) { System.out.println("Exception is:" + e); } reader = new PdfReader(args[0] + ".pdftk.pdf"); suffix = ".dec.pdf"; } PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(args[0] + suffix)); PdfContentByte over = stamper.getOverContent(1); String type = args[2]; int xpos = 0; //int xpos = (type == "in") ? 120 : 10; if ("in".equals(type)) { xpos = 0; } else { xpos = 120; } over.setColorFill(BaseColor.WHITE); over.rectangle(xpos + 10, 8, 120, 8); over.fill(); over.beginText(); BaseFont bf_times = BaseFont.createFont(BaseFont.TIMES_ROMAN, "Cp1252", false); over.setFontAndSize(bf_times, 6); over.setColorFill(BaseColor.BLACK); over.showTextAligned(PdfContentByte.ALIGN_RIGHT, args[1], 120 + xpos, 10, 0); over.endText(); stamper.close(); if (isEncrypted) { File file = new File(args[0] + ".pdftk.pdf"); file.delete(); } } catch (FileNotFoundException e) { isFailed = true; e.printStackTrace(); } catch (DocumentException e) { isFailed = true; e.printStackTrace(); } catch (IOException e) { isFailed = true; e.printStackTrace(); } finally { if (isEncrypted) { maintain(args[0]); } else if (isFailed) { fail(args[0]); } else { } } }
From source file:com.qmetric.document.watermark.DefaultPdfStamperFactory.java
License:Open Source License
@Override public PdfStamper newPdfStamper(final PdfReader pdfReader, final FileContent fileContent) { try {/*from www. j a v a2s .co m*/ final PdfStamper pdf = new PdfStamper(pdfReader, fileContent.getOutputStream()); if (pdfReader.isEncrypted()) { pdf.setEncryption(null, ownerPassword, pdfReader.getPermissions(), pdfReader.getCryptoMode()); } return pdf; } catch (IOException ioe) { throw new RuntimeException(ioe); } catch (com.itextpdf.text.DocumentException e) { throw new RuntimeException(e); } }
From source file:digiho.reading.java
public static void main(String[] args) { try {//w w w . j a v a2 s. c o m PdfReader reader = new PdfReader("G:\\43211688.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(); } }
From source file:net.sf.regain.crawler.preparator.PdfItextPreparator.java
License:Open Source License
/** * Prpariert ein Dokument fr die Indizierung. * * @param rawDocument Das zu prpariernde Dokument. * @throws net.sf.regain.RegainException Wenn die Prparation fehl schlug. */// w w w. j ava2 s. c om @SuppressWarnings("unchecked") public void prepare(RawDocument rawDocument) throws RegainException { String url = rawDocument.getUrl(); InputStream stream = null; PdfReader reader = null; try { // Create a InputStream that reads the content. stream = rawDocument.getContentAsStream(); // Parse the content reader = new PdfReader(stream); if (reader.isEncrypted()) { reader = new PdfReader(stream, OWNER_PASSWORD); } PdfReaderContentParser parser = new PdfReaderContentParser(reader); TextExtractionStrategy strategy; StringBuilder stringBuilder = new StringBuilder(); for (int i = 1; i <= reader.getNumberOfPages(); i++) { strategy = parser.processContent(i, new SimpleTextExtractionStrategy()); stringBuilder.append(strategy.getResultantText()); } setCleanedContent(stringBuilder.toString()); // Get metadata Map<String, String> info = reader.getInfo(); StringBuilder metaData = new StringBuilder(); metaData.append("p."); metaData.append(Integer.toString(reader.getNumberOfPages())); metaData.append(" "); // Check if fields are null String author = info.get("Author"); String creator = info.get("Creator"); String subject = info.get("Subject"); String keywords = info.get("Keywords"); String title = info.get("Title"); if (author != null) { metaData.append(author); metaData.append(" "); } if (creator != null) { metaData.append(creator); metaData.append(" "); } if (subject != null) { metaData.append(subject); metaData.append(" "); } if (keywords != null) { metaData.append(keywords); metaData.append(" "); } if (title != null) { setTitle(title); } setCleanedMetaData(metaData.toString()); if (log.isDebugEnabled()) { log.debug("Extracted meta data ::" + getCleanedMetaData() + ":: from " + rawDocument.getUrl()); } } catch (IOException exc) { throw new RegainException("Error reading document: " + url, exc); } catch (Exception exc) { // They didn't supply a password and the default of "" was wrong. throw new RegainException("Unknown error parsing document: " + url, exc); } finally { if (stream != null) { try { stream.close(); } catch (Exception exc) { } } if (reader != null) { try { reader.close(); } catch (Exception exc) { } } } }
From source file:org.gmdev.pdftrick.engine.CheckFiles.java
License:Open Source License
/** * method that check is single pdf has a User password protected, set userProtection = true if BadPasswordException; * @param File/*from w ww . java 2 s. c o m*/ */ private void hasProtection(File file) { PdfReader reader = null; try { reader = new PdfReader(file.getPath()); if (reader != null) { if (reader.isEncrypted()) { ownerProtection = true; } reader.close(); } } catch (BadPasswordException e) { userProtection = true; } catch (IOException e) { logger.error("Exception", e); PdfTrickMessages.append("ERROR", Consts.SENDLOG_MSG); } }
From source file:org.h819.commons.file.MyPDFUtils.java
/** * ??? pdf /* w w w. j a va 2 s.com*/ * windows * "PDF Password Remover v4.0" ?? * * @param srcPdf pdf * @param descPdf ? pdf * @param ownerPassword ?????? * @param badDirectory ?? pdf * @throws java.io.IOException */ public static void decryptFile(File srcPdf, File descPdf, String ownerPassword, File badDirectory) throws IOException { String extension = FilenameUtils.getExtension(srcPdf.getAbsolutePath()); if (!extension.equalsIgnoreCase("pdf")) return; // ??? 0 ? if (FileUtils.sizeOf(srcPdf) == 0) { logger.info("{} size =0 ,copy to {}", srcPdf.getAbsoluteFile(), badDirectory.getAbsoluteFile()); FileUtils.copyDirectory(srcPdf, badDirectory, true); return; } try { PdfReader reader; if (ownerPassword != null) reader = getPdfReader(srcPdf, ownerPassword); else reader = getPdfReader(srcPdf); if (!reader.isEncrypted()) {// ? FileUtils.copyFile(srcPdf, descPdf); logger.info("not encrypted,copy {} to {} ", srcPdf.getAbsolutePath(), descPdf.getAbsoluteFile()); return; } List<ExecParameter> list = new ArrayList(2); list.add(new ExecParameter("-i", srcPdf.getAbsolutePath())); // ? key value list.add(new ExecParameter("-o", descPdf.getAbsolutePath())); // list.add(new ExecParameter("-u", "")); // list.add(new ExecParameter("-w", "")); MyExecUtils.exec(Paths.get(getPdfPdfdecryptExec()), list, 1); logger.info("decrypted {} to {}", srcPdf.getAbsolutePath(), descPdf.getAbsolutePath()); // ?? reader.close(); } catch (BadPasswordException e) { // ??? logger.info("{} has user password ,copy to {}", srcPdf.getAbsoluteFile(), badDirectory.getAbsoluteFile()); FileUtils.copyFileToDirectory(srcPdf, badDirectory, true); e.printStackTrace(); return; } catch (IOException e) { e.printStackTrace(); } }
From source file:org.h819.commons.file.MyPDFUtils.java
/** * ??? findEncryptPdf()//from w ww . jav a2 s. c o m * * @param srcPdfFileDir * @throws java.io.IOException */ private static void testEcryptPdf(File srcPdfFileDir) throws IOException { if (!srcPdfFileDir.isDirectory()) { logger.info("srcPdfFileDir is not a Directory: " + srcPdfFileDir.getAbsolutePath()); return; } File listFiles[] = srcPdfFileDir.listFiles(); if (listFiles.length == 0) { logger.info("srcPdfFileDir has not file. " + srcPdfFileDir.getAbsolutePath()); return; } // logger.info(descPdfFileDir.getAbsolutePath()); for (File f : listFiles) { String fileName = f.getName(); String extension = FilenameUtils.getExtension(fileName).toLowerCase(); if (f.isFile()) { if (extension.equals("pdf")) { // ??? 0 40 M if (FileUtils.sizeOf(f) == 0) { tempList.add("size ==0 40M :" + f.getAbsolutePath()); continue; } PdfReader reader; try { reader = getPdfReader(f); } catch (BadPasswordException e) { // ?? e.printStackTrace(); tempList.add("BadPassword,can not open :" + f.getAbsolutePath()); continue; } // logger.info("fileDesc name :" + fileDesc.getAbsolutePath()); if (reader.isEncrypted()) {// tempList.add("encrypted :" + f.getAbsolutePath()); reader.close(); continue; } else { tempList.add("not encrypted :" + f.getAbsoluteFile()); reader.close(); continue; } } // end if f.isFile else continue; } else if (f.isDirectory()) { testEcryptPdf(f); } // end if f.isDirectory else continue; } // end for }
From source file:org.h819.commons.file.MyPDFUtils.java
/** * pdf??? getPageCount()/*from ww w . j ava 2s . c o m*/ * * @param srcPDFFileDir * @return * @throws IOException */ private static void countNumberOfPagesOfDir(File srcPDFFileDir) throws IOException { if (srcPDFFileDir == null || !srcPDFFileDir.isDirectory()) throw new FileNotFoundException(srcPDFFileDir + "'is null or dose not exist."); Collection<File> listPDFs = FileUtils.listFiles(srcPDFFileDir, null, true); for (File f : listPDFs) { // if (f.isDirectory()) countNumberOfPagesOfDir(f); if (!FilenameUtils.getExtension(f.getName().toUpperCase()).equals("PDF")) continue; // System.out.println(f.getPath()); // we create a reader for a certain document PdfReader reader = getPdfReader(f); // we retrieve the total number of pages // if (reader.isEncrypted()) continue; numberOfPagesOfDirectory = numberOfPagesOfDirectory + reader.getNumberOfPages(); } }
From source file:org.h819.commons.file.MyPDFUtilss.java
/** * ??? pdf /*from ww w . j ava 2 s . co m*/ * windows * "PDF Password Remover v4.0" ?? * * @param srcPdf pdf * @param descPdf ? pdf * @param badDirectory ?? pdf * @throws java.io.IOException */ public static void decryptFile(File srcPdf, File descPdf, File badDirectory) { String extension = FilenameUtils.getExtension(srcPdf.getAbsolutePath()); if (!extension.equalsIgnoreCase("pdf")) return; // ??? 0 ? if (FileUtils.sizeOf(srcPdf) == 0) { logger.info("{} size =0 ,copy to {}", srcPdf.getAbsoluteFile(), badDirectory.getAbsoluteFile()); MyFileUtils.copyFileToDirectory(srcPdf, badDirectory); return; } try { PdfReader reader = getPdfReader(srcPdf); if (!reader.isEncrypted()) {// ? FileUtils.copyFile(srcPdf, descPdf); logger.info("not encrypted,copy {} to {} ", srcPdf.getAbsolutePath(), descPdf.getAbsoluteFile()); return; } List<ExecParameter> list = new ArrayList<>(); list.add(new ExecParameter("-i", srcPdf.getAbsolutePath())); // ? key value list.add(new ExecParameter("-o", descPdf.getAbsolutePath())); // list.add(new ExecParameter("-u", "")); // list.add(new ExecParameter("-w", "")); MyExecUtils.exec(Paths.get(getPdfPdfdecryptExec()), list, 1); logger.info("encrypted {} to {}", srcPdf.getAbsolutePath(), descPdf.getAbsolutePath()); // ?? reader.close(); } catch (BadPasswordException e) { // ??? logger.info("{} has user password ,copy to {}", srcPdf.getAbsoluteFile(), badDirectory.getAbsoluteFile()); MyFileUtils.copyFileToDirectory(srcPdf, badDirectory); e.printStackTrace(); return; } catch (IOException e) { e.printStackTrace(); } }