2017-10-31 28 views
0

ASP.NET CoreでRotativaを使用しようとしましたが、これが私のコードです。ASP.NET CoreでRotativaを使用する

public IActionResult Index(int artID) 
    { 
     var art = articleService.GetArticleForPrint(artID); 
     return View(art); 
    } 

    public IActionResult PrintSpecifcArticle(int id) 
    { 
     var report = new ActionAsPdf("Index", new { artID = id }) 
     { 
      FileName = "Invoice.pdf" 
     }; 
     return report; 
    } 

私は、このパッケージをインストール:Rotativa.NetCore 1.0.4

を、それは私にそのエラーを与える:Rotativa.NetCoreは見つけることができなかったので、

System.ComponentModel.Win32Exception: The system cannot find the file 
specified 
    at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo) 
    at System.Diagnostics.Process.Start() 
    at Rotativa.NetCore.WkhtmlDriver.Convert(String wkhtmlPath, String 
switches, String html, String wkhtmlExe) 
    at Rotativa.NetCore.AsPdfResultBase.WkhtmlConvert(String switches) 
    at Rotativa.NetCore.AsResultBase.BuildFile(ActionContext context) 
    at Rotativa.NetCore.AsResultBase.ExecuteResult(ActionContext context) 
    at Microsoft.AspNetCore.Mvc.ActionResult.ExecuteResultAsync(ActionContext 
context) 
    at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker. 
<InvokeResultAsync>d__30.MoveNext() 
+0

おそらく関連しませんが、なぜあなたは 'View()'の中に 'IActionResult'を返すのですか?あなたは単にアートを返すべきではないでしょうか? –

+0

これは問題ではない、インデックスアクションの実行前にエラーが表示される – mustafa

+0

次に、「Invoice.pdf」が見つからないというエラーが表示されます。 –

答えて

1

エラーがありますPDFファイルを作成するのに必要なファイルがあるフォルダ。

RotativaのフォルダをDebug(デバッグ)フォルダまたはRelease(リリース)フォルダ(構成に応じて)にコピーしていない場合は、それを実行します。あなたの問題を解決しなければなりません。

関連する問題