내 비슷한 상황에서 나는 것을 발견 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";
}
고마워요.하지만 정말로 제 제안을 이해하지 못했습니다. 제발 좀 더 설명해 주시겠습니까? –