com.lowagie.text.xml.xmp

## Class XmpWriter

- java.lang.Object
- - com.lowagie.text.xml.xmp.XmpWriter

-     public class XmpWriter
      extends java.lang.Object

  With this class you can create an Xmp Stream that can be used for adding Metadata to a PDF Dictionary. Remark that this class doesn't cover the complete XMP specification.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `about` The about string that goes into the rdf:Description tags.
    `protected char` | `end` The end attribute.
    `protected int` | `extraSpace` You can add some extra space in the XMP packet; 1 unit in this variable represents 100 spaces and a newline.
    `static java.lang.String` | `EXTRASPACE` String used to fill the extra space.
    `static java.lang.String` | `UTF16` A possible charset for the XMP.
    `static java.lang.String` | `UTF16BE` A possible charset for the XMP.
    `static java.lang.String` | `UTF16LE` A possible charset for the XMP.
    `static java.lang.String` | `UTF8` A possible charset for the XMP.
    `protected java.io.OutputStreamWriter` | `writer` The writer to which you can write bytes for the XMP stream.
    `static java.lang.String` | `XPACKET_PI_BEGIN` Processing Instruction required at the start of an XMP stream
    `static java.lang.String` | `XPACKET_PI_END_R` Processing Instruction required at the end of an XMP stream for XMP streams that are read only
    `static java.lang.String` | `XPACKET_PI_END_W` Processing Instruction required at the end of an XMP stream for XMP streams that can be updated

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XmpWriter(java.io.OutputStream os)` Creates an XmpWriter.
    `XmpWriter(java.io.OutputStream os, java.util.Map info)`
    `XmpWriter(java.io.OutputStream os, PdfDictionary info, int PdfXConformance)`
    `XmpWriter(java.io.OutputStream os, java.lang.String utfEncoding, int extraSpace)` Creates an XmpWriter.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRdfDescription(java.lang.String xmlns, java.lang.String content)` Adds an rdf:Description.
    `void` | `addRdfDescription(XmpSchema s)` Adds an rdf:Description.
    `void` | `close()` Flushes and closes the XmpWriter.
    `void` | `setAbout(java.lang.String about)`
    `void` | `setReadOnly()` Sets the XMP to read-only

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### UTF8

          public static final java.lang.String UTF8

      A possible charset for the XMP.
      See Also:
        Constant Field Values

    - #### UTF16

          public static final java.lang.String UTF16

      A possible charset for the XMP.
      See Also:
        Constant Field Values

    - #### UTF16BE

          public static final java.lang.String UTF16BE

      A possible charset for the XMP.
      See Also:
        Constant Field Values

    - #### UTF16LE

          public static final java.lang.String UTF16LE

      A possible charset for the XMP.
      See Also:
        Constant Field Values

    - #### EXTRASPACE

          public static final java.lang.String EXTRASPACE

      String used to fill the extra space.
      See Also:
        Constant Field Values

    - #### extraSpace

          protected int extraSpace

      You can add some extra space in the XMP packet; 1 unit in this variable represents 100 spaces and a newline.

    - #### writer

          protected java.io.OutputStreamWriter writer

      The writer to which you can write bytes for the XMP stream.

    - #### about

          protected java.lang.String about

      The about string that goes into the rdf:Description tags.

    - #### XPACKET_PI_BEGIN

          public static final java.lang.String XPACKET_PI_BEGIN

      Processing Instruction required at the start of an XMP stream
      Since:
        iText 2.1.6
      See Also:
        Constant Field Values

    - #### XPACKET_PI_END_W

          public static final java.lang.String XPACKET_PI_END_W

      Processing Instruction required at the end of an XMP stream for XMP streams that can be updated
      Since:
        iText 2.1.6
      See Also:
        Constant Field Values

    - #### XPACKET_PI_END_R

          public static final java.lang.String XPACKET_PI_END_R

      Processing Instruction required at the end of an XMP stream for XMP streams that are read only
      Since:
        iText 2.1.6
      See Also:
        Constant Field Values

    - #### end

          protected char end

      The end attribute.

  - ### Constructor Detail

    - #### XmpWriter

          public XmpWriter(java.io.OutputStream os,
                   java.lang.String utfEncoding,
                   int extraSpace)
                    throws java.io.IOException

      Creates an XmpWriter.
      Parameters:
        `os` -
        `utfEncoding` -
        `extraSpace` -
      Throws:
        `java.io.IOException`

    - #### XmpWriter

          public XmpWriter(java.io.OutputStream os)
                    throws java.io.IOException

      Creates an XmpWriter.
      Parameters:
        `os` -
      Throws:
        `java.io.IOException`

    - #### XmpWriter

          public XmpWriter(java.io.OutputStream os,
                   PdfDictionary info,
                   int PdfXConformance)
                    throws java.io.IOException

      Parameters:
        `os` -
        `info` -
      Throws:
        `java.io.IOException`

    - #### XmpWriter

          public XmpWriter(java.io.OutputStream os,
                   java.util.Map info)
                    throws java.io.IOException

      Parameters:
        `os` -
        `info` -
      Throws:
        `java.io.IOException`

  - ### Method Detail

    - #### setReadOnly

          public void setReadOnly()

      Sets the XMP to read-only

    - #### setAbout

          public void setAbout(java.lang.String about)

      Parameters:
        `about` - The about to set.

    - #### addRdfDescription

          public void addRdfDescription(java.lang.String xmlns,
                               java.lang.String content)
                                 throws java.io.IOException

      Adds an rdf:Description.
      Parameters:
        `xmlns` -
        `content` -
      Throws:
        `java.io.IOException`

    - #### addRdfDescription

          public void addRdfDescription(XmpSchema s)
                                 throws java.io.IOException

      Adds an rdf:Description.
      Parameters:
        `s` -
      Throws:
        `java.io.IOException`

    - #### close

          public void close()
                     throws java.io.IOException

      Flushes and closes the XmpWriter.
      Throws:
        `java.io.IOException`