Skip to content

Latest commit

 

History

History
66 lines (58 loc) · 1.98 KB

README.md

File metadata and controls

66 lines (58 loc) · 1.98 KB

xmp-reader NPM version Build Status

Extracts some commonly used XMP/RDF metadata tags from JPEG files. Does not pretend to be a complete metadata management tool, but allows you to extract some information other EXIF-management tools on NPM fail to retrieve. Was originally created only to extract a Description field baked into my JPEGs by Google's Picasa.

Usage

To install the module add it to your project's package.json dependencies or install manually running:

npm install xmp-reader

Then pull it in your code:

const xmpReader = require('xmp-reader');

Now you can either feed it a file name:

xmpReader.fromFile('/path/to/file.jpg', (err, data) => {
  if (err) console.log(err);
  else console.log(data);
});

Or a buffer:

xmpReader.fromBuffer(buffer, (err, data) => {
  if (err) console.log(err);
  else console.log(data);
});

Both methods above return a promise, you can use that instead of the callback:

xmpReader.fromBuffer(buffer).then(
  (data) => console.log(data),
  (err) => console.log(err)
);

Output will look something like that, depending on your metadata:

{
	"raw": {
		"MicrosoftPhoto:Rating": "50",
		"dc:title": "Title",
		"dc:description": "Title",
		"dc:creator": "Alexander Kuznetsov",
		"Iptc4xmpCore:Location": "New York",
		"MicrosoftPhoto:LastKeywordXMP": ["tag1", "tag2"],
		"MicrosoftPhoto:LastKeywordIPTC": ["tag1", "tag2"],
		"xmp:Rating": "3"
	},
	"rating": 3,
	"title": "Title",
	"description": "Title",
	"creator": "Alexander Kuznetsov",
	"location": "New York",
	"keywords": ["tag1", "tag2"]
}

raw property contains vendor-specific tag names.

License

MIT License