PdfSharp.HtmlRenderer不会填充我的PDF

时间:2016-12-15 05:55:21

标签: c# html xml pdf xslt

使用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

0 个答案:

没有答案