Я нашел решение для преобразования строки HTML со встроенным стилем в PDF.Я выполнил использование ABCpdf версии 11. Это решение предоставлено технической командой ABCpdf.Я перепробовал множество многочисленных библиотек и онлайн-решений (где я могу передать свою HTML-строку для обслуживания и получить PDF-файл), но ни одна из них не дала мне хорошего результата, включая вышеупомянутые прокомментированные решения.Итак, вот решение для преобразования HTML в pdf.
<html>
<meta charset="utf-8" />
<head><head>
<body style="height: 100%;background-color: #D7CCC8;font-size: 12px;position: relative;height: 100%;margin: 0;">
<div style='position: relative;min-height: 100%;padding: 1em 1em 2em;margin-bottom: -11em;'>
put the content that you want to be in the pdf(with inline styling the html elements). This is an example of the html string that needs to be converted into a pdf.
</div>
</body>
</html>
Ниже приведен код C # для преобразования указанной выше строки HTML в формат PDF.
//generate pdf
using (Doc pdfDocument = new Doc())
{
// Set HTML options
pdfDocument.HtmlOptions.Engine = EngineType.Gecko;
pdfDocument.HtmlOptions.Media = MediaType.Screen;
// Convert first HTML page, result: html string
int pageID = pdfDocument.AddImageHtml(result);
// Convert other HTML pages
while (true)
{
if (!pdfDocument.Chainable(pageID))
{
break;
}
pdfDocument.Page = pdfDocument.AddPage();
pageID = pdfDocument.AddImageToChain(pageID);
}
//save
for (int i = 0; i < pdfDocument.PageCount; i++)
{
pdfDocument.PageNumber = i;
pdfDocument.Flatten();
}
//save the pdf, pdfFullPath: path to save the pdf
pdfDocument.Save(pdfFullPath);
}
Приведенный выше код преобразует строку html в формат pdf.ПРИМЕЧАНИЕ: в моем html у меня не было никаких изображений, и все стили были упомянуты встроенными, как в примере.
Надеюсь, что вышеупомянутое решение поможет кому-то, как и для меня.Любой желающий может предложить любые улучшения для этого кода (например, вставить изображения, сложное преобразование HTML в PDF и т. Д.).