List of usage examples for com.lowagie.text.pdf PdfReader isRebuilt
public boolean isRebuilt()
From source file:org.pdfsam.guiclient.commons.business.loaders.callable.AddPdfDocument.java
License:Open Source License
/** * * @param fileToAdd file to add//w ww .j av a2 s . c o m * @param password password to open the file * @return the item to add to the table */ PdfSelectionTableItem getPdfSelectionTableItem(File fileToAdd, String password, String pageSelection) { PdfSelectionTableItem tableItem = null; PdfReader pdfReader = null; if (fileToAdd != null) { tableItem = new PdfSelectionTableItem(); tableItem.setInputFile(fileToAdd); tableItem.setPassword(password); tableItem.setPageSelection(pageSelection); try { //fix 04/11/08 for memory usage pdfReader = new PdfReader(new RandomAccessFileOrArray(fileToAdd.getAbsolutePath()), (password != null) ? password.getBytes() : null); tableItem.setEncrypted(pdfReader.isEncrypted()); tableItem.setFullPermission(pdfReader.isOpenedWithFullPermissions()); if (tableItem.isEncrypted()) { tableItem.setPermissions(getPermissionsVerbose(pdfReader.getPermissions())); int cMode = pdfReader.getCryptoMode(); switch (cMode) { case PdfWriter.STANDARD_ENCRYPTION_40: tableItem.setEncryptionAlgorithm(EncryptionUtility.RC4_40); break; case PdfWriter.STANDARD_ENCRYPTION_128: tableItem.setEncryptionAlgorithm(EncryptionUtility.RC4_128); break; case PdfWriter.ENCRYPTION_AES_128: tableItem.setEncryptionAlgorithm(EncryptionUtility.AES_128); break; default: break; } } tableItem.setPagesNumber(Integer.toString(pdfReader.getNumberOfPages())); tableItem.setFileSize(fileToAdd.length()); tableItem.setPdfVersion(pdfReader.getPdfVersion()); tableItem.setSyntaxErrors(pdfReader.isRebuilt()); initTableItemDocumentData(pdfReader, tableItem); } catch (Exception e) { tableItem.setLoadedWithErrors(true); LOG.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(), "Error loading ") + fileToAdd.getAbsolutePath() + " :", e); } finally { if (pdfReader != null) { pdfReader.close(); pdfReader = null; } } } return tableItem; }