我在其中一个项目上处理dashaboard统计信息,并且我使用C3js将图表添加到我的信息中心,并且一切正常,
但是当我想使用Rotativa Plugin和wkhtmltopdf生成此仪表板的pdf时,但它不能正常工作,它会生成带有数据但不显示图表的pdf。
加密应用
服务器端:ASP.Net MVC5
客户端:Javascript,Rotativa,C3js
答案 0 :(得分:0)
在我类似的情况下,我发现Rotiva没有出去拿我所有的文件,和/或花了太长时间。
所以我决定了什么是至关重要的,并把它放到一个“静态布局”中,其中包含我需要内联的所有东西。这可能包括您需要正确呈现的CSS文件或您包含的javascript文件。如果您转到这些文件,您可以将其内容复制并粘贴到此静态布局中的样式或脚本标记中,现在Rotativa将拥有这些有效负载而无需去获取它们。
//Layout Static
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<meta charset="utf-8" />
<style type="text/css">
body {
color: white;
}
/*Whatever style info needed*/
</style>
<script type="text/javascript">
/*Whatever code needed*/
</script>
</head>
<body>
<div class="container">
@RenderBody()
</div>
</body>
</html>
我把它放到一个布局中,替换了我的标准布局,仅用于rotiva导出视图。
然后,我制作了rotativa PDF输出视图的副本,它使用了这种静态布局。
@model SomeModel
@{
ViewBag.Title = "Some Title";
Layout = "~/Views/Shared/_LayoutStatic.cshtml";
}