@@ -23,7 +23,9 @@ This file is part of the iText (R) project.
2323package com .itextpdf .pdfa ;
2424
2525import com .itextpdf .commons .utils .MessageFormatUtil ;
26+ import com .itextpdf .kernel .colors .ColorConstants ;
2627import com .itextpdf .kernel .font .PdfFont ;
28+ import com .itextpdf .kernel .font .PdfFontFactory ;
2729import com .itextpdf .kernel .geom .Rectangle ;
2830import com .itextpdf .kernel .pdf .EncryptionConstants ;
2931import com .itextpdf .kernel .pdf .PdfAConformanceLevel ;
@@ -34,6 +36,7 @@ This file is part of the iText (R) project.
3436import com .itextpdf .kernel .pdf .PdfName ;
3537import com .itextpdf .kernel .pdf .PdfNumber ;
3638import com .itextpdf .kernel .pdf .PdfOutputIntent ;
39+ import com .itextpdf .kernel .pdf .PdfPage ;
3740import com .itextpdf .kernel .pdf .PdfReader ;
3841import com .itextpdf .kernel .pdf .PdfStream ;
3942import com .itextpdf .kernel .pdf .PdfString ;
@@ -44,6 +47,11 @@ This file is part of the iText (R) project.
4447import com .itextpdf .kernel .pdf .xobject .PdfFormXObject ;
4548import com .itextpdf .kernel .pdf .xobject .PdfTransparencyGroup ;
4649import 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 ;
4755import com .itextpdf .pdfa .exceptions .PdfAConformanceException ;
4856import com .itextpdf .pdfa .exceptions .PdfaExceptionMessageConstant ;
4957import com .itextpdf .test .ExtendedITextTest ;
@@ -85,6 +93,29 @@ public void createSimpleDocTest() throws IOException {
8593 Assert .assertNull (new VeraPdfValidator ().validate (outPdf )); // Android-Conversion-Skip-Line (TODO DEVSIX-7377 introduce pdf\a validation on Android)
8694 }
8795
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+
88119 @ Test
89120 public void invalidCatalogVersionCheckTest () throws IOException {
90121 String outPdf = destinationFolder + "pdfA4_catalogCheck02.pdf" ;
0 commit comments