2014-03-06 61 views
2

我通過nuget安裝了Rotativa,以便將我的mvc視圖呈現爲pdf文檔。偉大的作品:)有沒有辦法將rotativa完全移出我的mvc項目?

這是項目的樣子。

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

我想分解它並將Rotativa移動到另一個名爲Core的項目。但是,當我這樣做時,由於Rotativa文件夾必須位於我的WebMvc項目中,因此出現錯誤 有什麼可以使Rotativa在Core項目中工作的嗎?

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

謝謝!

回答

0

不漂亮,但這裏有一個解決方案。

在你的Web.config下的appSettings

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

這將覆蓋默認路徑。

1

使用Rotativa.1.6.1,我能夠將'Rotativa'文件夾完全移到我的項目之外。應該適用於進入Core項目的相同邏輯。

在你的MVC方法中,一定要設置路徑,否則庫不會找到wkhtmltopdf.exe

 ActionAsPdf result = new ActionAsPdf("Index"); 
     result.WkhtmltopdfPath = @"C:\path\Rotativa"; 
相關問題