<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FPDF%2FMetadata</id>
		<title>Java Tutorial/PDF/Metadata - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FPDF%2FMetadata"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/PDF/Metadata&amp;action=history"/>
		<updated>2026-04-11T08:05:48Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/PDF/Metadata&amp;diff=5488&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/PDF/Metadata&amp;diff=5488&amp;oldid=prev"/>
				<updated>2010-06-01T05:21:10Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:21, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/PDF/Metadata&amp;diff=5487&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/PDF/Metadata&amp;diff=5487&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Add XMP metadata automatically, based on the PDF metadata ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import com.lowagie.text.Document;&lt;br /&gt;
import com.lowagie.text.Paragraph;&lt;br /&gt;
import com.lowagie.text.pdf.PdfWriter;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Document document = new Document();&lt;br /&gt;
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(&amp;quot;2.pdf&amp;quot;));&lt;br /&gt;
    document.addTitle(&amp;quot;title&amp;quot;);&lt;br /&gt;
    document.addSubject(&amp;quot;subject&amp;quot;);&lt;br /&gt;
    document.addKeywords(&amp;quot;keywords&amp;quot;);&lt;br /&gt;
    document.addCreator(&amp;quot;creator&amp;quot;);&lt;br /&gt;
    document.addAuthor(&amp;quot;author&amp;quot;);&lt;br /&gt;
    writer.createXmpMetadata();&lt;br /&gt;
    document.open();&lt;br /&gt;
    document.add(new Paragraph(&amp;quot;Hello World&amp;quot;));&lt;br /&gt;
    document.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get meta data from pdf document ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import com.lowagie.text.pdf.PdfReader;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    PdfReader reader = new PdfReader(&amp;quot;2.pdf&amp;quot;);&lt;br /&gt;
    Map info = reader.getInfo();&lt;br /&gt;
    for (Iterator i = info.keySet().iterator(); i.hasNext();) {&lt;br /&gt;
      String key = (String) i.next();&lt;br /&gt;
      String value = (String) info.get(key);&lt;br /&gt;
      System.out.println(key + &amp;quot;: &amp;quot; + value);&lt;br /&gt;
    }&lt;br /&gt;
    if (reader.getMetadata() == null) {&lt;br /&gt;
      System.out.println(&amp;quot;No XML Metadata.&amp;quot;);&lt;br /&gt;
    } else {&lt;br /&gt;
      System.out.println(&amp;quot;XML Metadata: &amp;quot; + new String(reader.getMetadata()));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get Pdf metadata ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import com.lowagie.text.pdf.PdfReader;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    PdfReader reader = new PdfReader(&amp;quot;HelloWorldToRead.pdf&amp;quot;);&lt;br /&gt;
    if (reader.getMetadata() == null) {&lt;br /&gt;
      System.out.println(&amp;quot;No XML Metadata.&amp;quot;);&lt;br /&gt;
    } else {&lt;br /&gt;
      System.out.println(&amp;quot;XML Metadata: &amp;quot; + new String(reader.getMetadata()));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Read PDF to add some metadata ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.ByteArrayOutputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.util.HashMap;&lt;br /&gt;
import com.lowagie.text.Document;&lt;br /&gt;
import com.lowagie.text.Paragraph;&lt;br /&gt;
import com.lowagie.text.pdf.PdfReader;&lt;br /&gt;
import com.lowagie.text.pdf.PdfStamper;&lt;br /&gt;
import com.lowagie.text.pdf.PdfWriter;&lt;br /&gt;
import com.lowagie.text.xml.xmp.XmpWriter;&lt;br /&gt;
public class HelloWorldAddMetadata {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Document document = new Document();&lt;br /&gt;
    PdfWriter.getInstance(document, new FileOutputStream(&amp;quot;HelloWorld.pdf&amp;quot;));&lt;br /&gt;
    document.open();&lt;br /&gt;
    document.add(new Paragraph(&amp;quot;Hello World&amp;quot;));&lt;br /&gt;
    document.close();&lt;br /&gt;
    PdfReader reader = new PdfReader(&amp;quot;HelloWorld.pdf&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Tampered? &amp;quot; + reader.isTampered());&lt;br /&gt;
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(&lt;br /&gt;
        &amp;quot;HelloWorldStampedMetadata.pdf&amp;quot;));&lt;br /&gt;
    System.out.println(&amp;quot;Tampered? &amp;quot; + reader.isTampered());&lt;br /&gt;
    HashMap&amp;lt;String, String&amp;gt; info = reader.getInfo();&lt;br /&gt;
    info.put(&amp;quot;Subject&amp;quot;, &amp;quot;Hello World&amp;quot;);&lt;br /&gt;
    info.put(&amp;quot;Author&amp;quot;, &amp;quot;your name&amp;quot;);&lt;br /&gt;
    info.put(&amp;quot;Keywords&amp;quot;, &amp;quot;iText pdf&amp;quot;);&lt;br /&gt;
    info.put(&amp;quot;Title&amp;quot;, &amp;quot;Hello World stamped&amp;quot;);&lt;br /&gt;
    info.put(&amp;quot;Creator&amp;quot;, &amp;quot;your name&amp;quot;);&lt;br /&gt;
    stamper.setMoreInfo(info);&lt;br /&gt;
    ByteArrayOutputStream baos = new ByteArrayOutputStream();&lt;br /&gt;
    XmpWriter xmp = new XmpWriter(baos, info);&lt;br /&gt;
    xmp.close();&lt;br /&gt;
    stamper.setXmpMetadata(baos.toByteArray());&lt;br /&gt;
    stamper.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Set meta data to pdf document ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.ByteArrayOutputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.util.HashMap;&lt;br /&gt;
import com.lowagie.text.Document;&lt;br /&gt;
import com.lowagie.text.Paragraph;&lt;br /&gt;
import com.lowagie.text.pdf.PdfReader;&lt;br /&gt;
import com.lowagie.text.pdf.PdfStamper;&lt;br /&gt;
import com.lowagie.text.pdf.PdfWriter;&lt;br /&gt;
import com.lowagie.text.xml.xmp.XmpWriter;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Document document = new Document();&lt;br /&gt;
    PdfWriter.getInstance(document, new FileOutputStream(&amp;quot;2.pdf&amp;quot;));&lt;br /&gt;
    document.open();&lt;br /&gt;
    document.add(new Paragraph(&amp;quot;Hello World&amp;quot;));&lt;br /&gt;
    document.close();&lt;br /&gt;
    PdfReader reader = new PdfReader(&amp;quot;2.pdf&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Tampered? &amp;quot; + reader.isTampered());&lt;br /&gt;
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(&amp;quot;2.pdf&amp;quot;));&lt;br /&gt;
    HashMap info = reader.getInfo();&lt;br /&gt;
    info.put(&amp;quot;Subject&amp;quot;, &amp;quot;subject&amp;quot;);&lt;br /&gt;
    info.put(&amp;quot;Author&amp;quot;, &amp;quot;author&amp;quot;);&lt;br /&gt;
    info.put(&amp;quot;Keywords&amp;quot;, &amp;quot;keywords&amp;quot;);&lt;br /&gt;
    info.put(&amp;quot;Title&amp;quot;, &amp;quot;title&amp;quot;);&lt;br /&gt;
    info.put(&amp;quot;Creator&amp;quot;, &amp;quot;creator&amp;quot;);&lt;br /&gt;
    stamper.setMoreInfo(info);&lt;br /&gt;
    ByteArrayOutputStream baos = new ByteArrayOutputStream();&lt;br /&gt;
    XmpWriter xmp = new XmpWriter(baos, info);&lt;br /&gt;
    xmp.close();&lt;br /&gt;
    stamper.setXmpMetadata(baos.toByteArray());&lt;br /&gt;
    stamper.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  use PdfSchema to update Meta data ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.ByteArrayOutputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import com.lowagie.text.Document;&lt;br /&gt;
import com.lowagie.text.Paragraph;&lt;br /&gt;
import com.lowagie.text.pdf.PdfWriter;&lt;br /&gt;
import com.lowagie.text.xml.xmp.DublinCoreSchema;&lt;br /&gt;
import com.lowagie.text.xml.xmp.PdfSchema;&lt;br /&gt;
import com.lowagie.text.xml.xmp.XmpArray;&lt;br /&gt;
import com.lowagie.text.xml.xmp.XmpSchema;&lt;br /&gt;
import com.lowagie.text.xml.xmp.XmpWriter;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Document document = new Document();&lt;br /&gt;
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(&amp;quot;2.pdf&amp;quot;));&lt;br /&gt;
    ByteArrayOutputStream os = new ByteArrayOutputStream();&lt;br /&gt;
    XmpWriter xmp = new XmpWriter(os);&lt;br /&gt;
    XmpSchema dc = new DublinCoreSchema();&lt;br /&gt;
    XmpArray subject = new XmpArray(XmpArray.UNORDERED);&lt;br /&gt;
    subject.add(&amp;quot;Metadata&amp;quot;);&lt;br /&gt;
    dc.setProperty(DublinCoreSchema.SUBJECT, subject);&lt;br /&gt;
    xmp.addRdfDescription(dc);&lt;br /&gt;
    PdfSchema pdf = new PdfSchema();&lt;br /&gt;
    pdf.setProperty(PdfSchema.KEYWORDS, &amp;quot;Hello World, XMP, Metadata&amp;quot;);&lt;br /&gt;
    pdf.setProperty(PdfSchema.VERSION, &amp;quot;1.4&amp;quot;);&lt;br /&gt;
    xmp.addRdfDescription(pdf);&lt;br /&gt;
    xmp.close();&lt;br /&gt;
    writer.setXmpMetadata(os.toByteArray());&lt;br /&gt;
    document.open();&lt;br /&gt;
    document.add(new Paragraph(&amp;quot;Hello World&amp;quot;));&lt;br /&gt;
    document.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>