Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为使用Rotativa生成动态内容的PDF生成页脚_C#_Html_Jquery_Css_Rotativa - Fatal编程技术网

C# 如何为使用Rotativa生成动态内容的PDF生成页脚

C# 如何为使用Rotativa生成动态内容的PDF生成页脚,c#,html,jquery,css,rotativa,C#,Html,Jquery,Css,Rotativa,我正在生成一份pdf,我的雇主要求我在pdf中的每一页都添加一个页脚。使用Rotativa生成pdf,html页面将转换为pdf。 我唯一的问题是,我该怎么做。我想了一些想法,简单的css代码,虽然有足够多的选项,但没有一个真正适合我。特别是因为我可以有1页,也可以有10页,这取决于必须放在上面的信息量 因此页脚必须对生成的页数做出响应。 有人对我有什么想法吗?我真的很想解决这个问题,但我就是不知道该怎么做 问候 Lorenzo Otto如果我没有误解您的问题,您可以简单地使用HTML页面作为页

我正在生成一份pdf,我的雇主要求我在pdf中的每一页都添加一个页脚。使用Rotativa生成pdf,html页面将转换为pdf。

我唯一的问题是,我该怎么做。我想了一些想法,简单的css代码,虽然有足够多的选项,但没有一个真正适合我。特别是因为我可以有1页,也可以有10页,这取决于必须放在上面的信息量

因此页脚必须对生成的页数做出响应。

有人对我有什么想法吗?我真的很想解决这个问题,但我就是不知道该怎么做

问候
Lorenzo Otto

如果我没有误解您的问题,您可以简单地使用HTML页面作为页脚来显示页脚,使用一些javascript来显示当前页面和总页数。事实上,我将这种方法用于几个使用Rotativa的web应用程序,这些应用程序基于MVC视图生成具有动态内容的PDF文件

假设我们创建一个Footer.html(在这里使用您喜欢的名称),这可能是PDF页脚的html文件,包括生成页码信息的javascript代码:

<!DOCTYPE html>

<html>
<head>
    <script>
        function subst() {
            var vars = {};
            var x = window.location.search.substring(1).split('&');
            for (var i in x) { var z = x[i].split('=', 2); vars[z[0]] = unescape(z[1]); }
            var x = ['frompage', 'topage', 'page', 'webpage', 'section', 'subsection', 'subsubsection'];
            for (var i in x) {
                var y = document.getElementsByClassName(x[i]);
                for (var j = 0; j < y.length; ++j) y[j].textContent = vars[x[i]];
            }
        }
    </script>
</head>

<body onload="subst()">
    <div style="font-family: Helvetica; font-size:0.75rem; text-align: right; width:100%;">
        <span class="page"></span> / <span class="topage"></span>
    </div>
</body>

</html>
因此,如果您正在使用MVC操作基于名为MyPdfView.cshtml的视图生成PDF,您可以将ViewAsPdf的uso设置为自定义开关,如下所示:

return new ViewAsPdf("MyPdfView")
{
    FileName = "MyPdfView.pdf",
    CustomSwitches = customSwitches
};

就这些。请让我知道这是否对你有用。

?@John很确定它过时了,不再有效。注意。这次我的谷歌Fu不够强大-(非常感谢,它看起来和我几天前找到的一样。
return new ViewAsPdf("MyPdfView")
{
    FileName = "MyPdfView.pdf",
    CustomSwitches = customSwitches
};