使用TheArtOfDev.HtmlRenderer.PdfSharp.PdfGenerator.GeneratePdf()时;我的PDF空白了。编辑:我认为它不是渲染样式,但我不确定如何解决它。我们使用.xsl类来设置HTML样式,而GeneratePDF();函数期望传递给CSS类,或者它使用默认的W3样式。从理论上讲,它应该可行,因为无论如何样式都是内联的(请参阅下面附带的HTML示例)。
来源:PDFGenerator
我尝试将HTML直接渲染为PDF,并将HTML渲染为位图图像,然后再渲染为PDF。
PdfDocument pdf = PdfGenerator.GeneratePdf(faxBody, PageSize.Letter,20,null,null,null);
string path = HostingEnvironment.MapPath("~/App_Data/mytestpdf.pdf");
pdf.Save(path);
和/或
PdfDocument pdf = PdfGenerator.GeneratePdf(faxBody, PageSize.Letter,20,null,null,null);
Bitmap bitmap = new Bitmap(1200, 1800);
PdfPage page = new PdfPage();
XImage img = XImage.FromGdiPlusImage(bitmap);
pdf.Pages.Add(page);
XGraphics xgr = XGraphics.FromPdfPage(pdf.Pages[0]);
xgr.DrawImage(img, 0, 0);
string path = HostingEnvironment.MapPath("~/App_Data/mytestpdf.pdf");
pdf.Save(path);
我从另一个Stackoverflow线程中获取了第二个片段来尝试。我得到相同的结果:空白PDF。字符串" faxBody"肯定包含HTML。
如果我在立即窗口:
中运行此功能pdf.Save(HostingEnvironment.MapPath("~/App_Data/mytestpdf.pdf"));
我明白了:
"表达式已经过评估,没有任何价值。"
PDF:mytestpdf.pdf
HTML字符串:HTMLsample