/** * Check if metadata dictionary has no stream filter * * @param doc the document to check. * @return the list of validation errors. */ protected List<ValidationError> checkStreamFilterUsage(PDDocument doc) { List<ValidationError> ve = new ArrayList<>(); List<?> filters = doc.getDocumentCatalog().getMetadata().getFilters(); if (filters != null && !filters.isEmpty()) { ve.add(new ValidationError(PreflightConstants.ERROR_METADATA_MAIN, "Using stream filter on metadata dictionary is forbidden")); } return ve; } }
/** * This will print the documents data to System.out. * * @param document The document to get the metadata from. * * @throws IOException If there is an error getting the page count. */ public void printMetadata( PDDocument document ) throws IOException { PDDocumentInformation info = document.getDocumentInformation(); PDDocumentCatalog cat = document.getDocumentCatalog(); PDMetadata metadata = cat.getMetadata(); System.out.println( "Page Count=" + document.getNumberOfPages() ); System.out.println( "Title=" + info.getTitle() ); System.out.println( "Author=" + info.getAuthor() ); System.out.println( "Subject=" + info.getSubject() ); System.out.println( "Keywords=" + info.getKeywords() ); System.out.println( "Creator=" + info.getCreator() ); System.out.println( "Producer=" + info.getProducer() ); System.out.println( "Creation Date=" + formatDate( info.getCreationDate() ) ); System.out.println( "Modification Date=" + formatDate( info.getModificationDate() ) ); System.out.println( "Trapped=" + info.getTrapped() ); if( metadata != null ) { String string = new String( metadata.toByteArray(), "ISO-8859-1" ); System.out.println( "Metadata=" + string ); } }
private List<PDMetadata> getMetadata() { if (this.catalog != null) { org.apache.pdfbox.pdmodel.common.PDMetadata meta = this.catalog.getMetadata(); if (meta != null && meta.getCOSObject() != null) { List<PDMetadata> metadata = new ArrayList<>(MAX_NUMBER_OF_ELEMENTS); metadata.add(new PBoxPDMetadata(meta, Boolean.TRUE, this.document, this.flavour)); return Collections.unmodifiableList(metadata); } } return Collections.emptyList(); }
public PBoxPDMetadata(org.apache.pdfbox.pdmodel.common.PDMetadata simplePDObject, Boolean isMainMetadata, PDDocument document, PDFAFlavour flavour) { super(simplePDObject, METADATA_TYPE); this.isMainMetadata = isMainMetadata.booleanValue(); if (document != null && document.getDocumentCatalog() != null && document.getDocumentCatalog().getMetadata() != null) { this.mainMetadata = document.getDocumentCatalog().getMetadata(); } else { this.mainMetadata = null; } this.flavour = flavour; }
PDMetadata meta = catalog.getMetadata(); if (meta != null)
Document dom = loadDOM(document.getDocumentCatalog().getMetadata(), metadata, context);
/** * Check if metadata dictionary has no stream filter * * @param doc the document to check. * @return the list of validation errors. */ protected List<ValidationError> checkStreamFilterUsage(PDDocument doc) { List<ValidationError> ve = new ArrayList<ValidationError>(); List<?> filters = doc.getDocumentCatalog().getMetadata().getFilters(); if (filters != null && !filters.isEmpty()) { ve.add(new ValidationError(PreflightConstants.ERROR_METADATA_MAIN, "Using stream filter on metadata dictionary is forbidden")); } return ve; } }
/** * Check if metadata dictionary has no stream filter * * @param doc the document to check. * @return the list of validation errors. */ protected List<ValidationError> checkStreamFilterUsage(PDDocument doc) { List<ValidationError> ve = new ArrayList<>(); List<?> filters = doc.getDocumentCatalog().getMetadata().getFilters(); if (filters != null && !filters.isEmpty()) { ve.add(new ValidationError(PreflightConstants.ERROR_METADATA_MAIN, "Using stream filter on metadata dictionary is forbidden")); } return ve; } }
/** * This will print the documents data to System.out. * * @param document The document to get the metadata from. * * @throws IOException If there is an error getting the page count. */ public void printMetadata( PDDocument document ) throws IOException { PDDocumentInformation info = document.getDocumentInformation(); PDDocumentCatalog cat = document.getDocumentCatalog(); PDMetadata metadata = cat.getMetadata(); System.out.println( "Page Count=" + document.getNumberOfPages() ); System.out.println( "Title=" + info.getTitle() ); System.out.println( "Author=" + info.getAuthor() ); System.out.println( "Subject=" + info.getSubject() ); System.out.println( "Keywords=" + info.getKeywords() ); System.out.println( "Creator=" + info.getCreator() ); System.out.println( "Producer=" + info.getProducer() ); System.out.println( "Creation Date=" + formatDate( info.getCreationDate() ) ); System.out.println( "Modification Date=" + formatDate( info.getModificationDate() ) ); System.out.println( "Trapped=" + info.getTrapped() ); if( metadata != null ) { String string = new String( metadata.toByteArray(), "ISO-8859-1" ); System.out.println( "Metadata=" + string ); } }
private MetadataImpl parseMetadata() { PDDocumentCatalog catalog = this.document.getDocumentCatalog(); PDMetadata meta = catalog.getMetadata(); if (meta == null) { try (COSStream stream = this.document.getDocument().createCOSStream()) { catalog.setMetadata(new PDMetadata(stream)); catalog.getCOSObject().setNeedToBeUpdated(true); VeraPDFMeta xmp = VeraPDFMeta.create(); return new MetadataImpl(xmp, stream); } catch (IOException excep) { // TODO Auto-generated catch block excep.printStackTrace(); } } return parseMetadata(meta); }
private static PDFAFlavour obtainFlavour(PDDocument document) { PDFAFlavour defaultFlavour = Foundries.defaultInstance().defaultFlavour(); if (document == null || document.getDocumentCatalog() == null) { return defaultFlavour; } PDMetadata metadata = document.getDocumentCatalog().getMetadata(); if (metadata == null) { return defaultFlavour; } try (InputStream is = metadata.exportXMPMetadata()) { VeraPDFMeta veraPDFMeta = VeraPDFMeta.parse(is); Integer identificationPart = veraPDFMeta.getIdentificationPart(); String identificationConformance = veraPDFMeta.getIdentificationConformance(); PDFAFlavour pdfaFlavour = PDFAFlavour.byFlavourId(identificationPart + identificationConformance); return pdfaFlavour; } catch (IOException | XMPException e) { logger.error(e); return defaultFlavour; } }
/** * {@inheritDoc} Implemented by Apache PDFBox library. */ @Override public MetadataFixerResult saveDocumentIncremental(final MetadataFixerResultImpl.RepairStatus status, OutputStream output) { MetadataFixerResultImpl.Builder builder = new MetadataFixerResultImpl.Builder(); try { PDMetadata meta = this.document.getDocumentCatalog().getMetadata(); boolean isMetaPresent = meta != null && this.isNeedToBeUpdated(); boolean isMetaAdd = meta == null && this.metadata != null; if (isMetaPresent || isMetaAdd) { this.metadata.updateMetadataStream(); if (isMetaAdd) { this.document.getDocumentCatalog().getCOSObject().setNeedToBeUpdated(true); } this.document.saveIncremental(output); output.close(); builder.status(getStatus(status)); } else { builder.status(status); } } catch (Exception e) { LOGGER.info(e); builder.status(FIX_ERROR).addFix("Problems with document save. " + e.getMessage()); } return builder.build(); }
PDMetadata metadata = catalog.getMetadata(); if (metadata == null) { return false;
PDMetadata metadata = docCatalog.getMetadata(); if (metadata != null) { xmp = "";
private void getCatalogFeatures(PDDocumentCatalog catalog) { reporter.report(PBFeaturesObjectCreator.createMetadataFeaturesObject(catalog.getMetadata())); reporter.report(PBFeaturesObjectCreator.createOutlinesFeaturesObject(catalog.getDocumentOutline())); PDAcroForm acroForm = catalog.getAcroForm(); if (acroForm != null) { getAcroFormFeatures(acroForm); } if (catalog.getNames() != null && catalog.getNames().getEmbeddedFiles() != null) { reportEmbeddedFiles(catalog); } if (catalog.getOutputIntents() != null) { for (PDOutputIntent outInt : catalog.getOutputIntents()) { String iccProfileID = addICCProfileFromOutputIntent(outInt); if (!config.isFeatureEnabled(FeatureObjectType.ICCPROFILE)) { iccProfileID = null; } reporter.report(PBFeaturesObjectCreator.createOutputIntentFeaturesObject(outInt, iccProfileID)); } } PDPageTree pageTree = catalog.getPages(); if (pageTree != null) { getPageTreeFeatures(pageTree); } }
PDMetadata meta = catalog.getMetadata(); if (meta != null)
Document dom = loadDOM(document.getDocumentCatalog().getMetadata(), metadata, context);
Document dom = loadDOM(document.getDocumentCatalog().getMetadata(), metadata, context);
if( document.getDocumentCatalog().getMetadata() != null ) { XMPMetadata xmp = XMPMetadata.load(document.getDocumentCatalog() .getMetadata().exportXMPMetadata());
if( document.getDocumentCatalog().getMetadata() != null ) { XMPMetadata xmp = XMPMetadata.load(document.getDocumentCatalog() .getMetadata().exportXMPMetadata());