@@ -50,10 +50,13 @@ This file is part of the iText (R) project.
50
50
import com .itextpdf .kernel .font .PdfFontFactory ;
51
51
import com .itextpdf .kernel .pdf .canvas .PdfCanvas ;
52
52
import com .itextpdf .kernel .pdf .tagging .IStructureNode ;
53
+ import com .itextpdf .kernel .pdf .tagging .PdfNamespace ;
53
54
import com .itextpdf .kernel .pdf .tagging .PdfStructElem ;
54
55
import com .itextpdf .kernel .pdf .tagging .PdfStructureAttributes ;
56
+ import com .itextpdf .kernel .pdf .tagging .StandardNamespaces ;
55
57
import com .itextpdf .kernel .pdf .tagging .StandardRoles ;
56
58
import com .itextpdf .kernel .pdf .tagutils .AccessibilityProperties ;
59
+ import com .itextpdf .kernel .pdf .tagutils .DefaultAccessibilityProperties ;
57
60
import com .itextpdf .kernel .pdf .tagutils .TagTreePointer ;
58
61
import com .itextpdf .kernel .pdf .tagutils .TagStructureContext ;
59
62
import com .itextpdf .kernel .pdf .tagutils .WaitingTagsManager ;
@@ -363,11 +366,136 @@ public void tagTreePointerTest08() throws Exception {
363
366
properties .setLanguage ("EN-GB" );
364
367
365
368
pointer .moveToRoot ().moveToKid (2 , StandardRoles .P ).getProperties ().setRole (StandardRoles .H6 );
369
+ String role = pointer .getProperties ().getRole ();
370
+ Assert .assertEquals ("H6" , role );
366
371
document .close ();
367
372
368
373
compareResult ("tagTreePointerTest08.pdf" , "cmp_tagTreePointerTest08.pdf" , "diff08_" );
369
374
}
370
375
376
+ @ Test
377
+ public void changeExistedBackedAccessibilityPropertiesTest () throws Exception {
378
+ PdfWriter writer = new PdfWriter (destinationFolder + "changeExistedBackedAccessibilityPropertiesTest.pdf" ,
379
+ new WriterProperties ().setPdfVersion (PdfVersion .PDF_2_0 )).setCompressionLevel (
380
+ CompressionConstants .NO_COMPRESSION );
381
+ PdfDocument document = new PdfDocument (new PdfReader (sourceFolder + "taggedDocument2.pdf" ), writer );
382
+
383
+ TagTreePointer pointer = new TagTreePointer (document );
384
+ AccessibilityProperties properties = pointer .moveToKid (StandardRoles .DIV ).getProperties ();
385
+ String altDescription = "Alternate Description" ;
386
+ properties .setAlternateDescription (altDescription );
387
+ Assert .assertEquals (altDescription , properties .getAlternateDescription ());
388
+ String expansion = "expansion" ;
389
+ properties .setExpansion (expansion );
390
+ Assert .assertEquals (expansion , properties .getExpansion ());
391
+ properties .setNamespace (new PdfNamespace (StandardNamespaces .PDF_2_0 ));
392
+ Assert .assertEquals (StandardNamespaces .PDF_2_0 , properties .getNamespace ().getNamespaceName ());
393
+ String phoneme = "phoneme" ;
394
+ properties .setPhoneme (phoneme );
395
+ Assert .assertEquals (phoneme , properties .getPhoneme ());
396
+ String phoneticAlphabet = "Phonetic Alphabet" ;
397
+ properties .setPhoneticAlphabet (phoneticAlphabet );
398
+ Assert .assertEquals (phoneticAlphabet , properties .getPhoneticAlphabet ());
399
+
400
+ document .close ();
401
+
402
+ compareResult ("changeExistedBackedAccessibilityPropertiesTest.pdf" ,
403
+ "cmp_changeExistedBackedAccessibilityPropertiesTest.pdf" , "diffBackProp01_" );
404
+ }
405
+
406
+ @ Test
407
+ public void removeExistedBackedAccessibilityPropertiesTest () throws Exception {
408
+ PdfWriter writer = new PdfWriter (destinationFolder + "removeExistedBackedAccessibilityPropertiesTest.pdf" ,
409
+ new WriterProperties ().setPdfVersion (PdfVersion .PDF_2_0 )).setCompressionLevel (
410
+ CompressionConstants .NO_COMPRESSION );
411
+ PdfDocument document = new PdfDocument (new PdfReader (sourceFolder + "taggedDocument2.pdf" ), writer );
412
+
413
+ TagTreePointer pointer = new TagTreePointer (document );
414
+ AccessibilityProperties properties = pointer .moveToKid (StandardRoles .DIV ).getProperties ();
415
+ Assert .assertNotNull (properties .getAttributesList ());
416
+ Assert .assertNotNull (properties .addAttributes (0 , null ));
417
+ properties .clearAttributes ();
418
+ Assert .assertTrue (properties .getAttributesList ().isEmpty ());
419
+ properties .addRef (pointer );
420
+ Assert .assertFalse (properties .getRefsList ().isEmpty ());
421
+ properties .clearRefs ();
422
+ Assert .assertTrue (properties .getRefsList ().isEmpty ());
423
+
424
+ document .close ();
425
+
426
+ compareResult ("removeExistedBackedAccessibilityPropertiesTest.pdf" ,
427
+ "cmp_removeExistedBackedAccessibilityPropertiesTest.pdf" , "diffBackProp02_" );
428
+ }
429
+
430
+ @ Test
431
+ public void setDefaultAccessibilityPropertiesTest () throws Exception {
432
+ PdfWriter writer = new PdfWriter (destinationFolder + "setDefaultAccessibilityPropertiesTest.pdf" ,
433
+ new WriterProperties ().setPdfVersion (PdfVersion .PDF_2_0 )).setCompressionLevel (
434
+ CompressionConstants .NO_COMPRESSION );
435
+ PdfDocument document = new PdfDocument (new PdfReader (sourceFolder + "taggedDocument2.pdf" ), writer );
436
+
437
+ TagTreePointer pointer = new TagTreePointer (document );
438
+ AccessibilityProperties properties = new DefaultAccessibilityProperties (StandardRoles .DIV );
439
+ properties .setRole (StandardRoles .H6 );
440
+ Assert .assertEquals (StandardRoles .H6 , properties .getRole ());
441
+ String actualText = "Test text" ;
442
+ properties .setActualText (actualText );
443
+ Assert .assertEquals (actualText , properties .getActualText ());
444
+ String language = "EN-GB" ;
445
+ properties .setLanguage (language );
446
+ Assert .assertEquals (language , properties .getLanguage ());
447
+ String alternateDescription = "Alternate Description" ;
448
+ properties .setAlternateDescription (alternateDescription );
449
+ Assert .assertEquals (alternateDescription , properties .getAlternateDescription ());
450
+ String expansion = "expansion" ;
451
+ properties .setExpansion (expansion );
452
+ Assert .assertEquals (expansion , properties .getExpansion ());
453
+ properties .setNamespace (new PdfNamespace (StandardNamespaces .PDF_2_0 ));
454
+ Assert .assertEquals (StandardNamespaces .PDF_2_0 , properties .getNamespace ().getNamespaceName ());
455
+ String phoneme = "phoneme" ;
456
+ properties .setPhoneme (phoneme );
457
+ Assert .assertEquals (phoneme , properties .getPhoneme ());
458
+ String phoneticAlphabet = "phoneticAlphabet" ;
459
+ properties .setPhoneticAlphabet (phoneticAlphabet );
460
+ Assert .assertEquals (phoneticAlphabet , properties .getPhoneticAlphabet ());
461
+ properties .addRef (pointer );
462
+ Assert .assertFalse (properties .getRefsList ().isEmpty ());
463
+ pointer .addTag (properties );
464
+
465
+ document .close ();
466
+
467
+ compareResult ("setDefaultAccessibilityPropertiesTest.pdf" , "cmp_setDefaultAccessibilityPropertiesTest.pdf" ,
468
+ "diffDefaultProp01_" );
469
+ }
470
+
471
+ @ Test
472
+ public void removeDefaultAccessibilityPropertiesTest () throws Exception {
473
+ PdfWriter writer = new PdfWriter (destinationFolder + "removeDefaultAccessibilityPropertiesTest.pdf" ,
474
+ new WriterProperties ().setPdfVersion (PdfVersion .PDF_2_0 )).setCompressionLevel (
475
+ CompressionConstants .NO_COMPRESSION );
476
+ PdfDocument document = new PdfDocument (new PdfReader (sourceFolder + "taggedDocument2.pdf" ), writer );
477
+
478
+ TagTreePointer pointer = new TagTreePointer (document );
479
+ AccessibilityProperties properties = new DefaultAccessibilityProperties (StandardRoles .DIV );
480
+ PdfStructureAttributes testAttr = new PdfStructureAttributes ("test" );
481
+ testAttr .addIntAttribute ("N" , 4 );
482
+ properties .addAttributes (testAttr );
483
+ properties .addAttributes (1 , testAttr );
484
+ properties .getAttributesList ();
485
+ properties .clearAttributes ();
486
+ Assert .assertTrue (properties .getAttributesList ().isEmpty ());
487
+ properties .addRef (pointer );
488
+ Assert .assertFalse (properties .getRefsList ().isEmpty ());
489
+ properties .clearRefs ();
490
+ Assert .assertTrue (properties .getRefsList ().isEmpty ());
491
+ pointer .addTag (properties );
492
+
493
+ document .close ();
494
+
495
+ compareResult ("removeDefaultAccessibilityPropertiesTest.pdf" ,
496
+ "cmp_removeDefaultAccessibilityPropertiesTest.pdf" , "diffDefaultProp02_" );
497
+ }
498
+
371
499
@ Test
372
500
public void tagStructureFlushingTest01 () throws IOException , InterruptedException , SAXException , ParserConfigurationException {
373
501
PdfReader reader = new PdfReader (sourceFolder + "taggedDocument.pdf" );
0 commit comments