@@ -23,7 +23,9 @@ This file is part of the iText (R) project.
23
23
package com .itextpdf .pdfa ;
24
24
25
25
import com .itextpdf .commons .utils .MessageFormatUtil ;
26
+ import com .itextpdf .kernel .colors .ColorConstants ;
26
27
import com .itextpdf .kernel .font .PdfFont ;
28
+ import com .itextpdf .kernel .font .PdfFontFactory ;
27
29
import com .itextpdf .kernel .geom .Rectangle ;
28
30
import com .itextpdf .kernel .pdf .EncryptionConstants ;
29
31
import com .itextpdf .kernel .pdf .PdfAConformanceLevel ;
@@ -34,6 +36,7 @@ This file is part of the iText (R) project.
34
36
import com .itextpdf .kernel .pdf .PdfName ;
35
37
import com .itextpdf .kernel .pdf .PdfNumber ;
36
38
import com .itextpdf .kernel .pdf .PdfOutputIntent ;
39
+ import com .itextpdf .kernel .pdf .PdfPage ;
37
40
import com .itextpdf .kernel .pdf .PdfReader ;
38
41
import com .itextpdf .kernel .pdf .PdfStream ;
39
42
import com .itextpdf .kernel .pdf .PdfString ;
@@ -44,6 +47,11 @@ This file is part of the iText (R) project.
44
47
import com .itextpdf .kernel .pdf .xobject .PdfFormXObject ;
45
48
import com .itextpdf .kernel .pdf .xobject .PdfTransparencyGroup ;
46
49
import com .itextpdf .kernel .utils .CompareTool ;
50
+ import com .itextpdf .layout .Document ;
51
+ import com .itextpdf .layout .element .Div ;
52
+ import com .itextpdf .layout .element .List ;
53
+ import com .itextpdf .layout .element .ListItem ;
54
+ import com .itextpdf .layout .properties .ListNumberingType ;
47
55
import com .itextpdf .pdfa .exceptions .PdfAConformanceException ;
48
56
import com .itextpdf .pdfa .exceptions .PdfaExceptionMessageConstant ;
49
57
import com .itextpdf .test .ExtendedITextTest ;
@@ -85,6 +93,29 @@ public void createSimpleDocTest() throws IOException {
85
93
Assert .assertNull (new VeraPdfValidator ().validate (outPdf )); // Android-Conversion-Skip-Line (TODO DEVSIX-7377 introduce pdf\a validation on Android)
86
94
}
87
95
96
+ @ Test
97
+ public void createSimpleTaggedDocTest () throws IOException , InterruptedException {
98
+ String outPdf = destinationFolder + "pdfA4_tagged.pdf" ;
99
+ String cmpPdf = sourceFolder + "cmp/PdfA4CatalogCheckTest/cmp_pdfA4_tagged.pdf" ;
100
+
101
+ PdfWriter writer = new PdfWriter (outPdf , new WriterProperties ().setPdfVersion (PdfVersion .PDF_2_0 ));
102
+ InputStream is = new FileInputStream (sourceFolder + "sRGB Color Space Profile.icm" );
103
+ PdfADocument pdfDoc = (PdfADocument ) new PdfADocument (writer , PdfAConformanceLevel .PDF_A_4 , new PdfOutputIntent ("Custom" , "" , "http://www.color.org" , "sRGB IEC61966-2.1" , is )).setTagged ();
104
+ PdfFont font = PdfFontFactory .createFont (sourceFolder + "FreeSans.ttf" ,
105
+ "WinAnsi" , PdfFontFactory .EmbeddingStrategy .FORCE_EMBEDDED );
106
+ Document document = new Document (pdfDoc );
107
+ document .setFont (font );
108
+ List list = new List ();
109
+ list .add ("123" );
110
+
111
+ document .add (list );
112
+ Assert .assertEquals (PdfVersion .PDF_2_0 , pdfDoc .getTagStructureContext ().getTagStructureTargetVersion ());
113
+ document .close ();
114
+
115
+ Assert .assertNull (new CompareTool ().compareByContent (outPdf , cmpPdf , destinationFolder , "diff" ));
116
+ Assert .assertNull (new VeraPdfValidator ().validate (outPdf )); // Android-Conversion-Skip-Line (TODO DEVSIX-7377 introduce pdf\a validation on Android)
117
+ }
118
+
88
119
@ Test
89
120
public void invalidCatalogVersionCheckTest () throws IOException {
90
121
String outPdf = destinationFolder + "pdfA4_catalogCheck02.pdf" ;
0 commit comments