From 1972355e5aeb942f3c8734c08b4014a88715cbf9 Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Fri, 18 Oct 2024 14:23:28 +0200 Subject: [PATCH 01/10] Add support for overprinting by way of extended graphics states --- Directory.Build.targets | 2 +- .../ExtendedGraphicsState.cs | 23 +++++++++++++++++++ .../{GraphicState.cs => GraphicsState.cs} | 8 +++---- .../IContentContext.cs | 11 +++++++-- .../ITextContentContext.cs | 2 +- .../Internals/PageContentContext.cs | 11 +++++++-- .../Internals/ShapesContentContext.cs | 11 +++++++-- .../Internals/TextContentContext.cs | 11 +++++++-- .../LowLevel/ContentStream.cs | 14 +++++++++++ .../LowLevel/Graphics/LineJoinStyle.cs | 2 +- .../LowLevel/Internal/PageResources.cs | 19 +++++++++++++++ .../LowLevel/ObjectStream.cs | 21 +++++++++++++++++ .../LowLevel/PdfDictionary.cs | 16 +++++++++++++ .../LowLevel/PdfStream.cs | 12 ++++++++++ src/Synercoding.FileFormats.Pdf/PdfPage.cs | 2 +- 15 files changed, 149 insertions(+), 16 deletions(-) create mode 100644 src/Synercoding.FileFormats.Pdf/ExtendedGraphicsState.cs rename src/Synercoding.FileFormats.Pdf/{GraphicState.cs => GraphicsState.cs} (97%) diff --git a/Directory.Build.targets b/Directory.Build.targets index 35d8d32..9a3792f 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -7,7 +7,7 @@ - + diff --git a/src/Synercoding.FileFormats.Pdf/ExtendedGraphicsState.cs b/src/Synercoding.FileFormats.Pdf/ExtendedGraphicsState.cs new file mode 100644 index 0000000..5bd2db0 --- /dev/null +++ b/src/Synercoding.FileFormats.Pdf/ExtendedGraphicsState.cs @@ -0,0 +1,23 @@ +namespace Synercoding.FileFormats.Pdf; + +/// +/// Class representing an ExtGState dictionary. +/// +public sealed record class ExtendedGraphicsState +{ + /// + /// A flag specifying whether to apply overprint. + /// There are two separate overprint parameters: one for stroking and one for all other painting operations. + /// Specifying an entry sets both parameters + /// unless there is also an entry in the same graphics state parameter dictionary, + /// in which case the entry sets only the overprint parameter for stroking. + /// + public bool? Overprint { get; set; } + + /// + /// A flag specifying whether to apply overprint for painting operations other than stroking. + /// If this entry is absent, the entry, if any, sets this parameter. + /// + public bool? OverprintNonStroking { get; set; } +} + diff --git a/src/Synercoding.FileFormats.Pdf/GraphicState.cs b/src/Synercoding.FileFormats.Pdf/GraphicsState.cs similarity index 97% rename from src/Synercoding.FileFormats.Pdf/GraphicState.cs rename to src/Synercoding.FileFormats.Pdf/GraphicsState.cs index f489acf..bd74b11 100644 --- a/src/Synercoding.FileFormats.Pdf/GraphicState.cs +++ b/src/Synercoding.FileFormats.Pdf/GraphicsState.cs @@ -7,9 +7,9 @@ namespace Synercoding.FileFormats.Pdf; /// /// Class representing the grahpic state of a PDF at a certain moment in time. /// -public sealed class GraphicState +public sealed class GraphicsState { - internal GraphicState() + internal GraphicsState() { CTM = Matrix.Identity; Fill = PredefinedColors.Black; @@ -111,9 +111,9 @@ internal GraphicState() /// public double TextRise { get; internal set; } - internal GraphicState Clone() + internal GraphicsState Clone() { - return new GraphicState() + return new GraphicsState() { CTM = CTM, Fill = Fill, diff --git a/src/Synercoding.FileFormats.Pdf/IContentContext.cs b/src/Synercoding.FileFormats.Pdf/IContentContext.cs index 1f4a37e..02e80b0 100644 --- a/src/Synercoding.FileFormats.Pdf/IContentContext.cs +++ b/src/Synercoding.FileFormats.Pdf/IContentContext.cs @@ -19,7 +19,7 @@ public interface IContentContext /// /// Represents the current graphic state /// - GraphicState GraphicState { get; } + GraphicsState GraphicState { get; } /// /// Wrap the in save and restore state operators @@ -40,7 +40,7 @@ public interface IContentContext Task WrapInStateAsync(T data, Func contentOperations); /// - /// Concatenate a matrix to + /// Concatenate a matrix to /// /// The matrix to concat /// This to enable chaining operations @@ -94,5 +94,12 @@ public interface IContentContext /// The dash pattern to set /// This to enable chaining operations TSelf SetDashPattern(Dash dashPattern); + + /// + /// Set an extended graphics state (ExtGState) dictionary. + /// + /// The state to apply. + /// This to enable chaining operations + TSelf SetExtendedGraphicsState(ExtendedGraphicsState extendedGraphicsState); } diff --git a/src/Synercoding.FileFormats.Pdf/ITextContentContext.cs b/src/Synercoding.FileFormats.Pdf/ITextContentContext.cs index 0fde58e..13895a0 100644 --- a/src/Synercoding.FileFormats.Pdf/ITextContentContext.cs +++ b/src/Synercoding.FileFormats.Pdf/ITextContentContext.cs @@ -101,7 +101,7 @@ public interface ITextContentContext : IContentContext ITextContentContext ShowTextOnNextLine(string text); /// - /// Operation to show text on the next line and setting the and + /// Operation to show text on the next line and setting the and /// /// The text to show /// The word spacing to set diff --git a/src/Synercoding.FileFormats.Pdf/Internals/PageContentContext.cs b/src/Synercoding.FileFormats.Pdf/Internals/PageContentContext.cs index 1174e7d..c876f5a 100644 --- a/src/Synercoding.FileFormats.Pdf/Internals/PageContentContext.cs +++ b/src/Synercoding.FileFormats.Pdf/Internals/PageContentContext.cs @@ -6,7 +6,7 @@ namespace Synercoding.FileFormats.Pdf.Internals; internal class PageContentContext : IPageContentContext { - public PageContentContext(ContentStream contentStream, GraphicState graphicState) + public PageContentContext(ContentStream contentStream, GraphicsState graphicState) { RawContentStream = contentStream; GraphicState = graphicState; @@ -14,7 +14,7 @@ public PageContentContext(ContentStream contentStream, GraphicState graphicState public ContentStream RawContentStream { get; } - public GraphicState GraphicState { get; } + public GraphicsState GraphicState { get; } public IPageContentContext AddImage(Image image) { @@ -155,4 +155,11 @@ public async Task AddShapesAsync(T data, Func + /// Set an extended graphics state (ExtGState) dictionary using a gs operator.. + /// + /// The state to apply. + /// The to support chaining operations. + public ContentStream SetExtendedGraphicsState(ExtendedGraphicsState state) + { + var name = Resources.AddExtendedGraphicsState(state); + + InnerStream.Write(name).Space().Write("gs").NewLine(); + + return this; + } + /// /// Write the operator (m) to the stream /// diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/Graphics/LineJoinStyle.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/Graphics/LineJoinStyle.cs index f2eb82b..a0c3946 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/Graphics/LineJoinStyle.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/Graphics/LineJoinStyle.cs @@ -9,7 +9,7 @@ public enum LineJoinStyle /// The outer edges of the strokes for the two segments shall be extended until they meet at an angle. /// /// - /// If the segments meet at too sharp an angle (see ), a bevel join shall be used instead. + /// If the segments meet at too sharp an angle (see ), a bevel join shall be used instead. /// MiterJoin = 0, /// diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs index 7fc484e..99a4271 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs @@ -9,12 +9,15 @@ internal sealed class PageResources : IDisposable { private const string PREFIX_IMAGE = "Im"; private const string PREFIX_SEPARATION = "Sep"; + private const string PREFIX_EXTGSTATE = "ExGs"; private readonly TableBuilder _tableBuilder; private readonly Map _images; private readonly Dictionary _separations; private readonly Dictionary _standardFonts; + private readonly Dictionary _extendedGraphicsStates; + private int _stateCounter = 0; private int _separationCounter = 0; private int _imageCounter = 0; @@ -24,11 +27,15 @@ internal PageResources(TableBuilder tableBuilder) _images = new Map(); _separations = new Dictionary(); _standardFonts = new Dictionary(); + _extendedGraphicsStates = new Dictionary(); } public IReadOnlyDictionary Images => _images.Forward; + public IReadOnlyDictionary ExtendedGraphicsStates + => _extendedGraphicsStates; + internal IReadOnlyDictionary SeparationReferences => _separations; @@ -105,4 +112,16 @@ internal PdfName AddSeparation(Separation separation) return name; } + + internal PdfName AddExtendedGraphicsState(ExtendedGraphicsState extendedGraphicsState) + { + if (_extendedGraphicsStates.TryGetValue(extendedGraphicsState, out var name)) + return name; + + var key = PREFIX_SEPARATION + Interlocked.Increment(ref _stateCounter).ToString().PadLeft(6, '0'); + name = PdfName.Get(key); + _extendedGraphicsStates[extendedGraphicsState] = name; + + return name; + } } diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs index cacc7af..196931b 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs @@ -159,6 +159,27 @@ public ObjectStream Write(PdfPage page) } })); } + + if (resources.ExtendedGraphicsStates.Count != 0) + { + stream.Write(PdfName.Get("ExtGState"), resources.ExtendedGraphicsStates, static (extGStates, stream) => stream.Dictionary(extGStates, static (extendedGStates, extgstateDictionary) => + { + foreach(var (state, name) in extendedGStates) + { + extgstateDictionary.Write(name, state, static (state, raw) => + { + raw.Dictionary(state, static (state, dict) => + { + if (state.Overprint.HasValue) + dict.Write(PdfName.Get("OP"), state.Overprint.Value); + if (state.OverprintNonStroking.HasValue) + dict.Write(PdfName.Get("op"), state.OverprintNonStroking.Value); + }); + }); + } + })); + } + })); // Content stream diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs index 844001d..1c16185 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs @@ -146,6 +146,22 @@ public PdfDictionary Write(PdfName key, int value) return this; } + /// + /// Write a boolean to the dictionary + /// + /// The key of the item in the dictionary + /// The boolean to write + /// The to support chaining operations. + public PdfDictionary Write(PdfName key, bool value) + { + _stream + .Write(key) + .Space() + .Write(value); + + return this; + } + /// /// Write a text to the dictionary /// diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfStream.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfStream.cs index 567b152..7b2cc7d 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfStream.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfStream.cs @@ -56,6 +56,18 @@ public PdfStream Write(char c) return WriteByte((byte)( c & 0xFF )); } + /// + /// Write a to the stream + /// + /// The boolean to write. + /// The calling to support chaining operations. + public PdfStream Write(bool b) + { + return b + ? Write("true") + : Write("false"); + } + /// /// Write a to the stream /// diff --git a/src/Synercoding.FileFormats.Pdf/PdfPage.cs b/src/Synercoding.FileFormats.Pdf/PdfPage.cs index 80a3096..067879c 100644 --- a/src/Synercoding.FileFormats.Pdf/PdfPage.cs +++ b/src/Synercoding.FileFormats.Pdf/PdfPage.cs @@ -26,7 +26,7 @@ internal PdfPage(TableBuilder tableBuilder, PageTree parent) Resources = new PageResources(_tableBuilder); var contentStream = new ContentStream(tableBuilder.ReserveId(), Resources); - Content = new PageContentContext(contentStream, new GraphicState()); + Content = new PageContentContext(contentStream, new GraphicsState()); } internal PdfReference Parent From d7564c91f9b025fc63e8c1de59fc446c3b4705ab Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Fri, 18 Oct 2024 14:40:55 +0200 Subject: [PATCH 02/10] Moved ExtGState dictionaries to indirect objects, fixed prefix, and added to example --- .../Program.cs | 4 +++ .../LowLevel/Internal/PageResources.cs | 16 +++++----- .../LowLevel/ObjectStream.cs | 31 ++++++++++++------- src/Synercoding.FileFormats.Pdf/PdfWriter.cs | 3 ++ 4 files changed, 34 insertions(+), 20 deletions(-) diff --git a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs index b3f5be4..41d56b5 100644 --- a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs +++ b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs @@ -216,6 +216,10 @@ public static void Main(string[] args) page.Content.AddShapes(trimBox, static (trim, context) => { + context.SetExtendedGraphicsState(new ExtendedGraphicsState() + { + Overprint = true + }); context.SetStroke(new SpotColor(new Separation(LowLevel.PdfName.Get("CutContour"), PredefinedColors.Magenta), 1)); context.Rectangle(trim); context.Stroke(); diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs index 99a4271..b73d780 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs @@ -15,7 +15,7 @@ internal sealed class PageResources : IDisposable private readonly Map _images; private readonly Dictionary _separations; private readonly Dictionary _standardFonts; - private readonly Dictionary _extendedGraphicsStates; + private readonly Dictionary _extendedGraphicsStates; private int _stateCounter = 0; private int _separationCounter = 0; @@ -27,13 +27,13 @@ internal PageResources(TableBuilder tableBuilder) _images = new Map(); _separations = new Dictionary(); _standardFonts = new Dictionary(); - _extendedGraphicsStates = new Dictionary(); + _extendedGraphicsStates = new Dictionary(); } public IReadOnlyDictionary Images => _images.Forward; - public IReadOnlyDictionary ExtendedGraphicsStates + public IReadOnlyDictionary ExtendedGraphicsStates => _extendedGraphicsStates; internal IReadOnlyDictionary SeparationReferences @@ -115,12 +115,12 @@ internal PdfName AddSeparation(Separation separation) internal PdfName AddExtendedGraphicsState(ExtendedGraphicsState extendedGraphicsState) { - if (_extendedGraphicsStates.TryGetValue(extendedGraphicsState, out var name)) - return name; + if (_extendedGraphicsStates.TryGetValue(extendedGraphicsState, out var tuple)) + return tuple.Name; - var key = PREFIX_SEPARATION + Interlocked.Increment(ref _stateCounter).ToString().PadLeft(6, '0'); - name = PdfName.Get(key); - _extendedGraphicsStates[extendedGraphicsState] = name; + var key = PREFIX_EXTGSTATE + Interlocked.Increment(ref _stateCounter).ToString().PadLeft(6, '0'); + var name = PdfName.Get(key); + _extendedGraphicsStates[extendedGraphicsState] = (name, _tableBuilder.ReserveId()); return name; } diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs index 196931b..dc6727f 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs @@ -162,20 +162,11 @@ public ObjectStream Write(PdfPage page) if (resources.ExtendedGraphicsStates.Count != 0) { - stream.Write(PdfName.Get("ExtGState"), resources.ExtendedGraphicsStates, static (extGStates, stream) => stream.Dictionary(extGStates, static (extendedGStates, extgstateDictionary) => + stream.Write(PdfName.Get("ExtGState"), resources.ExtendedGraphicsStates.Values, static (extGStates, stream) => stream.Dictionary(extGStates, static (extendedGStates, dict) => { - foreach(var (state, name) in extendedGStates) + foreach (var (name, reference) in extendedGStates) { - extgstateDictionary.Write(name, state, static (state, raw) => - { - raw.Dictionary(state, static (state, dict) => - { - if (state.Overprint.HasValue) - dict.Write(PdfName.Get("OP"), state.Overprint.Value); - if (state.OverprintNonStroking.HasValue) - dict.Write(PdfName.Get("op"), state.OverprintNonStroking.Value); - }); - }); + dict.Write(name, reference); } })); } @@ -238,6 +229,22 @@ public ObjectStream Write(PdfReference reference, Separation separation) return this; } + public ObjectStream Write(PdfReference reference, ExtendedGraphicsState state) + { + if (!_tableBuilder.TrySetPosition(reference, InnerStream.Position)) + return this; + + _indirectDictionary(reference, state, static (state, dict) => + { + if (state.Overprint.HasValue) + dict.Write(PdfName.Get("OP"), state.Overprint.Value); + if (state.OverprintNonStroking.HasValue) + dict.Write(PdfName.Get("op"), state.OverprintNonStroking.Value); + }); + + return this; + } + private void _indirectDictionary(PdfReference reference, T data, Action dictionaryAction) { InnerStream diff --git a/src/Synercoding.FileFormats.Pdf/PdfWriter.cs b/src/Synercoding.FileFormats.Pdf/PdfWriter.cs index 0d685d5..174b1a1 100644 --- a/src/Synercoding.FileFormats.Pdf/PdfWriter.cs +++ b/src/Synercoding.FileFormats.Pdf/PdfWriter.cs @@ -233,6 +233,9 @@ private void _writePageAndResourcesToObjectStream(PdfPage page) foreach (var (separation, (_, refId)) in page.Resources.SeparationReferences) _objectStream.Write(refId, separation); + foreach (var (state, (_, refId)) in page.Resources.ExtendedGraphicsStates) + _objectStream.Write(refId, state); + _objectStream.Write(page.Content.RawContentStream); } From 163b9fcd9bb3eadf0cee1fe15c1cf36acbe5dcdc Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Fri, 18 Oct 2024 14:44:19 +0200 Subject: [PATCH 03/10] Fix deprecated error --- .github/workflows/dotnet-core.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index cd44a0f..18fab3b 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -55,7 +55,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Download Artifact - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4.1.7 with: name: nupkg - name: Push to GitHub Feed @@ -90,4 +90,4 @@ jobs: done - name: Push to NuGet Feed if: ${{ env.NUGET_FEED }} != '' - run: dotnet nuget push ./nupkg/*.nupkg --source $NUGET_FEED --skip-duplicate --api-key $NUGET_KEY \ No newline at end of file + run: dotnet nuget push ./nupkg/*.nupkg --source $NUGET_FEED --skip-duplicate --api-key $NUGET_KEY From d09933f11e32aae1a2b14eabf79ba84d08f2b8bb Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Fri, 18 Oct 2024 14:46:04 +0200 Subject: [PATCH 04/10] Fix upload artefact --- .github/workflows/dotnet-core.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 18fab3b..7c2b432 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -45,7 +45,7 @@ jobs: run: dotnet pack -v normal -c Release --no-restore --include-symbols --include-source -p:SymbolPackageFormat=snupkg -p:PackageVersion=1.0.0-pre+$GITHUB_RUN_ID src/$PROJECT_NAME/$PROJECT_NAME.*proj - name: Upload Artifact if: matrix.os == 'ubuntu-latest' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: nupkg path: ./artifacts/pkg/Release/${{ env.PROJECT_NAME }}.*.nupkg @@ -55,7 +55,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Download Artifact - uses: actions/download-artifact@v4.1.7 + uses: actions/download-artifact@v4 with: name: nupkg - name: Push to GitHub Feed From c8b6a69f33945cf5ba28835d63109e090bcc59b6 Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Fri, 18 Oct 2024 14:51:18 +0200 Subject: [PATCH 05/10] Upgrade to net8 --- .github/workflows/dotnet-core.yml | 4 ++-- Directory.Build.props | 2 +- .../Synercoding.FileFormats.Pdf.ConsoleTester.csproj | 2 +- src/Directory.Build.props | 2 +- tests/Directory.Build.props | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 7c2b432..6e6af4a 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -33,7 +33,7 @@ jobs: - name: Setup .NET Core uses: actions/setup-dotnet@v1 with: - dotnet-version: 7.0.x + dotnet-version: 8.0.x - name: Restore run: dotnet restore - name: Build @@ -73,7 +73,7 @@ jobs: - name: Setup .NET Core uses: actions/setup-dotnet@v1 with: - dotnet-version: 7.0.x + dotnet-version: 8.0.x - name: Create Release NuGet package run: | arrTag=(${GITHUB_REF//\// }) diff --git a/Directory.Build.props b/Directory.Build.props index 4c76e77..d268479 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -41,7 +41,7 @@ - 11.0 + 12.0 enable true strict diff --git a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Synercoding.FileFormats.Pdf.ConsoleTester.csproj b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Synercoding.FileFormats.Pdf.ConsoleTester.csproj index 2d5a218..0a3a1cc 100644 --- a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Synercoding.FileFormats.Pdf.ConsoleTester.csproj +++ b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Synercoding.FileFormats.Pdf.ConsoleTester.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net8.0 diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 896375d..94964a7 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -2,7 +2,7 @@ - net7.0;net6.0 + net8.0 $(MSBuildAllProjects);$(MSBuildThisFileDirectory)..\Directory.Build.props src diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index f896a2f..9ba0585 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -14,8 +14,8 @@ - net6.0 + net8.0 false - \ No newline at end of file + From bbb96ed53b0b05e6d08ff46b007430a1982da1f7 Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Tue, 19 Nov 2024 15:49:14 +0100 Subject: [PATCH 06/10] Add support for transparent and separtion images --- README.md | 5 +- ...ther-royalty-free-cougar-black-cheetah.png | Bin 0 -> 324563 bytes .../Program.cs | 36 +++++- ...oding.FileFormats.Pdf.ConsoleTester.csproj | 6 + .../IPageContentContextExtensions.cs | 9 +- .../GrayScaleMethod.cs | 10 ++ src/Synercoding.FileFormats.Pdf/Image.cs | 112 +++++++++++++----- .../LowLevel/Internal/PageResources.cs | 13 +- .../LowLevel/ObjectStream.cs | 67 ++++++++++- .../LowLevel/PdfDictionary.cs | 5 + .../LowLevel/PdfReference.cs | 22 +++- .../LowLevel/StreamFilter.cs | 2 +- .../LowLevel/XRef/TableBuilder.cs | 13 ++ src/Synercoding.FileFormats.Pdf/PdfWriter.cs | 27 ++++- .../SeparationImage.cs | 15 +++ src/Synercoding.FileFormats.Pdf/SoftMask.cs | 11 ++ 16 files changed, 293 insertions(+), 60 deletions(-) create mode 100644 samples/Synercoding.FileFormats.Pdf.ConsoleTester/FreePngImage_com/59872-jaguar-panther-royalty-free-cougar-black-cheetah.png create mode 100644 src/Synercoding.FileFormats.Pdf/GrayScaleMethod.cs create mode 100644 src/Synercoding.FileFormats.Pdf/SeparationImage.cs create mode 100644 src/Synercoding.FileFormats.Pdf/SoftMask.cs diff --git a/README.md b/README.md index cde46aa..93bae7d 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,10 @@ The PDF files created in this library are not fully PDF 1.7 compliant, because t This shortcoming shall be remedied when broader font support is implemented. ### Sample program images -The sample project called *Synercoding.FileFormats.Pdf.ConsoleTester* uses multiple images. Those images were taken from [Pexels.com](https://www.pexels.com/royalty-free-images/) and are licensed under the [Pexels License](https://www.pexels.com/photo-license/). +The sample project called *Synercoding.FileFormats.Pdf.ConsoleTester* uses multiple images. +Those images were taken from: +- [Pexels.com](https://www.pexels.com/royalty-free-images/) and are licensed under the [Pexels License](https://www.pexels.com/photo-license/) +- [FreePngImg.com](https://freepngimg.com/png/59872-jaguar-panther-royalty-free-cougar-black-cheetah) and are licensed under [Creative Commons (CC BY-NC 4.0)](https://creativecommons.org/licenses/by-nc/4.0/) ## Sample usage diff --git a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/FreePngImage_com/59872-jaguar-panther-royalty-free-cougar-black-cheetah.png b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/FreePngImage_com/59872-jaguar-panther-royalty-free-cougar-black-cheetah.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ffe71532c6593ad8bb71a7734cf2e55c0c6cd4 GIT binary patch literal 324563 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 z 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 z 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%0D2M0q0gd| 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 literal 0 HcmV?d00001 diff --git a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs index 41d56b5..298ee5a 100644 --- a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs +++ b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs @@ -1,3 +1,4 @@ +using SixLabors.ImageSharp.PixelFormats; using Synercoding.FileFormats.Pdf.Extensions; using Synercoding.FileFormats.Pdf.LowLevel.Colors; using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; @@ -63,7 +64,7 @@ public static void Main(string[] args) }); using (var forestStream = File.OpenRead("Pexels_com/android-wallpaper-art-backlit-1114897.jpg")) - using (var forestImage = SixLabors.ImageSharp.Image.Load(forestStream)) + using (var forestImage = SixLabors.ImageSharp.Image.Load(forestStream)) { var scale = (double)forestImage.Width / forestImage.Height; @@ -81,7 +82,7 @@ public static void Main(string[] args) page.TrimBox = trimBox; using (var barrenStream = File.OpenRead("Pexels_com/arid-barren-desert-1975514.jpg")) - using (var barrenImage = SixLabors.ImageSharp.Image.Load(barrenStream)) + using (var barrenImage = SixLabors.ImageSharp.Image.Load(barrenStream)) { var scale = (double)barrenImage.Width / barrenImage.Height; @@ -175,7 +176,7 @@ public static void Main(string[] args) page.TrimBox = trimBox; using (var forestStream = File.OpenRead("Pexels_com/android-wallpaper-art-backlit-1114897.jpg")) - using (var forestImage = SixLabors.ImageSharp.Image.Load(forestStream)) + using (var forestImage = SixLabors.ImageSharp.Image.Load(forestStream)) { var scale = (double)forestImage.Width / forestImage.Height; @@ -187,7 +188,7 @@ public static void Main(string[] args) }); using (var blurStream = File.OpenRead("Pexels_com/4k-wallpaper-blur-bokeh-1484253.jpg")) - using (var blurImage = SixLabors.ImageSharp.Image.Load(blurStream)) + using (var blurImage = SixLabors.ImageSharp.Image.Load(blurStream)) { var reusedImage = writer.AddImage(blurImage); @@ -226,6 +227,33 @@ public static void Main(string[] args) }); }); } + + using (var pantherPngStream = File.OpenRead("FreePngImage_com/59872-jaguar-panther-royalty-free-cougar-black-cheetah.png")) + using (var pantherImage = SixLabors.ImageSharp.Image.Load(pantherPngStream)) + { + var pantherImg = writer.AddImage(pantherImage); + var transparentPanther = writer.AddSeparationImage(new Separation(LowLevel.PdfName.Get("White"), PredefinedColors.Yellow), pantherImage, GrayScaleMethod.AlphaChannel); + + writer.AddPage(page => + { + page.MediaBox = mediaBox; + page.TrimBox = trimBox; + + var scale = (double)transparentPanther.Width / transparentPanther.Height; + var pantherSize = new Rectangle(0, 0, 216, 216 / scale, Unit.Millimeters); + + page.Content.AddImage(pantherImage, pantherSize); + + page.Content.WrapInState(pantherImage, (image, content) => + { + content.SetExtendedGraphicsState(new ExtendedGraphicsState() + { + Overprint = true + }); + content.AddImage(transparentPanther, pantherSize); + }); + }); + } } } } diff --git a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Synercoding.FileFormats.Pdf.ConsoleTester.csproj b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Synercoding.FileFormats.Pdf.ConsoleTester.csproj index 0a3a1cc..049d071 100644 --- a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Synercoding.FileFormats.Pdf.ConsoleTester.csproj +++ b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Synercoding.FileFormats.Pdf.ConsoleTester.csproj @@ -15,4 +15,10 @@ + + + PreserveNewest + + + diff --git a/src/Synercoding.FileFormats.Pdf/Extensions/IPageContentContextExtensions.cs b/src/Synercoding.FileFormats.Pdf/Extensions/IPageContentContextExtensions.cs index 9d7e0d6..e04ad6e 100644 --- a/src/Synercoding.FileFormats.Pdf/Extensions/IPageContentContextExtensions.cs +++ b/src/Synercoding.FileFormats.Pdf/Extensions/IPageContentContextExtensions.cs @@ -1,3 +1,4 @@ +using SixLabors.ImageSharp.PixelFormats; using Synercoding.FileFormats.Pdf.Internals; using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; using Synercoding.FileFormats.Pdf.LowLevel.Text; @@ -61,7 +62,7 @@ public static IPageContentContext AddImage(this IPageContentContext context, Sys /// The same to enable chaining operations. public static IPageContentContext AddImage(this IPageContentContext context, System.IO.Stream stream) { - using var image = SixLabors.ImageSharp.Image.Load(stream); + using var image = SixLabors.ImageSharp.Image.Load(stream); return context.AddImage(image); } @@ -73,7 +74,7 @@ public static IPageContentContext AddImage(this IPageContentContext context, Sys /// The image to place /// The placement matrix to use /// The same to enable chaining operations. - public static IPageContentContext AddImage(this IPageContentContext context, SixLabors.ImageSharp.Image image, Matrix matrix) + public static IPageContentContext AddImage(this IPageContentContext context, SixLabors.ImageSharp.Image image, Matrix matrix) { return context.WrapInState((image, matrix), static (tuple, context) => { @@ -89,7 +90,7 @@ public static IPageContentContext AddImage(this IPageContentContext context, Six /// The image to place /// The rectangle of where to place the image. /// The same to enable chaining operations. - public static IPageContentContext AddImage(this IPageContentContext context, SixLabors.ImageSharp.Image image, Rectangle rectangle) + public static IPageContentContext AddImage(this IPageContentContext context, SixLabors.ImageSharp.Image image, Rectangle rectangle) => context.AddImage(image, rectangle.AsPlacementMatrix()); /// @@ -98,7 +99,7 @@ public static IPageContentContext AddImage(this IPageContentContext context, Six /// The context to add the image to. /// The image to place /// The same to enable chaining operations. - public static IPageContentContext AddImage(this IPageContentContext context, SixLabors.ImageSharp.Image image) + public static IPageContentContext AddImage(this IPageContentContext context, SixLabors.ImageSharp.Image image) { var name = context.RawContentStream.Resources.AddImage(image); diff --git a/src/Synercoding.FileFormats.Pdf/GrayScaleMethod.cs b/src/Synercoding.FileFormats.Pdf/GrayScaleMethod.cs new file mode 100644 index 0000000..214a288 --- /dev/null +++ b/src/Synercoding.FileFormats.Pdf/GrayScaleMethod.cs @@ -0,0 +1,10 @@ +namespace Synercoding.FileFormats.Pdf; + +public enum GrayScaleMethod +{ + RedChannel, + GreenChannel, + BlueChannel, + AlphaChannel, + AverageOfRGBChannels +} diff --git a/src/Synercoding.FileFormats.Pdf/Image.cs b/src/Synercoding.FileFormats.Pdf/Image.cs index 9500f2f..ad7ec33 100644 --- a/src/Synercoding.FileFormats.Pdf/Image.cs +++ b/src/Synercoding.FileFormats.Pdf/Image.cs @@ -1,54 +1,84 @@ using SixLabors.ImageSharp; +using SixLabors.ImageSharp.PixelFormats; using Synercoding.FileFormats.Pdf.LowLevel; using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; +using Synercoding.FileFormats.Pdf.LowLevel.XRef; namespace Synercoding.FileFormats.Pdf; /// /// Class representing an image inside a pdf /// -public sealed class Image : IDisposable +public class Image : IDisposable { - private bool _disposed; + private protected bool _disposed; - internal Image(PdfReference id, SixLabors.ImageSharp.Image image) + internal static Image Get(TableBuilder tableBuilder, Image image) { - Reference = id; - - var ms = new MemoryStream(); - image.SaveAsJpeg(ms, new SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder() - { - Quality = 100, - ColorType = SixLabors.ImageSharp.Formats.Jpeg.JpegEncodingColor.YCbCrRatio444 - }); - Width = image.Width; - Height = image.Height; - ColorSpace = DeviceRGB.Instance.Name; - DecodeArray = new double[] { 0, 1, 0, 1, 0, 1 }; - ms.Position = 0; - RawStream = ms; + return new Image(tableBuilder.ReserveId(), _encodeToJpg(image), image.Width, image.Height, DeviceRGB.Instance, GetMask(tableBuilder, image)); } - internal Image(PdfReference id, Stream jpgStream, int width, int height, ColorSpace colorSpace) + internal static SoftMask? GetMask(TableBuilder tableBuilder, Image image) { - Reference = id; + var hasTrans = image.Metadata.TryGetPngMetadata(out var pngMeta) + && + ( + pngMeta.ColorType == SixLabors.ImageSharp.Formats.Png.PngColorType.RgbWithAlpha + || pngMeta.ColorType == SixLabors.ImageSharp.Formats.Png.PngColorType.GrayscaleWithAlpha + ); + + return hasTrans + ? new SoftMask(tableBuilder.ReserveId(), AsImageByteStream(image, GrayScaleMethod.AlphaChannel), image.Width, image.Height) + : null; + } - Width = width; - Height = height; - RawStream = jpgStream; + internal static Stream AsImageByteStream(Image image, GrayScaleMethod grayScaleMethod) + { + var ms = new MemoryStream(); - var (csName, decodeArray) = colorSpace switch + image.ProcessPixelRows(accessor => { - DeviceCMYK cmyk => (cmyk.Name, new double[] { 0, 1, 0, 1, 0, 1, 0, 1 }), - DeviceRGB rgb => (rgb.Name, new double[] { 0, 1, 0, 1, 0, 1 }), - _ => throw new ArgumentOutOfRangeException(nameof(colorSpace), $"The provided color space {colorSpace} is currently not supported.") - }; + for (int y = 0; y < accessor.Height; y++) + { + var pixelRow = accessor.GetRowSpan(y); + + // pixelRow.Length has the same value as accessor.Width, + // but using pixelRow.Length allows the JIT to optimize away bounds checks: + for (int x = 0; x < pixelRow.Length; x++) + { + // Get a reference to the pixel at position x + ref Rgba32 pixel = ref pixelRow[x]; + + var pixelValue = grayScaleMethod switch + { + GrayScaleMethod.AlphaChannel => pixel.A, + GrayScaleMethod.RedChannel => pixel.R, + GrayScaleMethod.GreenChannel => pixel.G, + GrayScaleMethod.BlueChannel => pixel.B, + GrayScaleMethod.AverageOfRGBChannels => (byte)( ( pixel.R + pixel.G + pixel.B ) / 3 ), + _ => throw new NotImplementedException() + }; + + ms.WriteByte(pixelValue); + + } + } + }); - ColorSpace = csName; - DecodeArray = decodeArray; + ms.Position = 0; + + return ms; } - internal Image(PdfReference id, Stream jpgStream, int width, int height, PdfName colorSpace, double[] decodeArray) + //internal Image(PdfReference id, SixLabors.ImageSharp.Image image) + // : this(id, _encodeToJpg(image), image.Width, image.Height, DeviceRGB.Instance, null) + //{ } + + internal Image(PdfReference id, Stream jpgStream, int width, int height, ColorSpace colorSpace, SoftMask? softMask) + : this(id, jpgStream, width, height, colorSpace.Name, _decodeArray(colorSpace), softMask) + { } + + internal Image(PdfReference id, Stream jpgStream, int width, int height, PdfName colorSpace, double[] decodeArray, SoftMask? softMask) { Reference = id; @@ -57,8 +87,11 @@ internal Image(PdfReference id, Stream jpgStream, int width, int height, PdfName RawStream = jpgStream; ColorSpace = colorSpace; DecodeArray = decodeArray; + SoftMask = softMask; } + internal SoftMask? SoftMask { get; private set; } + internal Stream RawStream { get; private set; } /// @@ -95,4 +128,23 @@ public void Dispose() _disposed = true; } } + + private static Stream _encodeToJpg(SixLabors.ImageSharp.Image image) + { + var ms = new MemoryStream(); + image.SaveAsJpeg(ms, new SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder() + { + Quality = 100, + ColorType = SixLabors.ImageSharp.Formats.Jpeg.JpegEncodingColor.YCbCrRatio444 + }); + ms.Position = 0; + + return ms; + } + + private static double[] _decodeArray(ColorSpace colorSpace) + => Enumerable.Range(0, colorSpace.Components) + .Select(_ => new double[] { 0, 1 }) + .SelectMany(x => x) + .ToArray(); } diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs index b73d780..6a907b1 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs @@ -1,3 +1,4 @@ +using SixLabors.ImageSharp.PixelFormats; using Synercoding.FileFormats.Pdf.Internals; using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; using Synercoding.FileFormats.Pdf.LowLevel.Text; @@ -56,7 +57,7 @@ public PdfName AddJpgUnsafe(System.IO.Stream jpgStream, int originalWidth, int o { var id = _tableBuilder.ReserveId(); - var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace); + var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace, null); return AddImage(pdfImage); } @@ -65,16 +66,14 @@ public PdfName AddJpgUnsafe(System.IO.Stream jpgStream, int originalWidth, int o { var id = _tableBuilder.ReserveId(); - var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace, decodeArray); + var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace, decodeArray, null); return AddImage(pdfImage); } - public PdfName AddImage(SixLabors.ImageSharp.Image image) + public PdfName AddImage(SixLabors.ImageSharp.Image image) { - var id = _tableBuilder.ReserveId(); - - var pdfImage = new Image(id, image); + var pdfImage = Image.Get(_tableBuilder, image); return AddImage(pdfImage); } @@ -108,7 +107,7 @@ internal PdfName AddSeparation(Separation separation) var key = PREFIX_SEPARATION + System.Threading.Interlocked.Increment(ref _separationCounter).ToString().PadLeft(6, '0'); var name = PdfName.Get(key); - _separations[separation] = (name, _tableBuilder.ReserveId()); + _separations[separation] = (name, _tableBuilder.GetSeparationId(separation)); return name; } diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs index dc6727f..298c342 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs @@ -89,6 +89,11 @@ public ObjectStream Write(PageTree pageTree) public ObjectStream Write(Image image) { + if (image is SeparationImage spotImage) + return Write(spotImage); + if (image is SoftMask maskImage) + return Write(maskImage); + if (!_tableBuilder.TrySetPosition(image.Reference, InnerStream.Position)) return this; @@ -101,9 +106,61 @@ public ObjectStream Write(Image image) .Write(PdfName.Get("Height"), image.Height) .Write(PdfName.Get("ColorSpace"), image.ColorSpace) .Write(PdfName.Get("BitsPerComponent"), 8) - .Write(PdfName.Get("Decode"), image.DecodeArray); + .Write(PdfName.Get("Decode"), image.DecodeArray) + .WriteIfNotNull(PdfName.Get("SMask"), image.SoftMask?.Reference); }, StreamFilter.DCTDecode); + if (image.SoftMask != null) + Write(image.SoftMask); + + return this; + } + + public ObjectStream Write(SeparationImage spotImage) + { + if (!_tableBuilder.TrySetPosition(spotImage.Reference, InnerStream.Position)) + return this; + + var separationId = _tableBuilder.GetSeparationId(spotImage.Separation); + + _indirectStream(spotImage.Reference, spotImage.RawStream, (spotImage, separationId), static (tuple, dictionary) => + { + var (image, sepId) = tuple; + + dictionary + .Write(PdfName.Get("Type"), PdfName.Get("XObject")) + .Write(PdfName.Get("Subtype"), PdfName.Get("Image")) + .Write(PdfName.Get("Width"), image.Width) + .Write(PdfName.Get("Height"), image.Height) + .Write(PdfName.Get("ColorSpace"), sepId) + .Write(PdfName.Get("BitsPerComponent"), 8) + .Write(PdfName.Get("Decode"), image.DecodeArray) + .WriteIfNotNull(PdfName.Get("SMask"), image.SoftMask?.Reference); + }); + + if(spotImage.SoftMask != null) + Write(spotImage.SoftMask); + + return Write(spotImage.Separation); + } + + public ObjectStream Write(SoftMask softMask) + { + if (!_tableBuilder.TrySetPosition(softMask.Reference, InnerStream.Position)) + return this; + + _indirectStream(softMask.Reference, softMask.RawStream, softMask, static (image, dictionary) => + { + dictionary + .Write(PdfName.Get("Type"), PdfName.Get("XObject")) + .Write(PdfName.Get("Subtype"), PdfName.Get("Image")) + .Write(PdfName.Get("Width"), image.Width) + .Write(PdfName.Get("Height"), image.Height) + .Write(PdfName.Get("ColorSpace"), DeviceGray.Instance.Name) + .Write(PdfName.Get("BitsPerComponent"), 8) + .Write(PdfName.Get("Decode"), image.DecodeArray); + }); + return this; } @@ -196,13 +253,15 @@ public ObjectStream Write(PdfReference reference, Type1StandardFont font) return this; } - public ObjectStream Write(PdfReference reference, Separation separation) + public ObjectStream Write(Separation separation) { - if (!_tableBuilder.TrySetPosition(reference, InnerStream.Position)) + var id = _tableBuilder.GetSeparationId(separation); + + if (!_tableBuilder.TrySetPosition(id, InnerStream.Position)) return this; InnerStream - .StartObject(reference) + .StartObject(id) .WriteByte(BRACKET_OPEN) .Write(PdfName.Get("Separation")) .Write(separation.Name) diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs index 1c16185..c796cb8 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs @@ -314,6 +314,11 @@ public PdfDictionary WriteIfNotNull(PdfName key, Rectangle? rectangle) ? Write(key, rectangle.Value) : this; + public PdfDictionary WriteIfNotNull(PdfName key, PdfReference? value) + => value.HasValue + ? Write(key, value.Value) + : this; + /// /// Write a number to the stream if it is not null /// diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfReference.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfReference.cs index f57ea69..5cbdac9 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfReference.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfReference.cs @@ -1,9 +1,11 @@ +using System.Diagnostics.CodeAnalysis; + namespace Synercoding.FileFormats.Pdf.LowLevel; /// /// A struct representing a reference /// -public readonly struct PdfReference +public readonly struct PdfReference : IEquatable { /// /// Constructor for that uses generation 0 @@ -34,9 +36,21 @@ internal PdfReference(int objectId, int generation) /// public int Generation { get; } + public bool Equals(PdfReference other) + => ObjectId == other.ObjectId && Generation == other.Generation; + + public override bool Equals([NotNullWhen(true)] object? obj) + => obj is PdfReference pdfRef && Equals(pdfRef); + + public override int GetHashCode() + => HashCode.Combine(ObjectId, Generation); + /// public override string ToString() - { - return $"{ObjectId} {Generation}"; - } + => $"{ObjectId} {Generation}"; + + public static bool operator ==(PdfReference left, PdfReference right) + => left.Equals(right); + + public static bool operator !=(PdfReference left, PdfReference right) => !( left == right ); } diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/StreamFilter.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/StreamFilter.cs index f546b1b..63247dc 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/StreamFilter.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/StreamFilter.cs @@ -9,5 +9,5 @@ internal enum StreamFilter /// Decompress data encoded using a DCT (discrete cosine transform) technique based on the JPEG standard, /// reproducing image sample data that approximates the original data. /// - DCTDecode + DCTDecode, } diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/XRef/TableBuilder.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/XRef/TableBuilder.cs index f6b104b..ab01ca1 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/XRef/TableBuilder.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/XRef/TableBuilder.cs @@ -1,3 +1,4 @@ +using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; using Synercoding.FileFormats.Pdf.LowLevel.Internal; namespace Synercoding.FileFormats.Pdf.LowLevel.XRef; @@ -6,6 +7,18 @@ internal class TableBuilder { private readonly IdGenerator _idGen = new IdGenerator(); private readonly Dictionary _positions = new Dictionary(); + private readonly Dictionary _addedSeparations = new Dictionary(); + + public PdfReference GetSeparationId(Separation separation) + { + if (_addedSeparations.TryGetValue(separation, out var id)) + return id; + + id = ReserveId(); + _addedSeparations.Add(separation, id); + return id; + + } public PdfReference ReserveId() { diff --git a/src/Synercoding.FileFormats.Pdf/PdfWriter.cs b/src/Synercoding.FileFormats.Pdf/PdfWriter.cs index 174b1a1..08bc3d4 100644 --- a/src/Synercoding.FileFormats.Pdf/PdfWriter.cs +++ b/src/Synercoding.FileFormats.Pdf/PdfWriter.cs @@ -1,3 +1,5 @@ +using SixLabors.ImageSharp; +using SixLabors.ImageSharp.PixelFormats; using Synercoding.FileFormats.Pdf.LowLevel; using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; using Synercoding.FileFormats.Pdf.LowLevel.Extensions; @@ -147,13 +149,28 @@ public async Task AddPageAsync(T data, Func page /// /// The image that needs to be added. /// The image reference that can be used in pages - public Image AddImage(SixLabors.ImageSharp.Image image) + public Image AddImage(Image image) + { + _throwWhenEndingWritten(); + + var pdfImage = Image.Get(_tableBuilder, image); + + _objectStream.Write(pdfImage); + + return pdfImage; + } + + public SeparationImage AddSeparationImage(Separation separation, Image image, GrayScaleMethod grayScaleMethod) { _throwWhenEndingWritten(); var id = _tableBuilder.ReserveId(); - var pdfImage = new Image(id, image); + var mask = Image.GetMask(_tableBuilder, image); + + var imageStream = Image.AsImageByteStream(image, grayScaleMethod); + + var pdfImage = new SeparationImage(id, imageStream, image.Width, image.Height, separation, mask); _objectStream.Write(pdfImage); @@ -177,7 +194,7 @@ public Image AddJpgUnsafe(Stream jpgStream, int originalWidth, int originalHeigh var id = _tableBuilder.ReserveId(); - var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace); + var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace, null); _objectStream.Write(pdfImage); @@ -230,8 +247,8 @@ private void _writePageAndResourcesToObjectStream(PdfPage page) foreach (var (font, refId) in page.Resources.FontReferences) _objectStream.Write(refId, font); - foreach (var (separation, (_, refId)) in page.Resources.SeparationReferences) - _objectStream.Write(refId, separation); + foreach (var (separation, _) in page.Resources.SeparationReferences) + _objectStream.Write(separation); foreach (var (state, (_, refId)) in page.Resources.ExtendedGraphicsStates) _objectStream.Write(refId, state); diff --git a/src/Synercoding.FileFormats.Pdf/SeparationImage.cs b/src/Synercoding.FileFormats.Pdf/SeparationImage.cs new file mode 100644 index 0000000..5fc27cd --- /dev/null +++ b/src/Synercoding.FileFormats.Pdf/SeparationImage.cs @@ -0,0 +1,15 @@ +using Synercoding.FileFormats.Pdf.LowLevel; +using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; + +namespace Synercoding.FileFormats.Pdf; + +public class SeparationImage : Image +{ + internal SeparationImage(PdfReference id, Stream pixelStream, int width, int height, Separation colorSpace, SoftMask? mask) + : base(id, pixelStream, width, height, colorSpace, mask) + { + Separation = colorSpace; + } + + public Separation Separation { get; private set; } +} diff --git a/src/Synercoding.FileFormats.Pdf/SoftMask.cs b/src/Synercoding.FileFormats.Pdf/SoftMask.cs new file mode 100644 index 0000000..04478a5 --- /dev/null +++ b/src/Synercoding.FileFormats.Pdf/SoftMask.cs @@ -0,0 +1,11 @@ +using Synercoding.FileFormats.Pdf.LowLevel; +using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; + +namespace Synercoding.FileFormats.Pdf; + +public class SoftMask : Image +{ + internal SoftMask(PdfReference id, Stream pixelStream, int width, int height) + : base(id, pixelStream, width, height, DeviceGray.Instance, null) + { } +} From d614af12b9de69c877f986498cec8223687ecec4 Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Tue, 19 Nov 2024 16:48:56 +0100 Subject: [PATCH 07/10] Streamlinedd separation and softmask images, and addedd flatedecode for streams --- .../GrayScaleMethod.cs | 20 ++- src/Synercoding.FileFormats.Pdf/Image.cs | 140 ++++++++---------- .../Extensions/StreamFilterExtensions.cs | 1 + .../LowLevel/Internal/PageResources.cs | 11 +- .../LowLevel/ObjectStream.cs | 83 ++++------- .../LowLevel/PdfDictionary.cs | 10 +- .../LowLevel/PdfReference.cs | 5 + .../LowLevel/StreamFilter.cs | 7 + src/Synercoding.FileFormats.Pdf/PdfWriter.cs | 31 +++- .../SeparationImage.cs | 15 -- src/Synercoding.FileFormats.Pdf/SoftMask.cs | 11 -- 11 files changed, 157 insertions(+), 177 deletions(-) delete mode 100644 src/Synercoding.FileFormats.Pdf/SeparationImage.cs delete mode 100644 src/Synercoding.FileFormats.Pdf/SoftMask.cs diff --git a/src/Synercoding.FileFormats.Pdf/GrayScaleMethod.cs b/src/Synercoding.FileFormats.Pdf/GrayScaleMethod.cs index 214a288..96cdc55 100644 --- a/src/Synercoding.FileFormats.Pdf/GrayScaleMethod.cs +++ b/src/Synercoding.FileFormats.Pdf/GrayScaleMethod.cs @@ -1,10 +1,28 @@ -namespace Synercoding.FileFormats.Pdf; +namespace Synercoding.FileFormats.Pdf; +/// +/// What method is used to generate a 1 component grayscale pixel byte array +/// public enum GrayScaleMethod { + /// + /// Use the red channel + /// RedChannel, + /// + /// Use the green channel + /// GreenChannel, + /// + /// Use the blue channel + /// BlueChannel, + /// + /// Use the alpha channel + /// AlphaChannel, + /// + /// Use the average of the Red, Green and Blue channels. + /// AverageOfRGBChannels } diff --git a/src/Synercoding.FileFormats.Pdf/Image.cs b/src/Synercoding.FileFormats.Pdf/Image.cs index ad7ec33..019ffeb 100644 --- a/src/Synercoding.FileFormats.Pdf/Image.cs +++ b/src/Synercoding.FileFormats.Pdf/Image.cs @@ -3,6 +3,7 @@ using Synercoding.FileFormats.Pdf.LowLevel; using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; using Synercoding.FileFormats.Pdf.LowLevel.XRef; +using System.IO.Compression; namespace Synercoding.FileFormats.Pdf; @@ -13,72 +14,7 @@ public class Image : IDisposable { private protected bool _disposed; - internal static Image Get(TableBuilder tableBuilder, Image image) - { - return new Image(tableBuilder.ReserveId(), _encodeToJpg(image), image.Width, image.Height, DeviceRGB.Instance, GetMask(tableBuilder, image)); - } - - internal static SoftMask? GetMask(TableBuilder tableBuilder, Image image) - { - var hasTrans = image.Metadata.TryGetPngMetadata(out var pngMeta) - && - ( - pngMeta.ColorType == SixLabors.ImageSharp.Formats.Png.PngColorType.RgbWithAlpha - || pngMeta.ColorType == SixLabors.ImageSharp.Formats.Png.PngColorType.GrayscaleWithAlpha - ); - - return hasTrans - ? new SoftMask(tableBuilder.ReserveId(), AsImageByteStream(image, GrayScaleMethod.AlphaChannel), image.Width, image.Height) - : null; - } - - internal static Stream AsImageByteStream(Image image, GrayScaleMethod grayScaleMethod) - { - var ms = new MemoryStream(); - - image.ProcessPixelRows(accessor => - { - for (int y = 0; y < accessor.Height; y++) - { - var pixelRow = accessor.GetRowSpan(y); - - // pixelRow.Length has the same value as accessor.Width, - // but using pixelRow.Length allows the JIT to optimize away bounds checks: - for (int x = 0; x < pixelRow.Length; x++) - { - // Get a reference to the pixel at position x - ref Rgba32 pixel = ref pixelRow[x]; - - var pixelValue = grayScaleMethod switch - { - GrayScaleMethod.AlphaChannel => pixel.A, - GrayScaleMethod.RedChannel => pixel.R, - GrayScaleMethod.GreenChannel => pixel.G, - GrayScaleMethod.BlueChannel => pixel.B, - GrayScaleMethod.AverageOfRGBChannels => (byte)( ( pixel.R + pixel.G + pixel.B ) / 3 ), - _ => throw new NotImplementedException() - }; - - ms.WriteByte(pixelValue); - - } - } - }); - - ms.Position = 0; - - return ms; - } - - //internal Image(PdfReference id, SixLabors.ImageSharp.Image image) - // : this(id, _encodeToJpg(image), image.Width, image.Height, DeviceRGB.Instance, null) - //{ } - - internal Image(PdfReference id, Stream jpgStream, int width, int height, ColorSpace colorSpace, SoftMask? softMask) - : this(id, jpgStream, width, height, colorSpace.Name, _decodeArray(colorSpace), softMask) - { } - - internal Image(PdfReference id, Stream jpgStream, int width, int height, PdfName colorSpace, double[] decodeArray, SoftMask? softMask) + internal Image(PdfReference id, Stream jpgStream, int width, int height, ColorSpace colorSpace, Image? softMask, params StreamFilter[] filters) { Reference = id; @@ -86,11 +22,11 @@ internal Image(PdfReference id, Stream jpgStream, int width, int height, PdfName Height = height; RawStream = jpgStream; ColorSpace = colorSpace; - DecodeArray = decodeArray; SoftMask = softMask; + Filters = filters; } - internal SoftMask? SoftMask { get; private set; } + internal Image? SoftMask { get; private set; } internal Stream RawStream { get; private set; } @@ -112,12 +48,9 @@ internal Image(PdfReference id, Stream jpgStream, int width, int height, PdfName /// /// The name of the colorspace used in this /// - public PdfName ColorSpace { get; } + public ColorSpace ColorSpace { get; } - /// - /// The decode array used in this - /// - public double[] DecodeArray { get; } + internal StreamFilter[] Filters { get; } = Array.Empty(); /// public void Dispose() @@ -142,9 +75,60 @@ private static Stream _encodeToJpg(SixLabors.ImageSharp.Image image) return ms; } - private static double[] _decodeArray(ColorSpace colorSpace) - => Enumerable.Range(0, colorSpace.Components) - .Select(_ => new double[] { 0, 1 }) - .SelectMany(x => x) - .ToArray(); + internal static Image Get(TableBuilder tableBuilder, Image image) + { + return new Image(tableBuilder.ReserveId(), _encodeToJpg(image), image.Width, image.Height, DeviceRGB.Instance, GetMask(tableBuilder, image), StreamFilter.DCTDecode); + } + + internal static Image? GetMask(TableBuilder tableBuilder, Image image) + { + var hasTrans = image.Metadata.TryGetPngMetadata(out var pngMeta) + && + ( + pngMeta.ColorType == SixLabors.ImageSharp.Formats.Png.PngColorType.RgbWithAlpha + || pngMeta.ColorType == SixLabors.ImageSharp.Formats.Png.PngColorType.GrayscaleWithAlpha + ); + + return hasTrans + ? new Image(tableBuilder.ReserveId(), AsImageByteStream(image, GrayScaleMethod.AlphaChannel), image.Width, image.Height, DeviceGray.Instance, null, StreamFilter.FlateDecode) + : null; + } + + internal static Stream AsImageByteStream(Image image, GrayScaleMethod grayScaleMethod) + { + using (var byteStream = new MemoryStream()) + { + image.ProcessPixelRows(accessor => + { + for (int y = 0; y < accessor.Height; y++) + { + var pixelRow = accessor.GetRowSpan(y); + + // pixelRow.Length has the same value as accessor.Width, + // but using pixelRow.Length allows the JIT to optimize away bounds checks: + for (int x = 0; x < pixelRow.Length; x++) + { + // Get a reference to the pixel at position x + ref Rgba32 pixel = ref pixelRow[x]; + + var pixelValue = grayScaleMethod switch + { + GrayScaleMethod.AlphaChannel => pixel.A, + GrayScaleMethod.RedChannel => pixel.R, + GrayScaleMethod.GreenChannel => pixel.G, + GrayScaleMethod.BlueChannel => pixel.B, + GrayScaleMethod.AverageOfRGBChannels => (byte)( ( pixel.R + pixel.G + pixel.B ) / 3 ), + _ => throw new NotImplementedException() + }; + + byteStream.WriteByte(pixelValue); + } + } + }); + + byteStream.Position = 0; + + return PdfWriter.FlateEncode(byteStream); + } + } } diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/Extensions/StreamFilterExtensions.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/Extensions/StreamFilterExtensions.cs index fd39a5f..54d44ec 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/Extensions/StreamFilterExtensions.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/Extensions/StreamFilterExtensions.cs @@ -7,6 +7,7 @@ public static PdfName ToPdfName(this StreamFilter streamFilter) return streamFilter switch { StreamFilter.DCTDecode => PdfName.Get("DCTDecode"), + StreamFilter.FlateDecode => PdfName.Get("FlateDecode"), _ => throw new NotImplementedException(), }; } diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs index 6a907b1..97e1028 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/Internal/PageResources.cs @@ -57,16 +57,7 @@ public PdfName AddJpgUnsafe(System.IO.Stream jpgStream, int originalWidth, int o { var id = _tableBuilder.ReserveId(); - var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace, null); - - return AddImage(pdfImage); - } - - public PdfName AddJpgUnsafe(System.IO.Stream jpgStream, int originalWidth, int originalHeight, PdfName colorSpace, double[] decodeArray) - { - var id = _tableBuilder.ReserveId(); - - var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace, decodeArray, null); + var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace, null, StreamFilter.DCTDecode); return AddImage(pdfImage); } diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs index 298c342..d6ec4d5 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/ObjectStream.cs @@ -3,6 +3,7 @@ using Synercoding.FileFormats.Pdf.LowLevel.Internal; using Synercoding.FileFormats.Pdf.LowLevel.Text; using Synercoding.FileFormats.Pdf.LowLevel.XRef; +using System.IO.Compression; namespace Synercoding.FileFormats.Pdf.LowLevel; @@ -26,7 +27,8 @@ public ObjectStream Write(ContentStream contentStream) if (!_tableBuilder.TrySetPosition(contentStream.Reference, InnerStream.Position)) return this; - _indirectStream(contentStream.Reference, contentStream.InnerStream.InnerStream); + using (var flateStream = PdfWriter.FlateEncode(contentStream.InnerStream.InnerStream)) + _indirectStream(contentStream.Reference, flateStream, StreamFilter.FlateDecode); return this; } @@ -89,79 +91,46 @@ public ObjectStream Write(PageTree pageTree) public ObjectStream Write(Image image) { - if (image is SeparationImage spotImage) - return Write(spotImage); - if (image is SoftMask maskImage) - return Write(maskImage); - if (!_tableBuilder.TrySetPosition(image.Reference, InnerStream.Position)) return this; - _indirectStream(image.Reference, image.RawStream, image, static (image, dictionary) => - { - dictionary - .Write(PdfName.Get("Type"), PdfName.Get("XObject")) - .Write(PdfName.Get("Subtype"), PdfName.Get("Image")) - .Write(PdfName.Get("Width"), image.Width) - .Write(PdfName.Get("Height"), image.Height) - .Write(PdfName.Get("ColorSpace"), image.ColorSpace) - .Write(PdfName.Get("BitsPerComponent"), 8) - .Write(PdfName.Get("Decode"), image.DecodeArray) - .WriteIfNotNull(PdfName.Get("SMask"), image.SoftMask?.Reference); - }, StreamFilter.DCTDecode); - - if (image.SoftMask != null) - Write(image.SoftMask); - - return this; - } - - public ObjectStream Write(SeparationImage spotImage) - { - if (!_tableBuilder.TrySetPosition(spotImage.Reference, InnerStream.Position)) - return this; - - var separationId = _tableBuilder.GetSeparationId(spotImage.Separation); - - _indirectStream(spotImage.Reference, spotImage.RawStream, (spotImage, separationId), static (tuple, dictionary) => + _indirectStream(image.Reference, image.RawStream, (image, _tableBuilder), static (tuple, dictionary) => { - var (image, sepId) = tuple; - + var (image, tableBuilder) = tuple; dictionary .Write(PdfName.Get("Type"), PdfName.Get("XObject")) .Write(PdfName.Get("Subtype"), PdfName.Get("Image")) .Write(PdfName.Get("Width"), image.Width) .Write(PdfName.Get("Height"), image.Height) - .Write(PdfName.Get("ColorSpace"), sepId) .Write(PdfName.Get("BitsPerComponent"), 8) - .Write(PdfName.Get("Decode"), image.DecodeArray) + .Write(PdfName.Get("Decode"), _decodeArray(image.ColorSpace)) .WriteIfNotNull(PdfName.Get("SMask"), image.SoftMask?.Reference); - }); - if(spotImage.SoftMask != null) - Write(spotImage.SoftMask); - return Write(spotImage.Separation); - } + if (image.ColorSpace is Separation separation) + { + var sepId = tableBuilder.GetSeparationId(separation); + dictionary.Write(PdfName.Get("ColorSpace"), sepId); + } + else + { + dictionary.Write(PdfName.Get("ColorSpace"), image.ColorSpace.Name); + } + }, image.Filters); - public ObjectStream Write(SoftMask softMask) - { - if (!_tableBuilder.TrySetPosition(softMask.Reference, InnerStream.Position)) - return this; + if (image.SoftMask != null) + Write(image.SoftMask); - _indirectStream(softMask.Reference, softMask.RawStream, softMask, static (image, dictionary) => - { - dictionary - .Write(PdfName.Get("Type"), PdfName.Get("XObject")) - .Write(PdfName.Get("Subtype"), PdfName.Get("Image")) - .Write(PdfName.Get("Width"), image.Width) - .Write(PdfName.Get("Height"), image.Height) - .Write(PdfName.Get("ColorSpace"), DeviceGray.Instance.Name) - .Write(PdfName.Get("BitsPerComponent"), 8) - .Write(PdfName.Get("Decode"), image.DecodeArray); - }); + if(image.ColorSpace is Separation separation) + Write(separation); return this; + + static double[] _decodeArray(ColorSpace colorSpace) + => Enumerable.Range(0, colorSpace.Components) + .Select(_ => new double[] { 0, 1 }) + .SelectMany(x => x) + .ToArray(); } public ObjectStream Write(PdfPage page) diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs index c796cb8..2b50ae8 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfDictionary.cs @@ -314,13 +314,19 @@ public PdfDictionary WriteIfNotNull(PdfName key, Rectangle? rectangle) ? Write(key, rectangle.Value) : this; + /// + /// Writes a pdf reference to the dictionary if it is not null + /// + /// The key of the item in the dictionary + /// The reference to add. + /// The to support chaining operations. public PdfDictionary WriteIfNotNull(PdfName key, PdfReference? value) => value.HasValue ? Write(key, value.Value) : this; /// - /// Write a number to the stream if it is not null + /// Write a number to the dictionary if it is not null /// /// The key of the item in the dictionary /// The number to write. @@ -331,7 +337,7 @@ public PdfDictionary WriteIfNotNull(PdfName key, int? value) : this; /// - /// Write a number to the stream if it is not null + /// Write a number to the dictionary if it is not null /// /// The key of the item in the dictionary /// The number to write. diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfReference.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfReference.cs index 5cbdac9..9a3f10d 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/PdfReference.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/PdfReference.cs @@ -36,12 +36,15 @@ internal PdfReference(int objectId, int generation) /// public int Generation { get; } + /// public bool Equals(PdfReference other) => ObjectId == other.ObjectId && Generation == other.Generation; + /// public override bool Equals([NotNullWhen(true)] object? obj) => obj is PdfReference pdfRef && Equals(pdfRef); + /// public override int GetHashCode() => HashCode.Combine(ObjectId, Generation); @@ -49,8 +52,10 @@ public override int GetHashCode() public override string ToString() => $"{ObjectId} {Generation}"; + /// public static bool operator ==(PdfReference left, PdfReference right) => left.Equals(right); + /// public static bool operator !=(PdfReference left, PdfReference right) => !( left == right ); } diff --git a/src/Synercoding.FileFormats.Pdf/LowLevel/StreamFilter.cs b/src/Synercoding.FileFormats.Pdf/LowLevel/StreamFilter.cs index 63247dc..5aede75 100644 --- a/src/Synercoding.FileFormats.Pdf/LowLevel/StreamFilter.cs +++ b/src/Synercoding.FileFormats.Pdf/LowLevel/StreamFilter.cs @@ -10,4 +10,11 @@ internal enum StreamFilter /// reproducing image sample data that approximates the original data. /// DCTDecode, + + /// + /// The Flate method is based on the public-domain zlib/deflate compression method, + /// which is a variable-length Lempel-Ziv adaptive compression method cascaded + /// with adaptive Huffman coding. It is fully defined in Internet RFC 1950, and Internet RFC 1951. + /// + FlateDecode, } diff --git a/src/Synercoding.FileFormats.Pdf/PdfWriter.cs b/src/Synercoding.FileFormats.Pdf/PdfWriter.cs index 08bc3d4..8851695 100644 --- a/src/Synercoding.FileFormats.Pdf/PdfWriter.cs +++ b/src/Synercoding.FileFormats.Pdf/PdfWriter.cs @@ -5,6 +5,7 @@ using Synercoding.FileFormats.Pdf.LowLevel.Extensions; using Synercoding.FileFormats.Pdf.LowLevel.Internal; using Synercoding.FileFormats.Pdf.LowLevel.XRef; +using System.IO.Compression; using System.Reflection; namespace Synercoding.FileFormats.Pdf; @@ -160,7 +161,14 @@ public Image AddImage(Image image) return pdfImage; } - public SeparationImage AddSeparationImage(Separation separation, Image image, GrayScaleMethod grayScaleMethod) + /// + /// Add a separation image to the . + /// + /// The to use. + /// The image to use. + /// The to use. + /// The SeparationImage reference that can be used in pages + public Image AddSeparationImage(Separation separation, Image image, GrayScaleMethod grayScaleMethod) { _throwWhenEndingWritten(); @@ -170,7 +178,7 @@ public SeparationImage AddSeparationImage(Separation separation, Image i var imageStream = Image.AsImageByteStream(image, grayScaleMethod); - var pdfImage = new SeparationImage(id, imageStream, image.Width, image.Height, separation, mask); + var pdfImage = new Image(id, imageStream, image.Width, image.Height, separation, mask, StreamFilter.FlateDecode); _objectStream.Write(pdfImage); @@ -194,7 +202,7 @@ public Image AddJpgUnsafe(Stream jpgStream, int originalWidth, int originalHeigh var id = _tableBuilder.ReserveId(); - var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace, null); + var pdfImage = new Image(id, jpgStream, originalWidth, originalHeight, colorSpace, null, StreamFilter.DCTDecode); _objectStream.Write(pdfImage); @@ -256,6 +264,23 @@ private void _writePageAndResourcesToObjectStream(PdfPage page) _objectStream.Write(page.Content.RawContentStream); } + internal static Stream FlateEncode(Stream inputStream) + { + var outputStream = new MemoryStream(); + + outputStream.WriteByte(0x78); + outputStream.WriteByte(0xDA); + + inputStream.Position = 0; + using (var flateStream = new DeflateStream(outputStream, CompressionLevel.SmallestSize, true)) + { + inputStream.CopyTo(flateStream); + } + + outputStream.Position = 0; + return outputStream; + } + private void _throwWhenEndingWritten() { if (_endingWritten) throw new InvalidOperationException("Can't change document information when PDF trailer is written to the stream."); diff --git a/src/Synercoding.FileFormats.Pdf/SeparationImage.cs b/src/Synercoding.FileFormats.Pdf/SeparationImage.cs deleted file mode 100644 index 5fc27cd..0000000 --- a/src/Synercoding.FileFormats.Pdf/SeparationImage.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Synercoding.FileFormats.Pdf.LowLevel; -using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; - -namespace Synercoding.FileFormats.Pdf; - -public class SeparationImage : Image -{ - internal SeparationImage(PdfReference id, Stream pixelStream, int width, int height, Separation colorSpace, SoftMask? mask) - : base(id, pixelStream, width, height, colorSpace, mask) - { - Separation = colorSpace; - } - - public Separation Separation { get; private set; } -} diff --git a/src/Synercoding.FileFormats.Pdf/SoftMask.cs b/src/Synercoding.FileFormats.Pdf/SoftMask.cs deleted file mode 100644 index 04478a5..0000000 --- a/src/Synercoding.FileFormats.Pdf/SoftMask.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Synercoding.FileFormats.Pdf.LowLevel; -using Synercoding.FileFormats.Pdf.LowLevel.Colors.ColorSpaces; - -namespace Synercoding.FileFormats.Pdf; - -public class SoftMask : Image -{ - internal SoftMask(PdfReference id, Stream pixelStream, int width, int height) - : base(id, pixelStream, width, height, DeviceGray.Instance, null) - { } -} From c0afabe923ddd833f03d7b6be6252dbe615183cf Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Tue, 19 Nov 2024 17:04:57 +0100 Subject: [PATCH 08/10] Try fix github nuget push --- .github/workflows/dotnet-core.yml | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 6e6af4a..193124a 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -15,7 +15,7 @@ env: # Project name to pack and publish PROJECT_NAME: Synercoding.FileFormats.Pdf # GitHub Packages Feed settings - GITHUB_FEED: https://nuget.pkg.github.com/synercoder/ + GITHUB_FEED: https://nuget.pkg.github.com/synercoder/index.json GITHUB_USER: synercoder GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Official NuGet Feed settings @@ -58,12 +58,12 @@ jobs: uses: actions/download-artifact@v4 with: name: nupkg - - name: Push to GitHub Feed - run: | - for f in ./nupkg/*.nupkg - do - curl -vX PUT -u "$GITHUB_USER:$GITHUB_TOKEN" -F package=@$f $GITHUB_FEED - done + - name: Setup .NET Core @ Latest + uses: actions/setup-dotnet@v1 + - name: Publish Nuget to GitHub registry + run: dotnet nuget push ./nupkg/*.nupkg -k ${GITHUB_TOKEN} -s ${GITHUB_FEED} --skip-duplicate + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} deploy: needs: build if: github.event_name == 'release' @@ -82,12 +82,10 @@ jobs: VERSION="${VERSION//v}" echo Clean Version: $VERSION dotnet pack -v normal -c Release --include-symbols --include-source -p:SymbolPackageFormat=snupkg -p:PackageVersion=$VERSION -o nupkg src/$PROJECT_NAME/$PROJECT_NAME.*proj - - name: Push to GitHub Feed - run: | - for f in ./nupkg/*.nupkg - do - curl -vX PUT -u "$GITHUB_USER:$GITHUB_TOKEN" -F package=@$f $GITHUB_FEED - done + - name: Publish Nuget to GitHub registry + run: dotnet nuget push ./nupkg/*.nupkg -k ${GITHUB_TOKEN} -s ${GITHUB_FEED} --skip-duplicate + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Push to NuGet Feed if: ${{ env.NUGET_FEED }} != '' run: dotnet nuget push ./nupkg/*.nupkg --source $NUGET_FEED --skip-duplicate --api-key $NUGET_KEY From 5b187b44f37a4c53db2db72ffb73c5e4459061ea Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Tue, 19 Nov 2024 17:18:25 +0100 Subject: [PATCH 09/10] Update dotnet-core.yml --- .github/workflows/dotnet-core.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 193124a..8b0c185 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -60,6 +60,8 @@ jobs: name: nupkg - name: Setup .NET Core @ Latest uses: actions/setup-dotnet@v1 + - name: list + run: ls -R . - name: Publish Nuget to GitHub registry run: dotnet nuget push ./nupkg/*.nupkg -k ${GITHUB_TOKEN} -s ${GITHUB_FEED} --skip-duplicate env: From 30aca7bccd127cd0042a8f9eb6398d1d462343f8 Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Tue, 19 Nov 2024 17:21:32 +0100 Subject: [PATCH 10/10] Update dotnet-core.yml --- .github/workflows/dotnet-core.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 8b0c185..fe1a006 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -58,10 +58,9 @@ jobs: uses: actions/download-artifact@v4 with: name: nupkg + path: ./nupkg - name: Setup .NET Core @ Latest uses: actions/setup-dotnet@v1 - - name: list - run: ls -R . - name: Publish Nuget to GitHub registry run: dotnet nuget push ./nupkg/*.nupkg -k ${GITHUB_TOKEN} -s ${GITHUB_FEED} --skip-duplicate env: