I am trying to convert some elements (labels) that my html contains into span and be able to extract the position (coordinates) from them. Could you please help me as I am new to iText 7:
My code is:
ConverterProperties properties = new ConverterProperties();
properties.SetTagWorkerFactory(new CustomTagWorker());
IList elements = HtmlConverter.ConvertToElements(html, properties);
foreach (IElement element in elements)
{
document.Add((IBlockElement) element);
}
document.Close();
Custom tag workers:
private class CustomSpanTagWorker : iText.Html2pdf.Attach.Impl.Tags.SpanTagWorker
{
public CustomSpanTagWorker(iText.StyledXmlParser.Node.IElementNode element, iText.Html2pdf.Attach.ProcessorContext context) : base(element, context)
{
}
public override void ProcessEnd(iText.StyledXmlParser.Node.IElementNode element,iText.Html2pdf.Attach.ProcessorContext context)
{
base.ProcessEnd(element, context);
string nombre = element.Name();
IList elementResult = GetAllElements();
if (elementResult != null )
{
foreach (iText.Layout.IPropertyContainer item in elementResult)
{
base.ProcessEnd(element, context);
}
}
}
}
DefaultTagWorkerFactory:
if (tag.Name().Equals(iText.Html2pdf.Html.TagConstants.STRONG, StringComparison.OrdinalIgnoreCase))
{
return new CustomSpanTagWorker(tag, context);
}