public GFPDDocument(org.verapdf.pd.PDDocument document) { super(document, PD_DOCUMENT_TYPE); PDCatalog catalog; catalog = document.getCatalog(); this.catalog = catalog; }
public PDMetadata getMetadata() { return getCatalog().getMetadata(); }
public PDOutlineDictionary getOutlines() { return getCatalog().getOutlines(); }
public PDStructTreeRoot getStructTreeRoot() { return getCatalog().getStructTreeRoot(); }
public List<PDOutputIntent> getOutputIntents() { return getCatalog().getOutputIntents(); }
public PDAcroForm getAcroForm() { return getCatalog().getAcroForm(); }
public GFPDMetadata(org.verapdf.pd.PDMetadata simplePDObject, Boolean isMainMetadata) { super(simplePDObject, METADATA_TYPE); this.isMainMetadata = isMainMetadata.booleanValue(); if (StaticContainers.getDocument()!= null && StaticContainers.getDocument().getCatalog() != null && StaticContainers.getDocument().getCatalog().getMetadata() != null) { this.mainMetadata = StaticContainers.getDocument().getCatalog().getMetadata(); } else { this.mainMetadata = null; } }
public List<PDPage> getPages() { final List<PDPage> pages = new ArrayList<>(); final int pageCount = this.getCatalog().getPageTree().getPageCount(); for (int i = 0; i < pageCount; i++) { pages.add(this.getPage(i)); } return pages; }
private void constructDocument() { document = new COSDocument(this); document.setHeader(PDF_HEADER_DEFAULT); //initialize catalog this.getCatalog(); }
public PDPage getPage(final int number) { return this.getCatalog().getPageTree().getPage(number); }
public int getNumberOfPages() { return this.getCatalog().getPageTree().getPageCount(); }
/** * @return true if the document permissions dictionary contains DocMDP * entry. */ @Override public Boolean getpermsContainDocMDP() { PDCatalog catalog = StaticContainers.getDocument().getCatalog(); COSDictionary perms = (COSDictionary) catalog.getKey(ASAtom.PERMS).getDirectBase(); if (perms != null) { return perms.knownKey(GFPDPerms.DOC_MDP); } return Boolean.valueOf(false); } }
private static PDFAFlavour obtainFlavour(PDDocument document) { PDMetadata metadata; PDFAFlavour defaultFlavour = Foundries.defaultInstance().defaultFlavour(); if (document == null || document.getCatalog() == null) { return defaultFlavour; metadata = document.getCatalog().getMetadata(); if (metadata == null) { return defaultFlavour;
public void addPage(final PDPage page, final int number) { if (document == null) { return; } final PDPageTree pages = this.getCatalog().getPageTree(); page.getObject().setKey(ASAtom.PARENT, pages.getObject()); if (pages.addPage(page, number)) { getCatalog().setKey(ASAtom.PAGES, pages.getRoot().getObject()); } //TODO : check this final COSObject obj = pages.getObject(); document.setObject(obj); }
/** * {@inheritDoc} Implemented by GreenField library. */ @Override public MetadataFixerResult saveDocumentIncremental(final MetadataFixerResultImpl.RepairStatus status, OutputStream output) { MetadataFixerResultImpl.Builder builder = new MetadataFixerResultImpl.Builder(); try { PDMetadata meta = this.document.getCatalog().getMetadata(); boolean isMetaPresent = meta != null && this.isNeedToBeUpdated(); boolean isMetaAdd = meta == null && this.metadata != null; if (isMetaPresent || isMetaAdd) { this.metadata.updateMetadataStream(); if (isMetaAdd) { this.document.getDocument().addChangedObject( this.document.getCatalog().getObject()); } this.document.saveTo(output); output.close(); builder.status(getStatus(status)); } else { builder.status(status); } } catch (Exception e) { LOGGER.log(Level.FINE, e.getMessage(), e); builder.status(FIX_ERROR).addFix("Problems with document save. " + e.getMessage()); } return builder.build(); }
public static void registerFileSpecificationKeys(COSDocument document) { PDDocument pdDocument = document.getPDDocument(); if (pdDocument == null) { return; } PDCatalog catalog = pdDocument.getCatalog(); if (catalog != null) { registerDictionaryAFKeys(catalog.getObject()); processStructElements(catalog.getStructTreeRoot()); } List<PDPage> pages = pdDocument.getPages(); for (PDPage page : pages) { processPage(page); } visitedKeys.clear(); }
private MetadataImpl parseMetadata() { PDCatalog catalog = this.document.getCatalog(); PDMetadata meta = catalog.getMetadata(); if (meta == null) { COSObject stream = COSStream.construct(); catalog.setKey(ASAtom.METADATA, stream); this.document.getDocument().addObject(stream); VeraPDFMeta xmp = VeraPDFMeta.create(); return new MetadataImpl(xmp, stream, this.document.getDocument(), true); } return parseMetadata(meta, this.document); }
PDCatalog catalog = pdDocument.getCatalog(); if (catalog != null) { ASAtom nameKey = catalog.getNameKey(ASAtom.VERSION);
private void parseDocumentFeatures(PDDocument document) { COSDocument cosDocument = document.getDocument(); COSTrailer trailer = cosDocument.getTrailer(); if (trailer != null) { reporter.report(GFFeaturesObjectCreator.createInfoDictFeaturesObject(trailer.getInfo())); } StandardSecurityHandler standardSecurityHandler = cosDocument.getStandardSecurityHandler(); if (standardSecurityHandler != null) { reporter.report(GFFeaturesObjectCreator.createDocSecurityFeaturesObject(standardSecurityHandler.getPdEncryption())); } try { PDCatalog catalog = document.getCatalog(); if (catalog != null) { getCatalogFeatures(catalog); } } catch (IOException e) { LOGGER.log(Level.SEVERE, "Problem in parsing document catalog", e); } reporter.report(GFFeaturesObjectCreator.createLowLvlInfoFeaturesObject(cosDocument)); }