Class PDFMetadata

  • All Implemented Interfaces:
    PDFWritable

    public class PDFMetadata
    extends PDFStream
    Special PDFStream for Metadata.
    Since:
    PDF 1.4
    • Field Detail

      • xmpMetadata

        private org.apache.xmlgraphics.xmp.Metadata xmpMetadata
      • readOnly

        private boolean readOnly
    • Constructor Detail

      • PDFMetadata

        public PDFMetadata​(org.apache.xmlgraphics.xmp.Metadata xmp,
                           boolean readOnly)
        Parameters:
        xmp - xmp metadata
        readOnly - true if read only
        See Also:
        PDFObject()
    • Method Detail

      • getMetadata

        public org.apache.xmlgraphics.xmp.Metadata getMetadata()
        Returns:
        the XMP metadata
      • output

        public int output​(java.io.OutputStream stream)
                   throws java.io.IOException
        overload the base object method so we don't have to copy byte arrays around so much Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this object
        Overrides:
        output in class PDFStream
        Parameters:
        stream - the stream to write the PDF to
        Returns:
        the number of bytes written
        Throws:
        java.io.IOException - if there is an error writing to the stream
      • outputRawStreamData

        protected void outputRawStreamData​(java.io.OutputStream out)
                                    throws java.io.IOException
        Sends the raw stream data to the target OutputStream.
        Overrides:
        outputRawStreamData in class PDFStream
        Parameters:
        out - OutputStream to write to
        Throws:
        java.io.IOException - In case of an I/O problem
      • populateStreamDict

        protected void populateStreamDict​(java.lang.Object lengthEntry)
        Populates the dictionary with all necessary entries for the stream. Override this method if you need additional entries.
        Overrides:
        populateStreamDict in class AbstractPDFStream
        Parameters:
        lengthEntry - value for the /Length entry
      • createXMPFromPDFDocument

        public static org.apache.xmlgraphics.xmp.Metadata createXMPFromPDFDocument​(PDFDocument pdfDoc)
        Creates an XMP document based on the settings on the PDF Document.
        Parameters:
        pdfDoc - the PDF Document
        Returns:
        the requested XMP metadata
      • updateInfoFromMetadata

        public static void updateInfoFromMetadata​(org.apache.xmlgraphics.xmp.Metadata meta,
                                                  PDFInfo info)
        Updates the values in the Info object from the XMP metadata according to the rules defined in PDF/A-1 (ISO 19005-1:2005)
        Parameters:
        meta - the metadata
        info - the Info object