Преобразование строки HTML в PDF с помощью MigraDoc

Я извлекаю HTML-контент из базы данных и пытаюсь создать PDF-документ, используя следующий код.

 paragraph = Document.LastSection.AddParagraph();
 paragraph.Format.Alignment = ParagraphAlignment.Left;
 paragraph.AddFormattedText(AuditSummary);

Но необработанный HTML передается в PDF, как показано здесь:

введите здесь описание изображения

Как я могу добавить ту же строку с правильным форматированием?


person Community    schedule 13.02.2018    source источник
comment
Как вы знаете, эти библиотеки не могут этого сделать. Однако GemBox.Document может, вам следует проверить его. Что вам нужно сделать, так это создать новый объект DocumentModel, вызвать метод DocumentModel.Content.LoadText(string, HtmlLoadOptions) и в последний раз вызвать метод DocumentModel.Save(string, PdfSaveOptions), буквально все, что вам нужно.   -  person NixonUposseen    schedule 14.02.2018
comment
Эта библиотека не является бесплатной. Есть ли для этого бесплатная библиотека с открытым исходным кодом?   -  person    schedule 16.02.2018
comment
К сожалению, нет, насколько мне известно. Есть проекты с открытым исходным кодом, которые могут читать HTML, и есть проекты с открытым исходным кодом, которые могут писать PDF, но я не знаю ни одного бесплатного решения, которое может делать и то, и другое. Итак, что вам нужно сделать, это выбрать два и объединить их. Если у вас есть простой HTML-контент и простые стили, это может быть легкой задачей, но чем сложнее ваш HTML и CSS, тем больше времени вам потребуется на это.   -  person NixonUposseen    schedule 16.02.2018


Ответы (1)


Ни MigraDoc, ни PDFsharp не анализируют HTML.

Вам решать, как проанализировать HTML и заменить его вызовами MigraDoc, такими как AddFormattedText().

См. также:
http://pdfsharp.net/wiki/PDFsharpFAQ.ashx#Can_I_use_PDFsharp_to_convert_HTML_or_RTF_to_PDF_10< /а>

person I liked the old Stack Overflow    schedule 13.02.2018