From 3d6a14bea6093a274e410ac7cb2c89458223bd9f Mon Sep 17 00:00:00 2001 From: DGdev91 Date: Thu, 16 Feb 2023 15:09:26 +0100 Subject: [PATCH] Add enums for PDF/A-3 a and PDF/A-3 b compliance --- .../Writer/PdfDocumentBuilderTests.cs | 2 ++ src/UglyToad.PdfPig/Writer/PdfAStandard.cs | 10 +++++++++- src/UglyToad.PdfPig/Writer/PdfDocumentBuilder.cs | 5 +++++ src/UglyToad.PdfPig/Writer/Xmp/XmpWriter.cs | 8 ++++++++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/UglyToad.PdfPig.Tests/Writer/PdfDocumentBuilderTests.cs b/src/UglyToad.PdfPig.Tests/Writer/PdfDocumentBuilderTests.cs index 83d7fcb2..5fe76ae3 100644 --- a/src/UglyToad.PdfPig.Tests/Writer/PdfDocumentBuilderTests.cs +++ b/src/UglyToad.PdfPig.Tests/Writer/PdfDocumentBuilderTests.cs @@ -636,6 +636,8 @@ [InlineData(PdfAStandard.A1A)] [InlineData(PdfAStandard.A2B)] [InlineData(PdfAStandard.A2A)] + [InlineData(PdfAStandard.A3B)] + [InlineData(PdfAStandard.A3A)] public void CanGeneratePdfAFile(PdfAStandard standard) { var builder = new PdfDocumentBuilder diff --git a/src/UglyToad.PdfPig/Writer/PdfAStandard.cs b/src/UglyToad.PdfPig/Writer/PdfAStandard.cs index 50d69a3e..b41984ce 100644 --- a/src/UglyToad.PdfPig/Writer/PdfAStandard.cs +++ b/src/UglyToad.PdfPig/Writer/PdfAStandard.cs @@ -24,6 +24,14 @@ /// /// Compliance with PDF/A2-A. Level A (accessible) conformance are PDF/A2-B standards in addition to features intended to improve a document's accessibility. /// - A2A = 4 + A2A = 4, + /// + /// Compliance with PDF/A3-B. Level B (basic) conformance are PDF/A2-B standards in addition to support for embedded files + /// + A3B = 5, + /// + /// Compliance with PDF/A3-A. Level A (accessible) conformance are PDF/A3-B standards in addition to features intended to improve a document's accessibility. + /// + A3A = 6 } } \ No newline at end of file diff --git a/src/UglyToad.PdfPig/Writer/PdfDocumentBuilder.cs b/src/UglyToad.PdfPig/Writer/PdfDocumentBuilder.cs index a13ea14d..ed87db83 100644 --- a/src/UglyToad.PdfPig/Writer/PdfDocumentBuilder.cs +++ b/src/UglyToad.PdfPig/Writer/PdfDocumentBuilder.cs @@ -640,6 +640,11 @@ namespace UglyToad.PdfPig.Writer case PdfAStandard.A2A: PdfA1ARuleBuilder.Obey(catalogDictionary); break; + case PdfAStandard.A3B: + break; + case PdfAStandard.A3A: + PdfA1ARuleBuilder.Obey(catalogDictionary); + break; } } diff --git a/src/UglyToad.PdfPig/Writer/Xmp/XmpWriter.cs b/src/UglyToad.PdfPig/Writer/Xmp/XmpWriter.cs index 84a924b9..a61ab83d 100644 --- a/src/UglyToad.PdfPig/Writer/Xmp/XmpWriter.cs +++ b/src/UglyToad.PdfPig/Writer/Xmp/XmpWriter.cs @@ -147,6 +147,14 @@ namespace UglyToad.PdfPig.Writer.Xmp part = 2; conformance = "A"; break; + case PdfAStandard.A3A: + part = 3; + conformance = "A"; + break; + case PdfAStandard.A3B: + part = 3; + conformance = "B"; + break; default: throw new ArgumentOutOfRangeException(nameof(standard), standard, null); }