diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs index d1eb2a39..99159286 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs @@ -512,7 +512,8 @@ internal override void PrepareForSave() // #PDF-UA // Create PdfMetadata now to include the final document information in XMP generation. - Catalog.Elements.SetReference(PdfCatalog.Keys.Metadata, new PdfMetadata(this)); + if (Options.ManualXmpGeneration == false) + Catalog.Elements.SetReference(PdfCatalog.Keys.Metadata, new PdfMetadata(this)); } /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocumentOptions.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocumentOptions.cs index fe95413a..86bb81cc 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocumentOptions.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocumentOptions.cs @@ -97,5 +97,17 @@ public PdfWriterLayout Layout #else PdfWriterLayout _writerLayout = PdfWriterLayout.Compact; #endif + + /// + /// Gets or sets a value indicating whether XMP metadata will be generated manually. + /// true (manual): XMP metadata has to be built and attached manually via class. + /// false (auto): XMP metadata will be built and attached automatically. + /// + public bool ManualXmpGeneration + { + get => _manualXmpGeneration; + set => _manualXmpGeneration = value; + } + bool _manualXmpGeneration = false; } }