Skip to content

Commit b36929b

Browse files
committed
Refactor PDF conformance hierarchy
* Provide new PdfConformance class which store both PDF/A and PDF/UA * Get rid of "level" word everywhere * Always return not null conformance isntance from PdfDocument * Read conformance from PdfReader even for usual PdfDocument's DEVSIX-8571
1 parent a934d79 commit b36929b

3 files changed

Lines changed: 16 additions & 18 deletions

File tree

pdfocr-api/src/main/java/com/itextpdf/pdfocr/OcrPdfCreator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ This file is part of the iText (R) project.
3939
import com.itextpdf.kernel.geom.Point;
4040
import com.itextpdf.kernel.geom.Rectangle;
4141
import com.itextpdf.kernel.pdf.DocumentProperties;
42-
import com.itextpdf.kernel.pdf.PdfAConformanceLevel;
42+
import com.itextpdf.kernel.pdf.PdfAConformance;
4343
import com.itextpdf.kernel.pdf.PdfDocument;
4444
import com.itextpdf.kernel.pdf.PdfDocumentInfo;
4545
import com.itextpdf.kernel.pdf.PdfName;
@@ -503,7 +503,7 @@ private PdfDocument createPdfDocument(final PdfWriter pdfWriter,
503503
boolean createPdfA3u = pdfOutputIntent != null;
504504
if (createPdfA3u) {
505505
pdfDocument = new PdfADocument(pdfWriter,
506-
PdfAConformanceLevel.PDF_A_3U, pdfOutputIntent,
506+
PdfAConformance.PDF_A_3U, pdfOutputIntent,
507507
documentProperties);
508508
} else {
509509
pdfDocument = new PdfDocument(pdfWriter,

pdfocr-api/src/test/java/com/itextpdf/pdfocr/ApiTest.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@ This file is part of the iText (R) project.
2323
package com.itextpdf.pdfocr;
2424

2525
import com.itextpdf.commons.actions.contexts.IMetaInfo;
26-
import com.itextpdf.commons.utils.MessageFormatUtil;
2726
import com.itextpdf.io.image.ImageData;
2827
import com.itextpdf.kernel.colors.DeviceRgb;
2928
import com.itextpdf.kernel.font.PdfFont;
3029
import com.itextpdf.kernel.geom.Rectangle;
3130
import com.itextpdf.kernel.pdf.DocumentProperties;
32-
import com.itextpdf.kernel.pdf.PdfAConformanceLevel;
31+
import com.itextpdf.kernel.pdf.PdfAConformance;
3332
import com.itextpdf.kernel.pdf.PdfDocument;
3433
import com.itextpdf.kernel.pdf.PdfReader;
3534
import com.itextpdf.kernel.pdf.PdfWriter;
@@ -45,7 +44,6 @@ This file is part of the iText (R) project.
4544
import com.itextpdf.pdfocr.helpers.TestStructureDetectionOcrEngine;
4645
import com.itextpdf.pdfocr.logs.PdfOcrLogMessageConstant;
4746
import com.itextpdf.test.ExtendedITextTest;
48-
import com.itextpdf.test.LogLevelConstants;
4947
import com.itextpdf.test.annotations.LogMessage;
5048
import com.itextpdf.test.annotations.LogMessages;
5149

@@ -57,9 +55,9 @@ This file is part of the iText (R) project.
5755
import java.util.List;
5856
import java.util.Map;
5957
import org.junit.jupiter.api.Assertions;
60-
import org.junit.jupiter.api.Test;
6158
import org.junit.jupiter.api.BeforeAll;
6259
import org.junit.jupiter.api.Tag;
60+
import org.junit.jupiter.api.Test;
6361

6462
@Tag("IntegrationTest")
6563
public class ApiTest extends ExtendedITextTest {
@@ -135,9 +133,9 @@ public void createPdfAFileWithFileTest() throws IOException {
135133
try (PdfDocument pdf = new PdfDocument(new PdfReader(output))) {
136134
String contentBytes = new String(pdf.getPage(1).getContentBytes(), StandardCharsets.UTF_8);
137135
Assertions.assertTrue(contentBytes.contains("<00190014001c001400150014>"));
138-
PdfAConformanceLevel cl = pdf.getReader().getPdfAConformanceLevel();
139-
Assertions.assertEquals(PdfAConformanceLevel.PDF_A_3U.getConformance(), cl.getConformance());
140-
Assertions.assertEquals(PdfAConformanceLevel.PDF_A_3U.getPart(), cl.getPart());
136+
PdfAConformance cl = pdf.getReader().getPdfConformance().getAConformance();
137+
Assertions.assertEquals(PdfAConformance.PDF_A_3U.getLevel(), cl.getLevel());
138+
Assertions.assertEquals(PdfAConformance.PDF_A_3U.getPart(), cl.getPart());
141139
}
142140
}
143141

@@ -154,9 +152,9 @@ public void createPdfAFileWithFileNoMetaTest() throws IOException {
154152
try (PdfDocument pdf = new PdfDocument(new PdfReader(output))) {
155153
String contentBytes = new String(pdf.getPage(1).getContentBytes(), StandardCharsets.UTF_8);
156154
Assertions.assertTrue(contentBytes.contains("<00190014001c001400150014>"));
157-
PdfAConformanceLevel cl = pdf.getReader().getPdfAConformanceLevel();
158-
Assertions.assertEquals(PdfAConformanceLevel.PDF_A_3U.getConformance(), cl.getConformance());
159-
Assertions.assertEquals(PdfAConformanceLevel.PDF_A_3U.getPart(), cl.getPart());
155+
PdfAConformance cl = pdf.getReader().getPdfConformance().getAConformance();
156+
Assertions.assertEquals(PdfAConformance.PDF_A_3U.getLevel(), cl.getLevel());
157+
Assertions.assertEquals(PdfAConformance.PDF_A_3U.getPart(), cl.getPart());
160158
}
161159
}
162160

pdfocr-api/src/test/java/com/itextpdf/pdfocr/PdfA3uTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ This file is part of the iText (R) project.
2626
import com.itextpdf.kernel.colors.DeviceCmyk;
2727
import com.itextpdf.kernel.colors.DeviceRgb;
2828
import com.itextpdf.kernel.font.PdfFont;
29-
import com.itextpdf.kernel.pdf.PdfAConformanceLevel;
29+
import com.itextpdf.kernel.pdf.PdfAConformance;
3030
import com.itextpdf.kernel.pdf.PdfDocument;
3131
import com.itextpdf.kernel.pdf.PdfReader;
3232
import com.itextpdf.layout.font.FontProvider;
@@ -43,8 +43,8 @@ This file is part of the iText (R) project.
4343
import java.io.File;
4444
import java.io.IOException;
4545
import org.junit.jupiter.api.Assertions;
46-
import org.junit.jupiter.api.Test;
4746
import org.junit.jupiter.api.Tag;
47+
import org.junit.jupiter.api.Test;
4848

4949
@Tag("IntegrationTest")
5050
public class PdfA3uTest extends ExtendedITextTest {
@@ -107,8 +107,8 @@ public void testPdfA3DefaultMetadata() throws IOException {
107107
pdfDocument.getCatalog().getLang().toString());
108108
Assertions.assertEquals(null,
109109
pdfDocument.getDocumentInfo().getTitle());
110-
Assertions.assertEquals(PdfAConformanceLevel.PDF_A_3U,
111-
pdfDocument.getReader().getPdfAConformanceLevel());
110+
Assertions.assertEquals(PdfAConformance.PDF_A_3U,
111+
pdfDocument.getReader().getPdfConformance().getAConformance());
112112

113113
pdfDocument.close();
114114
}
@@ -135,8 +135,8 @@ public void testPdfCustomMetadata() throws IOException {
135135
pdfDocument.getCatalog().getLang().toString());
136136
Assertions.assertEquals(title,
137137
pdfDocument.getDocumentInfo().getTitle());
138-
Assertions.assertEquals(PdfAConformanceLevel.PDF_A_3U,
139-
pdfDocument.getReader().getPdfAConformanceLevel());
138+
Assertions.assertEquals(PdfAConformance.PDF_A_3U,
139+
pdfDocument.getReader().getPdfConformance().getAConformance());
140140

141141
pdfDocument.close();
142142
}

0 commit comments

Comments
 (0)