问题标签 [rotativa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
809 浏览

asp.net-mvc - MVC 4 和 Rotativa HTML 到 PDF 封面问题

我在 MVC 4 中使用 Rotative。我已经为创建页眉、页脚和封面实现了自定义色板。
我的海关手表低于代码

我的 PDF 没有正确生成。封面页在顶部插入了一些空间,我怀疑这是因为页眉。如果我从标题中删除标题的 html,Cover 似乎工作得很好,并且从顶部开始。

我可以理解封面不能有页眉和页脚,这就是我实现封面的原因。但仍然存在一些问题。如果我可以在生成实际 PDF 之前获得完整的 HTML,那么我可以调试问题出在哪里。

在获取带有页眉和页脚等的实际 PDF 之前,有什么方法可以获取完整的 HTML?

0 投票
0 回答
458 浏览

wkhtmltopdf - wkhtmltopdf 或 rotativa PDF 文档安全性

我们如何设置文档安全性?即如何在生成pdf之前或之后进行以下所有/一些更改以禁止,可供下载?

在此处查看图片以了解详细信息。http://i.stack.imgur.com/6rnNw.png

0 投票
3 回答
3018 浏览

c# - 使用 Rotativa 会导致“无法加载文件或程序集”错误

我正在尝试在 MVC 应用程序(使用 Visual Studio 下载 NuGet 包)中使用 Rotativa 将视图打印到 PDF,但每当调用该方法时,我都会收到“无法加载文件或程序集”错误。我尝试在网上寻找解决方案,但找不到合适的解决方案。以下是错误的完整堆栈跟踪:

“/”应用程序中的服务器错误。

无法加载文件或程序集“System.Web.Mvc,Version=3.0.0.1,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.IO.FileLoadException:无法加载文件或程序集“System.Web.Mvc,Version=3.0.0.1,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

源错误:

第 48 行:“ViewOrder”,第 49 行:new { id = id }) { FileName = "Order.pdf" }; 第 50 行:} 第 51 行:第 52 行:[HttpGet]

源文件:c:\Users\André\Documents\WAD\Assignment1\7-10-2015\Controllers\OrdersController.cs 行:50

程序集加载跟踪:以下信息有助于确定为什么无法加载程序集“System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35”。

=== 预绑定状态信息 === LOG: DisplayName = System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35 (完全指定) LOG: Appbase = file:///C: /Users/André/Documents/WAD/Assignment1/7-10-2015/ LOG:Initial PrivatePath = C:\Users\André\Documents\WAD\Assignment1\7-10-2015\bin 调用程序集:Rotativa,版本=1.0 .0.0,文化=中性,PublicKeyToken=null。=== LOG:此绑定在默认加载上下文中开始。LOG:使用应用程序配置文件:C:\Users\André\Documents\WAD\Assignment1\7-10-2015\web.config LOG:使用主机配置文件:C:\Users\André\Documents\IISExpress\config\aspnet .config LOG:使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config 中的机器配置文件。LOG:后策略参考:System.Web.Mvc,Version=3.0.0.1,Culture=neutral, PublicKeyToken=31bf3856ad364e35 日志:尝试下载新的 URL 文件:///C:/Users/André/AppData/Local/Temp/Temporary ASP.NET Files/root/66e12f45/a5c0a521/System.Web.Mvc。动态链接库。日志:尝试下载新的 URL 文件:///C:/Users/André/AppData/Local/Temp/Temporary ASP.NET Files/root/66e12f45/a5c0a521/System.Web.Mvc/System.Web.Mvc.DLL . 日志:正在尝试下载新的 URL 文件:///C:/Users/André/Documents/WAD/Assignment1/7-10-2015/bin/System.Web.Mvc.DLL。警告:比较程序集名称导致不匹配:主要版本错误:无法完成程序集设置(hr = 0x80131040)。探测终止。正在尝试下载新的 URL 文件:///C:/Users/André/AppData/Local/Temp/Temporary ASP.NET Files/root/66e12f45/a5c0a521/System.Web.Mvc/System.Web.Mvc.DLL。日志:正在尝试下载新的 URL 文件:///C:/Users/André/Documents/WAD/Assignment1/7-10-2015/bin/System.Web.Mvc.DLL。警告:比较程序集名称导致不匹配:主要版本错误:无法完成程序集设置(hr = 0x80131040)。探测终止。正在尝试下载新的 URL 文件:///C:/Users/André/AppData/Local/Temp/Temporary ASP.NET Files/root/66e12f45/a5c0a521/System.Web.Mvc/System.Web.Mvc.DLL。日志:正在尝试下载新的 URL 文件:///C:/Users/André/Documents/WAD/Assignment1/7-10-2015/bin/System.Web.Mvc.DLL。警告:比较程序集名称导致不匹配:主要版本错误:无法完成程序集设置(hr = 0x80131040)。探测终止。

堆栈跟踪:

[FileLoadException:无法加载文件或程序集“System.Web.Mvc,版本=3.0.0.1,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT 异常:0x80131040)]
_7_10_2015.Controllers.OrdersController.PrintOrder(Int32 id) 在 c:\Users\André\Documents\WAD\Assignment1\7-10-2015\Controllers\OrdersController.cs:50 lambda_method(Closure , ControllerBase , Object[] ) +161
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase 控制器, Object[] 参数) +59
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary 2 参数) +602 parameters) +435
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary

System.Web.Mvc.Async.ActionInvocation.InvokeSynchronousActionMethod() +76 System.Web.Mvc.Async.AsyncControllerActionInvoker.b__36(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +36
System.Web.Mvc.Async.WrappedAsyncResult 1.End() + 136 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, 对象标记) +102 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +49 System.Web.Mvc.Async.AsyncInvocationWithFilters.b__3c( ) +117 System.Web.Mvc.Async.<>c__DisplayClass45.b__3e() +323 System.Web.Mvc.Async.<>c__DisplayClass30.b__2f(IAsyncResult asyncResult) +44 System.Web.Mvc.Async.WrappedAsyncResult 1。结束()+1362.CallEndDelegate(IAsyncResult asyncResult) +73
System.Web.Mvc.Async.WrappedAsyncResultBase




1.CallEndDelegate(IAsyncResult asyncResult) +47
System.Web.Mvc.Async.WrappedAsyncResultBase

System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +102
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +50
System.Web.Mvc.Async.<>c__DisplayClass28.b__19 () +72 System.Web.Mvc.Async.<>c__DisplayClass1e.b__1b(IAsyncResult asyncResult) +185
System.Web.Mvc.Async.WrappedAsyncResult 1.End() +133 System.Web.Mvc.Async.AsyncResultWrapper.End (IAsyncResult asyncResult,对象标记)+56 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)+40 System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult,ExecuteCoreState innerState)+34 System.Web.Mvc。 Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.WrappedAsyncResultBase




1.CallEndDelegate(IAsyncResult asyncResult) +70
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End() +133
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, 对象标签) +56
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, 对象标签) +37
System.Web .Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44 System.Web.Mvc.Controller.b__15(IAsyncResult asyncResult, Controller controller) +39
System.Web.Mvc.Async.WrappedAsyncVoid 1.End() +133 System.Web. Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +37 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) + 391.CallEndDelegate(IAsyncResult asyncResult) +62
System.Web.Mvc.Async.WrappedAsyncResultBase



System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +39
System.Web.Mvc.MvcHandler.b__4(IAsyncResult asyncResult, ProcessRequestState innerState) +39
System.Web.Mvc.Async .WrappedAsyncVoid 1.End() +133 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +37 System .Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +40 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 结果) +381.CallEndDelegate(IAsyncResult asyncResult) +70
System.Web.Mvc.Async.WrappedAsyncResultBase




System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9721605 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

还有我使用 Rotativa 的 ActionAsPDF 的代码示例:

我真的很感激有人能帮我解决这个问题。

0 投票
4 回答
18553 浏览

c# - Rotativa - ViewAspdf 在服务器上不起作用

我知道这个话题已经在几篇文章中讨论过,但没有一个解决方案对我有帮助。

我有这个动作:

使用上述操作,我正在将视图下载为 pdf,并且一切都在我的计算机上按预期工作。

在服务器上部署项目后,此操作不起作用,返回错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

我正在使用 Visual Studio Community 2015。在服务器上,我有一个Rotativa.dll名为 Rotativa 的根目录中的文件夹,其中的文件名为wkhtmltopdf.exe.

我不知道如何处理这个错误,你能给我一些建议吗?

0 投票
5 回答
6781 浏览

asp.net-mvc-5 - 为什么 Rotativa 总是生成我的登录页面?为什么慢?

我正在使用这个 Rotativa 1.6.4 代码示例从我的 .NET MVC 5 应用程序中的页面生成 PDF。

它不是在打印索引页面,而是在打印我的登录页面。

一旦我解决了身份验证问题,即使使用CustomSwitches. (几分钟)

上面的代码实际上可能对您有用 - 它使用该属性解决了身份验证问题Cookies,但对我来说太慢了。

如何快速打印安全页面?

0 投票
0 回答
223 浏览

c# - LINQ 搜索后生成 Rotativa PDF

我正在使用 MVC 4 并使用 rotativa PDF 从视图中生成 pdf。问题是有问题的视图是 LINQ 搜索的结果,并且在 pdf 中它没有出现数据。

这是用户用他想要搜索的内容填充框的地方:

第一的

在他单击“Pesquisar”(搜索)后,将创建此视图:

第二

但是当生成pdf时,它不显示任何数据。

我能做什么或错误是什么?编码:

控制器(LINQ 代码有效):

意见:

搜索前查看:

0 投票
0 回答
669 浏览

pdf - 如何使用.net mvc 5发送存在于文件夹中的已保存pdf

我正在使用Rotativa。MVC 从视图生成 PDF,因此我可以发送带有 PDF 作为附件的电子邮件。下面的代码就是这样做的:

我的问题是“如何从 C# 代码中获取保存在我的 MVC 应用程序的 Content/Pdf 文件夹中的 PDF 文件,以便我可以以相同的方式将其附加到电子邮件中?” 我曾多次尝试使用文件、流阅读器和HttpContext.Server.MapPath,但没有成功。使用MapPath选项只是在电子邮件中有一个我无法打开的文本文档。

0 投票
1 回答
584 浏览

c# - C# Rotativa ActionAsPDF 从右到左改变文本方向

我使用 Rotativa.ActionAsPdf 将 View 转换为 Pdf 效果很好,但是问题是如何从右到左更改文本方向?

这是我的代码:

0 投票
2 回答
5436 浏览

.net - Rotativa pdf 部署到服务器上的 IIS 后无法正常工作

我在我的 asp.net mvc 网站上使用 Rotativa 将 html 转换为 pdf。它在本地运行良好,但是在我在服务器上部署后,它只返回一个文本“Rotativa.ViewAsPdf”,这是我在 C# 代码中调用的方法名称。没有异常/错误,日志和事件查看器中没有任何内容。

我已授予 wkhtmltodf.exe 的完全权限,Rotativa 文件夹也是如此。bin 目录中还存在 Rotativa.dll。另外,我已经在服务器上安装了 MSCVP120.dll,但我无法弄清楚可能是什么问题。请帮忙。

0 投票
1 回答
635 浏览

asp.net-mvc - Webgrid 在 MVC 应用程序中使用 Rotativa 导出为 PDF

我正在使用 Rotativa 库将包含 100 条记录的 Webgrid 导出到 PDF 中。我能够成功地将数据导出到 PDF,但问题是由于他的网格包含如此多的记录,因此 pdf 在每一页上都有列标题。因此,列标题与 PDF 每一页中的列内容重叠。我只想在 pdf 的第一页上使用列标题,而不是在每一页上。

部分视图(_Report.cshtml)如下:

控制器代码是:

以下是PDF第二页的截图:

pdf第2页的标题

它发生在 PDF 的每一页上。

任何人都可以帮助我只在第一页而不是在 PDF 的每一页上设置列标题,或者如果他们有任何其他方式来设置要导出为 PDF 的内容的样式。提前致谢。