2017-09-21 8 views
1

내 프로젝트에서 dashaboard 통계 작업을하고 C3js를 사용하여 대시 보드에 차트를 추가하면 모두 정상적으로 작동합니다.C3JS에서 차트를 포함하여 Rotativa로 PDF를 생성하는 방법 Asp.net

하지만 Rotativa Plugin 및 wkhtmltopdf를 사용하여이 대시 보드의 pdf를 생성하려고하지만 제대로 작동하지 않으면 데이터가 포함 된 pdf가 생성되지만 차트는 표시되지 않습니다.

컨퍼런스 응용 프로그램 :

서버 측 : ASP.Net MVC5는

클라이언트 측 : 자바 스크립트, 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> 

내보기를 내보내는보기를 위해 내 표준 레이아웃을 대신하는 레이아웃에 넣습니다.

그런 다음이 정적 레이아웃을 사용하는 rotativa PDF 출력에 대한 뷰 사본을 만들었습니다.

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

고마워요.하지만 정말로 제 제안을 이해하지 못했습니다. 제발 좀 더 설명해 주시겠습니까? –