diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFileSpecification.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFileSpecification.cs index 09da5b41..6421c0a0 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFileSpecification.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFileSpecification.cs @@ -1,4 +1,4 @@ -// PDFsharp - A .NET library for processing PDF +// PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. namespace PdfSharp.Pdf.Advanced @@ -28,7 +28,8 @@ void Initialize() var embeddedFileDictionary = new PdfDictionary(Owner); - Owner.Internals.AddObject(_embeddedFileStream); + if(_embeddedFileStream.Reference is null) // 2 or more PdfFileSpecification could reference the same PdfEmbeddedFileStream, so it may not be necessary to add it again to Internals + Owner.Internals.AddObject(_embeddedFileStream); embeddedFileDictionary.Elements.SetReference(Keys.F, _embeddedFileStream.Reference ?? throw TH.InvalidOperationException_ReferenceMustNotBeNull()); embeddedFileDictionary.Elements.SetReference(Keys.UF, _embeddedFileStream.Reference);