2017-05-26 64 views
0

我正在使用Rotativa資源在MVC ASP.NET項目上從我的HTML頁面創建PDF文件。這裏是我的代碼 ...........將Rotativa HTML轉換爲ASP.NET MVC上的PDF?

[HttpGet] 
public ActionResult DownloadCertificate() 
{ 
    return View(); 
} 

public ActionResult DownloadViewPDF() 
{ 
    return new Rotativa.ViewAsPdf("DownloadCertificate") { FileName = "TestViewAsPdf.pdf" }; 
} 

priblem是它不產生我的願望觀點對它的pdf.instate其產生我的主頁PDF ..

我的看法爲ActionResult DownloadCertificate()行動=>

@{ 
     ViewBag.Title = "DownloadCertificate"; 
     Layout = ""; 
    } 
    <html> 
    <head id="Head1"> 
     <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" /> 
     <title> 
      Krogarna.se Certificate 
     </title> 
     <style type="text/css" media="print"> 
      { 
       left: 0px !important; 
       width: 11in !important; 
       height: 8.5in !important; 
       font-size: 107% !important; 
      } 
     </style> 

     <style type="text/css" media="all"> 
      #top { 
       height: 100%; 
      } 

      #position_me { 
       left: 0; 
      } 

      .SlideBackGround { 
       height: 650px; 
       width: 880px; 
       position: fixed; 
       margin: 10px 10px 10px 10px; 
       background-color: white; 
       background-image: url(http://dotnet.ondev.com/ft63/content/sections/certificates/upload/krogarnase/frame.png); 
       background-size: 880px 650px; 
       background-repeat: no-repeat; 
       z-index: 2; 
       filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://dotnet.ondev.com/ft63/content/sections/certificates/upload/krogarnase/frame.png',sizingMethod='scale'); 
       -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='frame.png',sizingMethod='scale')"; 
      } 

      .MiddlePart { 
       height: 170px; 
       width: 670px; 
       position: fixed; 
       left: 125px; 
       top: 80px; 
       background-image: url(http://dotnet.ondev.com/ft63/content/sections/certificates/upload/krogarnase/middle_part.png); 
       background-size: 670px 170px; 
       background-repeat: no-repeat; 
       z-index: 5; 
       filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://dotnet.ondev.com/ft63/content/sections/certificates/upload/krogarnase/middle_part.png',sizingMethod='scale'); 
       -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='middle_part.png',sizingMethod='scale')"; 
      } 

      .Seal { 
       height: 90px; 
       width: 90px; 
       position: fixed; 
       left: 415px; 
       top: 420px; 
       background-image: url(http://dotnet.ondev.com/ft63/content/sections/certificates/upload/krogarnase/sigill.png); 
       background-size: 90px 90px; 
       background-repeat: no-repeat; 
       z-index: 5; 
       filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://dotnet.ondev.com/ft63/content/sections/certificates/upload/krogarnase/sigill.png',sizingMethod='scale'); 
       -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='sigill.png',sizingMethod='scale')"; 
      } 

      .Ribbon { 
       width: 60px; 
       height: 90px; 
       position: fixed; 
       left: 435px; 
       top: 520px; 
       background-image: url(http://dotnet.ondev.com/ft63/content/sections/certificates/upload/krogarnase/band.png); 
       background-size: 60px 90px; 
       background-repeat: no-repeat; 
       z-index: 5; 
       filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://dotnet.ondev.com/ft63/content/sections/certificates/upload/krogarnase/band.png',sizingMethod='scale'); 
       -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='band.png',sizingMethod='scale')"; 
      } 

      .Signature { 
       width: 180px; 
       height: 90px; 
       position: fixed; 
       left: 582px; 
       top: 517px; 
       background-image: url(http://dotnet.ondev.com/ft63/content/sections/certificates/upload/krogarnase/signature.png); 
       background-size: 180px 90px; 
       background-repeat: no-repeat; 
       z-index: 11; 
       filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://dotnet.ondev.com/ft63/content/sections/certificates/upload/krogarnase/signature.png',sizingMethod='scale'); 
       -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='signature.png',sizingMethod='scale')"; 
      } 

      .DateLine { 
       width: 300px; 
       position: fixed; 
       left: 112px; 
       top: 570px; 
       z-index: 11; 
      } 

      .ExaminerLine { 
       width: 300px; 
       position: fixed; 
       left: 500px; 
       top: 570px; 
       z-index: 11; 
      } 

      .ExaminerText { 
       width: 270px; 
       position: fixed; 
       left: 632px; 
       top: 585px; 
       color: #8B7B67; 
       z-index: 11; 
      } 

      .DateText { 
       width: 270px; 
       position: fixed; 
       left: 232px; 
       top: 585px; 
       z-index: 11; 
       color: #8B7B67; 
      } 

      .ParagraphSmall { 
       height: 200px; 
       width: 500px; 
       position: fixed; 
       left: 200px; 
       top: 350px; 
       font-size: 13px; 
       text-align: center; 
       z-index: 11; 
       color: #8B7B67; 
      } 

      .ParagraphMedium { 
       height: 200px; 
       width: 420px; 
       position: fixed; 
       left: 240px; 
       top: 260px; 
       font-size: 14px; 
       text-align: center; 
       z-index: 11; 
       color: #8B7B67; 
      } 

      .HeadingLarge { 
       height: 200px; 
       width: 600px; 
       position: fixed; 
       left: 330px; 
       top: 130px; 
       font-size: 66px; 
       z-index: 11; 
       color: #8B7B67; 
      } 

      .MiddleLine { 
       width: 720px; 
       position: fixed; 
       left: 100px; 
       top: 330px; 
       z-index: 11; 
       color: #8B7B67; 
      } 

      .StudentName { 
       font-weight: bold; 
       height: 200px; 
       width: 720px; 
       position: fixed; 
       left: 100px; 
       top: 310px; 
       font-size: 18px; 
       text-align: center; 
       z-index: 11; 
       color: #8B7B67; 
      } 

      .CompletionDate { 
       position: fixed; 
       left: 225px; 
       top: 555px; 
       z-index: 11; 
       color: #8B7B67; 
       text-align: center; 
      } 
     </style> 
    </head> 

    <body> 
     <div class="SlideBackGround"> 
     </div> 

     <div class="MiddlePart"> 
     </div> 

     <div class="HeadingLarge">Kursintyg</div> 

     <div class="ParagraphMedium"> 
      HÄRMED INTYGAS 
      ATT NEDANSTÅENDE PERSON KLARAT UTBILDNINGEN 
      SERVERINGSTILLSTÅND 
     </div> 
     <div class="ParagraphSmall"> 
      Ni har visat prov på förståelse och kunnighet inom området alkoholservering. De 4 delar 
      som avhandlats är: alkoholpolitik, tillsyn, servering samt mat, lokal och utrustning. Ni har 
      efter denna utbildning de teoretiska kunskaper som krävs för att servera alkoholhaltiga 
      drycker. 
     </div> 

     <div class="Seal"></div> 

     <div class="Ribbon"></div> 

     <hr class="DateLine" /> 

     <hr class="ExaminerLine" /> 

     <hr class="MiddleLine" /> 

     <div class="DateText">Datum</div> 

     <div class="ExaminerText">Examiner</div> 

     <div class="Signature"></div> 

     <div id="CompletionDatePanel" class="CompletionDate"> 

      <span id="CompletionDateLabel">1/1/2014</span> 

     </div> 

     <div id="StudentNamePanel" class="StudentName"> 

      <span id="StudentNameLabel">John Doe</span> 

     </div> 

    </body> 
    </html> 

現在instate上述看法的創建PDF它生成我的家(登錄)查看..cant任何意義,爲什麼...

enter image description here 如果有誰可以幫助我這個,或者可以給我任何提示如何擺脫這一點。或者爲什麼我做錯了。這將是greatfull.thanks提前.....

+0

你怎麼稱呼DownloadAsPDF? – User3250

+0

檢查您是否有任何授權過濾器導致它進入登錄頁面 – Krishna

+0

我遇到同樣的問題。希望有人能幫助 –

回答

0

也許Rotativa是作爲一個不同的登錄到應用程序,因此,當Rotativa試圖顯示的頁面生成pdf,asp.mvc告訴使用用戶的身份驗證並重定向到主頁。

爲了避免這個問題,你必須autorize所有用戶excecute動作:

[Authorize] 
[HttpGet] 
public ActionResult DownloadCertificate() 
{ 
    return View(); 
}