This demo uses the New DevExpress PDF Document API (PdfDocument) to add, extract, or remove XMP metadata of a PDF file. You can process the predefined sample file or supply your own document. To do the latter, select Upload a File in the file selection drop-down menu.
Use the … Metadata button to select the required action, process the document, and download the result. If you choose to Add Metadata, the demo uses Sample Metadata to update the file.
Select a Document
Sample_Main.pdf
Sample metadata
Sample_Metadata.xmp
using DevExpress.Docs.Pdf;
Stream GetXmpMetadata(Stream documentStream) {
using var doc = new PdfDocument(documentStream);
var outputStream = new MemoryStream();
var writer = new StreamWriter(outputStream);
if (doc.Metadata.Xmp != null)
writer.Write(doc.Metadata.Xmp.ToXmlString());
writer.Flush();
outputStream.Position = 0;
return outputStream;
}
Stream RemoveXmpMetadata(Stream documentStream) {
using var doc = new PdfDocument(documentStream);
doc.Metadata.Xmp = null;
var outputStream = new MemoryStream();
doc.Save(outputStream);
outputStream.Position = 0;
return outputStream;
}
Stream AddXmpMetadata(Stream documentStream, Stream metadataStream) {
using var doc = new PdfDocument(documentStream);
doc.Metadata.Xmp = XmpMetadata.FromStream( metadataStream);
var outputStream = new MemoryStream();
doc.Save(outputStream);
outputStream.Position = 0;
return outputStream;
}