我通过nuget安装了Rotativa,以便将我的mvc视图呈现为pdf文档。效果很好:)
这是项目的样子。
-Core
-Model
-WebMvc
--/Rotativa
--/various_dlls...
我想将其分解并将Rotativa移至另一个名为Core的项目。但是,当我这样做时,由于Rotativa文件夹必须在我的WebMvc项目中,因此会出现错误 有什么办法可以让Rotativa在Core项目中工作吗?
-Core
--/Rotativa
--/various_dlls...
-Model
-WebMvc
谢谢!
答案 0 :(得分:1)
使用Rotativa.1.6.1,我能够将'Rotativa'文件夹完全移出我的项目之外。移入您的Core项目应该适用相同的逻辑。
在MVC方法中,请务必设置路径,否则库将找不到wkhtmltopdf.exe
。
ActionAsPdf result = new ActionAsPdf("Index");
result.WkhtmltopdfPath = @"C:\path\Rotativa";
答案 1 :(得分:0)
不漂亮,但这是一个解决方案。
在appSettings下的Web.config中
<add key="WkhtmltopdfPath" value="[path to wkhtmltopdf.exe]"/>
然后在转换中的WkhtmltopdfDriver.cs(字符串wkhtmltopdfPath,字符串开关,字符串html)
string s = System.Web.Configuration.WebConfigurationManager.AppSettings["WkhtmltopdfPath"].ToString();
if (!String.IsNullOrEmpty(s)) {
wkhtmltopdfPath = s;
}
这将覆盖默认路径。