【发布时间】:2020-09-01 23:27:05
【问题描述】:
我之前让 Rotativa 使用ViewAsPdf() 函数创建局部视图的 PDF。该函数仍然呈现 PDF 并且数据仍然正确,但是由于某种原因,视图中包含的 CSS 和图像不再生成 PDF。除了使用 win-acme 安装 HTTPS 证书外,我所知道的服务器或 IIS 没有进行任何更改。知道为什么会发生这种情况吗?视图本身可以正常工作并填充图像和 CSS。
.NET Core 项目编译为面向 Windows x64 并且是自包含的(不依赖于具有正确框架的服务器),尽管在服务器上安装了 .NET Core Hosting Bundle。
我已经到处寻找解决方案并尝试过: 重新安装 Visual C++(wkhtmltopdf 依赖于其中的几个 .dll)
下载最新版本的wkhtmltopdf并将.exe放在wwwroot下的Rotativa文件夹中
修改 C:\Windows\System32\drivers\etc\hosts 以取消注释
#localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost
更改了css的链接。目前我已经尝试过:
<link rel="stylesheet" type="text/css" href="/css/cards/cardBase.css" media="screen" />
和
<link rel="stylesheet" type="text/css" href="@Url.Content("~/css/cards/cardBase.css")" media="screen" />
这些都没有解决问题。在它“破坏”之前,对 Url.Content("~pathtocss") 的剃刀语法调用效果很好。
我们甚至启动了另一个虚拟机并从头开始,所有结果都相同。
在这一点上,我遇到了一些想法,应用程序的所有其他方面都可以正常工作。
当我尝试在本地主机上的 Visual Studio 中调试它时,一切正常。这几乎就像是我无法弄清楚的权限问题。
【问题讨论】: