Обновление iTextSharp до iText7 .NET - PullRequest
       7

Обновление iTextSharp до iText7 .NET

0 голосов
/ 02 сентября 2018

Это мой код iText5, который делает то, что мне раньше требовалось, с помощью фрагментов HTML;

//GetFieldPositions returns an array of field positions if you are using 5.0 or greater
rectangle = pdfStamper.AcroFields.GetFieldPositions(field.Key)[0].position;

//tell itextSharp to overlay this content 
PdfContentByte contentBtye = pdfStamper.GetOverContent(1);

var elements = XMLWorkerHelper.ParseToElementList(pdfPlaceHolderData[key].ToString(), null);

ColumnText ct = new ColumnText(contentBtye);

ct.SetSimpleColumn(rectangle.Left, rectangle.Bottom, rectangle.Right, rectangle.Top);

ct.Add(elements);

ct.Go(false);

pdfFormFields.SetField(field.Key, string.Empty);

Я изо всех сил пытаюсь понять, как преобразовать это для работы в iText7 .NET.

XMLWorkerHelper.ParseToElementList возвращает «ElementList», который наследует «List». «Элемент» имеет следующую структуру:

iTextSharp IElement

Вызов iText7 Html2Pdf для HtmlConverter.ConvertToElements (html) возвращает «IList». Однако «Элемент» теперь структурирован следующим образом:

iText7 IElement

Я надеялся, что смогу просто использовать этот результат, но, очевидно, мой вызов 'ct.Add (elements);' в приведенном выше коде дроссели из-за различной структуры IElement.

Я знаю, что здесь пытаюсь срезать углы (в данный момент у меня нет выбора); Есть ли относительно простой способ конвертировать элемент iText7 в элемент iTextSharp, который сохранит мой хорошо проанализированный HTML с изображениями?

Как заменить вместо замены содержимого поля формы acro HTML-код? Это предпочтительно было бы в iTextSharp 5, но я полагаю, было бы еще лучше, используя последнюю версию?

В настоящее время у меня есть решение, успешно работающее с iTextSharp 5, которое позволяет динамически заполнять шаблоны PDF. Я столкнулся с проблемой при использовании XMLWorkerHelper.ParseToElementList, поскольку он не поддерживает синтаксический анализ встроенных изображений.

Я обнаружил, что iText7 для .net имеет расширение под названием html2pdf, которое имеет метод с именем HtmlConverter.ConvertToElements, который отлично разбирает HTML со встроенными изображениями, однако результат не совместим с моей реализацией iTextSharp 5, и я изо всех сил в пытаясь преобразовать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...