Как добавить CSS в iTextSharp XMLWorkerHelper
В настоящее время я использую iTextSharp XMLWorkerHelper с пользовательским обработчиком, чтобы иметь возможность перемещаться по списку элементов iTextSharp и печатать каждый элемент по отдельности в PDF.
Я хотел бы знать, есть ли способ добавить файл CSS, конкретно загрузиться, и все еще использовать тот же процесс.
Я видел в других статьях, показывающих, что CSS Resolver можно использовать с XMLWorker, но я использую XMLWorkerHelper специально для возможности просмотра каждого элемента. Мне нужен такой уровень детализации, в отличие от одноразовой обработки всех элементов одновременно с XMLWorker.
Класс iElement:
public class MyHandler : IElementHandler
{
public List<IElement> elements = new List<IElement>();
public void Add(IWritable w)
{
if (w is WritableElement)
{
elements.AddRange(((WritableElement)w).Elements());
}
}
}
Реализация обработчика IElement в коде:
//Initiating XMLWorkerHelper and handler
Paragraph p = null;
MyHandler mh = new MyHandler();
using (TextReader sr = new StringReader(processedMarkup))
{
XMLWorkerHelper.GetInstance().ParseXHtml(mh, sr);
}
//Elements of handler are accessed and used in the code below
var divList = mh.elements.Where(c => c.GetType() == typeof(PdfDiv)).ToList();
foreach (PdfDiv pdfD in divList)
{
//code continues...