我正在使用Select.HtmltoPdf。 下面是我的代码:
var directory = @"D:\Folder\";
html = html.Replace("/Content", HttpContext.Request.Url.GetLeftPart(UriPartial.Authority) + HttpContext.Request.ApplicationPath + "/Content");
var filePath = directory + Guid.NewGuid() + ".pdf";
var converter = new HtmlToPdf(1536,1536);
converter.Options.EmbedFonts = false;
converter.Options.ExternalLinksEnabled = true;
converter.Options.InternalLinksEnabled = true;
converter.Options.KeepTextsTogether = false;
converter.Options.KeepImagesTogether = false;
converter.Options.JavaScriptEnabled = true;
var pdf = converter.ConvertHtmlString(html, Request.Url.Scheme + "://" + Request.Url.Authority +
Request.ApplicationPath.TrimEnd('/') + "/");
pdf.Save(filePath);
我的css在Content / Site.css上 要获取html,我只需使用$(" #printpage")。html();然后通过Scripts / xx / custom / common.js上的ajax调用将其传递给控制器。问题是它看起来与浏览器上看的方式不同。没有css被装载。我如何使用select.htmltopdf来渲染css?或者,如果有任何其他可用的包可以做同样的事情。感谢
答案 0 :(得分:1)
解决了我的问题:
因为我只在页面中获得某个div的.html,所以html的html,head,body部分都不包括在内。
我所做的是连接它们并通过
使用css<link rel="stylesheet">.....
<link rel="stylesheet">
.....并添加必要的标签
答案 1 :(得分:0)
我使用css打印所有页面的内容是:
在头上:
<script language="Javascript">
function print(){window.print();}
</script>
要打印:
<a href="javascript:window.print()" class="btn_result" >
Print
</a>
如果我不想要印刷某些东西,我会这样:
@media print {
.print_invisible{display:none;}
}
display:none
或visibily:hidden
,视情况而定。