<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.creativecommons.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dev+Cog</id>
		<title>Creative Commons - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.creativecommons.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dev+Cog"/>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/wiki/Special:Contributions/Dev_Cog"/>
		<updated>2026-04-30T11:41:29Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=XMP_Implementations&amp;diff=27756</id>
		<title>XMP Implementations</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=XMP_Implementations&amp;diff=27756"/>
				<updated>2009-10-23T17:02:27Z</updated>
		
		<summary type="html">&lt;p&gt;Dev Cog: /* PDF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:XMP]]&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
&lt;br /&gt;
* LaTeX users may use the [http://www.creativecommons.org/weblog/entry/4270 pdflatex macro].&lt;br /&gt;
* [[PdfLicenseManager]] is a Java-based GUI and command line program for embedding XMP with license information into PDFs.&lt;br /&gt;
** PdfLicenseManager uses the [http://www.lowagie.com/iText/ iText] java library, which may be easily incorporated into any Java tool that needs to do XMP embedding.&lt;br /&gt;
* [http://www.cogniview.com/cc-pdf-converter.php CC PDF Converter] is a free open source (GPL) program for creating PDFs with CC license.&lt;br /&gt;
&lt;br /&gt;
== JPEG ==&lt;br /&gt;
&lt;br /&gt;
* We have a PHP tool/library for embedding XMP in JPEGs, useful in, e.g., web gallery programs.  See the xmp/php-jpeg module in the [[Source Repository Information|cctools sourceforge subversion repository]].&lt;br /&gt;
* [http://www.w3.org/People/Bos/JPEG-XMP/ JPEG-XMP] are java-based programs for operating on jpegs to extract and embed XMP metadata.&lt;br /&gt;
* [http://www.ozhiker.com/electronics/pjmt/ The PHP JPEG Metadata Toolkit] is a php-based program for embedding and extracting XMP metadata for JPEGs.&lt;br /&gt;
&lt;br /&gt;
== Multiple formats ==&lt;br /&gt;
* [[License tagger]] is a cross-plateform small application to add license metadata in your files using [[liblicense]]. &lt;br /&gt;
* [http://www.adobe.com/devnet/xmp/ XMP Toolkit 4.1]&lt;br /&gt;
* [http://www.figuiere.net/hub/blog/?Exempi Exempi] bundles the above two tools into one package, with modifications to make it build on Linux.  It therefore allows reading/writing XMP metadata for various file formats, including PDF, MP3, JPEG, and PNG.&lt;br /&gt;
* [http://owl.phy.queensu.ca/~phil/exiftool/ Exiftool] is a perl-based module for embedding and extracting Exif from multiple filetypes. This allows for using XMP in addition to other formats.&lt;br /&gt;
* [http://grigio.org/xmp_manager XMP Manager] A Ruby action for Nautilus which exposes and allows editing of XMP metadata.&lt;br /&gt;
* [http://librdf.org/raptor/ Raptor] - Supposedly this can generate XMP somewhat, and can also parse it, if you grab the rdf/xml out of the &amp;lt;?xmp...&amp;gt; blocks for it. It's GPL / LGPL / Apache2 licensed so compatible with your code.&lt;br /&gt;
* ''Please add yours here'' :)&lt;/div&gt;</summary>
		<author><name>Dev Cog</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=PDF&amp;diff=27755</id>
		<title>PDF</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=PDF&amp;diff=27755"/>
				<updated>2009-10-23T16:58:26Z</updated>
		
		<summary type="html">&lt;p&gt;Dev Cog: /* Implementations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PDF (Portable Document Format) is a format for encapsulating all types of documents for transmission and usage electronically.&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
&lt;br /&gt;
You can [http://creativecommons.org/technology/xmp embed a Creative Commons license in a PDF document] using [[XMP]] through, for example, Adobe Photoshop CS.&lt;br /&gt;
&lt;br /&gt;
The most recent PDF standard (as of May 7, 2006), [http://partners.adobe.com/public/developer/en/pdf/PDFReference16.pdf version 1.6], provides two mechanisms for the storing of metadata, such as license information, in the file. In section 10.2 of the standard, the two methods described are the document information dictionary and the metadata stream.&lt;br /&gt;
&lt;br /&gt;
=== Document information dictionary ===&lt;br /&gt;
&lt;br /&gt;
An example of the first, the document information dictionary, is given in section 10.2.1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 0 obj &lt;br /&gt;
&amp;lt;&amp;lt; /Title (PostScript Language Reference, Third Edition) &lt;br /&gt;
/Author (Adobe Systems Incorporated) &lt;br /&gt;
/Creator (Adobe® FrameMaker® 5.5.3 for Power Macintosh®) &lt;br /&gt;
/Producer (Acrobat® DistillerTM 3.01 for Power Macintosh) &lt;br /&gt;
/CreationDate (D:19970915110347-08'00') &lt;br /&gt;
/ModDate (D:19990209153925-08'00') &lt;br /&gt;
&amp;gt;&amp;gt; &lt;br /&gt;
endobj&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Table 10.2 in section 10.2.1 lists 9 standard keys in the dictionary. &amp;quot;License&amp;quot; is not among them, but the specification makes reference to the creation of new keys in two sentences in section 10.2.1: &amp;quot;New keys should be chosen with care so that they make sense to users. The value associated with any key not specifically mentioned in Table 10.2 must be a text string.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This suggests that writing a tool that added a license key to the dictionary might be a reasonable way to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Metadata stream ===&lt;br /&gt;
&lt;br /&gt;
This is the second method by which metadata can be embedded in a PDF. XMP is an example of the metadata stream, in which a chunk of XML is embedded in the PDF file for parsing by agents that don't necessarily understand how to read a PDF, but can read XML.&lt;br /&gt;
&lt;br /&gt;
=== Implementations ===&lt;br /&gt;
&lt;br /&gt;
* [http://media.polito.it/masala/plm2_index.html Cross-platform Java App by Enrico]&lt;br /&gt;
* [[CCInfo for Acrobat]]&lt;br /&gt;
* [http://www.cogniview.com/cc-pdf-converter.php PDF creator with embedded CC license for Windows (GPL)]&lt;br /&gt;
* See [[XMP]] for others.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here's an example of using [http://www.figuiere.net/hub/blog/?Exempi Exempi] to embed license info.  This code works for all file formats that Exempi supports, including PDFs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;exempi/xmp.h&amp;gt;&lt;br /&gt;
#include &amp;lt;exempi/xmpconsts.h&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
xmp_init();&lt;br /&gt;
&lt;br /&gt;
XmpFilePtr f;&lt;br /&gt;
&lt;br /&gt;
f = xmp_files_open_new(filename, XMP_OPEN_FORUPDATE);&lt;br /&gt;
XmpPtr xmp = xmp_files_get_new_xmp(f);&lt;br /&gt;
&lt;br /&gt;
if ( xmp == NULL ) {&lt;br /&gt;
	xmp = xmp_new_empty();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ( xmp_files_can_put_xmp(f, xmp) ) {&lt;br /&gt;
	xmp_register_namespace(NS_CC, &amp;quot;cc&amp;quot;, NULL);&lt;br /&gt;
	xmp_set_property(xmp, NS_CC, &amp;quot;license&amp;quot;, &amp;quot;http://creativecommons.org/licenses/by-sa/2.5/&amp;quot;);&lt;br /&gt;
	xmp_files_put_xmp(f, xmp);&lt;br /&gt;
} else {&lt;br /&gt;
	printf(&amp;quot;Unable to write XMP to this file.\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
xmp_files_close(f, XMP_CLOSE_SAFEUPDATE);&lt;br /&gt;
xmp_free(xmp);&lt;br /&gt;
&lt;br /&gt;
xmp_terminate();&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
[[Category:Filetype]]&lt;/div&gt;</summary>
		<author><name>Dev Cog</name></author>	</entry>

	</feed>