У меня есть проект ASP. NET Core 3.1 MVC. Я хочу передать строку html, а затем добавить новые страницы.
Пример:
foreach (string html in html_list)
{
//Add new page
//Pass my html to page without converting it to bitmap or image
}
То, что я пробовал:
/* RETURNS NOTHING ON THE PAGE (PDFSharp && HtmlRendered.PdfSharp v.1.5.0.5 ) */
char Apostrov = '"';
string html2 = "<textarea style=" + Apostrov + "font-family: 'Microsoft Sans Serif'; font-size: 14px; position: absolute; left: 19px; top: 967px; width: 894px; height: 176px;" + Apostrov + "> <label> POKUSSS </label>";
PdfPage page = new PdfPage();
int width = (int)page.Width;
int height = (int)page.Height;
Bitmap bitmap = new Bitmap(width, height);
var doc = TheArtOfDev.HtmlRenderer.PdfSharp.PdfGenerator.GeneratePdf(html2, PageSize.A4);
XImage img = XImage.FromGdiPlusImage(bitmap);
doc.Pages.Add(page);
XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[0]);
xgr.DrawImage(img, 0, 0);
doc.Save(@"wwwroot/PDFReturns/POKUS.pdf");
doc.Close();
/* RETURNS NOTHING ON THE PAGE */
/* RETURNS CRAPPY PDF (PDFSharp && HtmlRendered.PdfSharp v.1.5.0.5 ) */
Bitmap bitmap = new Bitmap(1200, 1800);
Graphics g = Graphics.FromImage(bitmap);
XGraphics gg = XGraphics.FromGraphics(g, new XSize(1200, 1800));
TheArtOfDev.HtmlRenderer.PdfSharp.HtmlContainer c = new TheArtOfDev.HtmlRenderer.PdfSharp.HtmlContainer();
c.SetHtml("<html><body><textarea style=" + Apostrov + "font-family: 'Microsoft Sans Serif'; font-size: 14px; position: absolute; left: 19px; top: 500px; width: 500px; height: 500px;" + Apostrov + "><label style=" + Apostrov + "font-family: 'Microsoft Sans Serif'; font-size: 14px; position: absolute; left: 19px; top: 500px; width: 500px; height: 500px;" + Apostrov + "> POKUSSS </label></body></html>");
c.PerformPaint(gg);
PdfDocument doc = new PdfDocument();
PdfPage page = new PdfPage();
XImage img = XImage.FromGdiPlusImage(bitmap);
doc.Pages.Add(page);
XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[0]);
xgr.DrawImage(img, 0, 0);
doc.Save(@"wwwroot/PDFReturns/POKUS.pdf");
doc.Close();
/* RETURNS CRAPPY PDF */
Второй код возвращает: этот Я пробовал то же самое с ItextSharp 7, но получил тот же результат. Мне нужно передать html, уметь определять, где на экране он должен быть, и уметь добавлять новые страницы ... Мне все равно, в какой это библиотеке ...
Спасибо за любую помощь.