2017-09-21 19 views
1

私のプロジェクトのダッシュボードの統計に取り組んでいます。C3jsを使用してダッシュボードにチャートを追加していますが、すべて正常に動作します。C3JSのチャートを含むRotativaを使ってPDFを生成する方法Asp.net

しかし、Rotativa Pluginとwkhtmltopdfを使用してこのダッシュボードのpdfを生成したいが、正しく動作しないときは、データ付きpdfを生成するが、グラフは表示しない。

コンファレンスアプリケーション:

サーバー側:ASP.Net MVC5

クライアント側:Javascriptを、Rotativa、C3js

答えて

0

私の似たような状況で、私がことがわかりましたRotivaは外出していないし、私の含まれているファイルをすべて取得していない、および/または時間がかかりすぎていた。

私は重要なことを決め、それをインラインで必要なものすべてを含む「静的レイアウト」に入れました。これには、正しくレンダリングする必要があるCSSファイルや、含まれるjavascriptファイルが含まれます。これらのファイルに移動すると、この静的レイアウトでその内容をコピーしてスタイルまたはスクリプトタグに貼り付けることができます。これで、Rotativaは移動して取得することなくこれらのペイロードを保持します。

//Layout Static 
@{ 
    Layout = null; 
} 
<!DOCTYPE html> 
<html> 
    <head> 
     <title>@ViewBag.Title</title> 
     <meta charset="utf-8" /> 

     <style type="text/css"> 
      body { 
       color: white; 
      } 
      /*Whatever style info needed*/ 
     </style> 

     <script type="text/javascript"> 
      /*Whatever code needed*/ 
     </script> 
    </head> 
    <body> 
     <div class="container"> 
      @RenderBody() 
     </div> 
    </body> 
</html> 

私はちょうどビューをエクスポートrotivaのための私の標準的なレイアウトを置き換えるレイアウトにこれを置きます。

次に、私はこの静的レイアウトを使用したPDF出力のrotativaのビューのコピーを作成しました。

@model SomeModel 
@{ 
    ViewBag.Title = "Some Title"; 
    Layout = "~/Views/Shared/_LayoutStatic.cshtml"; 
} 
+0

ありがとうございますが、本当に私はあなたの提案を理解できませんでした。より詳しく説明してください、 –

関連する問題