有没有办法将rotativa完全移出我的mvc项目?

时间:2014-03-06 03:11:30

标签: asp.net-mvc-5 rotativa

我通过nuget安装了Rotativa,以便将我的mvc视图呈现为pdf文档。效果很好:)

这是项目的样子。

-Core 
-Model
-WebMvc
--/Rotativa
--/various_dlls...

我想将其分解并将Rotativa移至另一个名为Core的项目。但是,当我这样做时,由于Rotativa文件夹必须在我的WebMvc项目中,因此会出现错误 有什么办法可以让Rotativa在Core项目中工作吗?

-Core 
--/Rotativa
--/various_dlls...
-Model
-WebMvc

谢谢!

2 个答案:

答案 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;
}

这将覆盖默认路径。