internal static void Apply(AccessibilityProperties properties, PdfStructElem elem) { if (properties.GetActualText() != null) { elem.SetActualText(new PdfString(properties.GetActualText(), PdfEncodings.UNICODE_BIG)); } if (properties.GetAlternateDescription() != null) { elem.SetAlt(new PdfString(properties.GetAlternateDescription(), PdfEncodings.UNICODE_BIG)); } if (properties.GetExpansion() != null) { elem.SetE(new PdfString(properties.GetExpansion(), PdfEncodings.UNICODE_BIG)); } if (properties.GetLanguage() != null) { elem.SetLang(new PdfString(properties.GetLanguage(), PdfEncodings.UNICODE_BIG)); } IList <PdfStructureAttributes> newAttributesList = properties.GetAttributesList(); if (newAttributesList.Count > 0) { PdfObject attributesObject = elem.GetAttributes(false); PdfObject combinedAttributes = CombineAttributesList(attributesObject, -1, newAttributesList, elem.GetPdfObject ().GetAsNumber(PdfName.R)); elem.SetAttributes(combinedAttributes); } if (properties.GetPhoneme() != null) { elem.SetPhoneme(new PdfString(properties.GetPhoneme(), PdfEncodings.UNICODE_BIG)); } if (properties.GetPhoneticAlphabet() != null) { elem.SetPhoneticAlphabet(new PdfName(properties.GetPhoneticAlphabet())); } if (properties.GetNamespace() != null) { elem.SetNamespace(properties.GetNamespace()); } foreach (TagTreePointer @ref in properties.GetRefsList()) { elem.AddRef(@ref.GetCurrentStructElem()); } }
public virtual void StructElemTest07() { PdfWriter writer = new PdfWriter(destinationFolder + "structElemTest07.pdf"); writer.SetCompressionLevel(CompressionConstants.NO_COMPRESSION); PdfDocument document = new PdfDocument(writer); document.SetTagged(); PdfStructElem doc = document.GetStructTreeRoot().AddKid(new PdfStructElem(document, PdfName.Document)); PdfPage page = document.AddNewPage(); PdfCanvas canvas = new PdfCanvas(page); canvas.BeginText(); canvas.SetFontAndSize(PdfFontFactory.CreateFont(StandardFonts.COURIER), 24); canvas.SetTextMatrix(1, 0, 0, 1, 32, 512); PdfStructElem paragraph = doc.AddKid(new PdfStructElem(document, PdfName.P)); PdfStructElem span1 = paragraph.AddKid(new PdfStructElem(document, PdfName.Span, page)); canvas.OpenTag(new CanvasTag(span1.AddKid(new PdfMcrNumber(page, span1)))); canvas.ShowText("Hello "); canvas.CloseTag(); PdfStructElem span2 = paragraph.AddKid(new PdfStructElem(document, new PdfName("Chunk"), page)); canvas.OpenTag(new CanvasTag(span2.AddKid(new PdfMcrNumber(page, span2)))); canvas.ShowText("World"); canvas.CloseTag(); canvas.EndText(); canvas.Release(); PdfNamespace @namespace = new PdfNamespace("http://www.w3.org/1999/xhtml"); span1.SetNamespace(@namespace); span1.AddRef(span2); span1.SetPhoneticAlphabet(PdfName.ipa); span1.SetPhoneme(new PdfString("Heeeelllloooooo")); @namespace.AddNamespaceRoleMapping(StandardRoles.SPAN, StandardRoles.SPAN); document.GetStructTreeRoot().AddNamespace(@namespace); page.Flush(); document.Close(); CompareResult("structElemTest07.pdf", "cmp_structElemTest07.pdf", "diff_structElem_07_"); }