boolean targetTagStructureVersionIs2() { return PdfVersion.PDF_2_0.compareTo(tagStructureTargetVersion) <= 0; }
private static PdfVersion createPdfVersion(int major, int minor) { PdfVersion pdfVersion = new PdfVersion(major, minor); values.add(pdfVersion); return pdfVersion; } }
/** * Creates a PdfVersion class from a {@link PdfName} object if the specified version * can be found. * * @param name version number * @return PdfVersion of the specified version */ public static PdfVersion fromPdfName(PdfName name) { for (PdfVersion version : values) { if (version.toPdfName().equals(name)) { return version; } } throw new IllegalArgumentException("The provided pdf version was not found."); }
PdfVersion catalogVersion = PdfVersion.fromPdfName(catalog.getPdfObject().getAsName(PdfName.Version)); if (catalogVersion.compareTo(pdfVersion) > 0) { pdfVersion = catalogVersion; if (pdfVersion.compareTo(PdfVersion.PDF_1_4) >= 0) { if (newPdfVersion.compareTo(reader.headerPdfVersion) > 0) { catalog.put(PdfName.Version, newPdfVersion.toPdfName()); catalog.setModified(); pdfVersion = newPdfVersion;
/** * Creates a PdfVersion class from a String object if the specified version * can be found. * * @param value version number * @return PdfVersion of the specified version */ public static PdfVersion fromString(String value) { for (PdfVersion version : values) { if (version.toString().equals(value)) { return version; } } throw new IllegalArgumentException("The provided pdf version was not found."); }
/** * Parses the entire PDF */ protected void readPdf() throws IOException { String version = tokens.checkPdfHeader(); try { this.headerPdfVersion = PdfVersion.fromString(version); } catch (IllegalArgumentException exc) { throw new PdfException(PdfException.PdfVersionNotValid, version); } try { readXref(); } catch (RuntimeException ex) { Logger logger = LoggerFactory.getLogger(PdfReader.class); logger.warn(LogMessageConstant.XREF_ERROR, ex); rebuildXref(); } readDecryptObj(); }
/** * Writes PDF header. */ protected void writeHeader() { writeByte('%'). writeString(document.getPdfVersion().toString()). writeString("\n%\u00e2\u00e3\u00cf\u00d3\n"); }
@Override public boolean equals(Object obj) { return getClass() == obj.getClass() && compareTo((PdfVersion) obj) == 0; }
public StandardHandlerUsingAes256(PdfDictionary encryptionDictionary, byte[] userPassword, byte[] ownerPassword, int permissions, boolean encryptMetadata, boolean embeddedFilesOnly, PdfVersion version) { isPdf2 = version != null && version.compareTo(PdfVersion.PDF_2_0) >= 0; initKeyAndFillDictionary(encryptionDictionary, userPassword, ownerPassword, permissions, encryptMetadata, embeddedFilesOnly); }
public static boolean validatePdfVersionForDeprecatedFeatureLogWarn(PdfDocument document, PdfVersion expectedVersion, String deprecatedFeatureLogMessage) { if (document.getPdfVersion().compareTo(expectedVersion) >= 0) { logger.warn(deprecatedFeatureLogMessage); return true; } else { return false; } }
public static boolean validatePdfVersionForDeprecatedFeatureLogError(PdfDocument document, PdfVersion expectedVersion, String deprecatedFeatureLogMessage) { if (document.getPdfVersion().compareTo(expectedVersion) >= 0) { logger.error(deprecatedFeatureLogMessage); return true; } else { return false; } }
private boolean isDocumentPdf2() { return document.getPdfVersion().compareTo(PdfVersion.PDF_2_0) >= 0; }
private boolean isDocumentPdf2() { return document.getPdfVersion().compareTo(PdfVersion.PDF_2_0) >= 0; }
public static boolean validatePdfVersionForDictEntry(PdfDocument document, PdfVersion expectedVersion, PdfName entryKey, PdfName dictType) { if (document != null && document.getPdfVersion().compareTo(expectedVersion) < 0) { logger.warn(MessageFormat.format(LogMessageConstant.VERSION_INCOMPATIBILITY_FOR_DICTIONARY_ENTRY, entryKey, dictType, expectedVersion, document.getPdfVersion())); return true; } else { return false; } }
/** * Updates XMP metadata. * Shall be override. */ protected void updateXmpMetadata() { try { // We add PDF producer info in any case, and the valid way to do it for PDF 2.0 in only in metadata, not in the info dictionary. if (xmpMetadata != null || writer.properties.addXmpMetadata || pdfVersion.compareTo(PdfVersion.PDF_2_0) >= 0) { setXmpMetadata(updateDefaultXmpMetadata()); } } catch (XMPException e) { Logger logger = LoggerFactory.getLogger(PdfDocument.class); logger.error(LogMessageConstant.EXCEPTION_WHILE_UPDATING_XMPMETADATA, e); } }
private void registerRules(PdfVersion pdfVersion) { ITaggingRule tableRule = new TableTaggingRule(); registerSingleRule(StandardRoles.TABLE, tableRule); registerSingleRule(StandardRoles.TFOOT, tableRule); registerSingleRule(StandardRoles.THEAD, tableRule); if (pdfVersion.compareTo(PdfVersion.PDF_1_5) < 0 ) { TableTaggingPriorToOneFiveVersionRule priorToOneFiveRule = new TableTaggingPriorToOneFiveVersionRule(); registerSingleRule(StandardRoles.TABLE, priorToOneFiveRule); registerSingleRule(StandardRoles.THEAD, priorToOneFiveRule); registerSingleRule(StandardRoles.TFOOT, priorToOneFiveRule); } }
private void registerRules(PdfVersion pdfVersion) { ITaggingRule tableRule = new TableTaggingRule(); registerSingleRule(StandardRoles.TABLE, tableRule); registerSingleRule(StandardRoles.TFOOT, tableRule); registerSingleRule(StandardRoles.THEAD, tableRule); if (pdfVersion.compareTo(PdfVersion.PDF_1_5) < 0 ) { TableTaggingPriorToOneFiveVersionRule priorToOneFiveRule = new TableTaggingPriorToOneFiveVersionRule(); registerSingleRule(StandardRoles.TABLE, priorToOneFiveRule); registerSingleRule(StandardRoles.THEAD, priorToOneFiveRule); registerSingleRule(StandardRoles.TFOOT, priorToOneFiveRule); } }
private void setDigestParamToSigRefIfNeeded(PdfDictionary reference) { if (document.getPdfVersion().compareTo(PdfVersion.PDF_1_6) < 0) { // Don't really know what to say about this if-clause code. // Let's leave it, assuming that it is reasoned in some very specific way, until opposite is not proven. reference.put(PdfName.DigestValue, new PdfString("aa")); PdfArray loc = new PdfArray(); loc.add(new PdfNumber(0)); loc.add(new PdfNumber(0)); reference.put(PdfName.DigestLocation, loc); reference.put(PdfName.DigestMethod, PdfName.MD5); } else if (isDocumentPdf2()) { if (digestMethod != null) { reference.put(PdfName.DigestMethod, digestMethod); } else { Logger logger = LoggerFactory.getLogger(PdfSigner.class); logger.error(LogMessageConstant.UNKNOWN_DIGEST_METHOD); } } }
private void setDigestParamToSigRefIfNeeded(PdfDictionary reference) { if (document.getPdfVersion().compareTo(PdfVersion.PDF_1_6) < 0) { // Don't really know what to say about this if-clause code. // Let's leave it, assuming that it is reasoned in some very specific way, until opposite is not proven. reference.put(PdfName.DigestValue, new PdfString("aa")); PdfArray loc = new PdfArray(); loc.add(new PdfNumber(0)); loc.add(new PdfNumber(0)); reference.put(PdfName.DigestLocation, loc); reference.put(PdfName.DigestMethod, PdfName.MD5); } else if (isDocumentPdf2()) { if (digestMethod != null) { reference.put(PdfName.DigestMethod, digestMethod); } else { Logger logger = LoggerFactory.getLogger(PdfSigner.class); logger.error(LogMessageConstant.UNKNOWN_DIGEST_METHOD); } } }
if (version != null && version.compareTo(PdfVersion.PDF_2_0) >= 0) { for (int i = 0; i < permissions.length; i++) { permissions[i] = fixAccessibilityPermissionPdf20(permissions[i]);