2015-11-02 45 views
0

我試圖創建一個由編輯CSHTML查看頁面保存爲PDF

  1. 編輯CSHTML視圖頁面

然後

Web應用程序
  • 保存編輯的內容爲PDF一旦我按一下按鈕
  • 所以這是整個CSHTML視圖頁面,

     @model IEnumerable<int> 
    
         @{ 
          ViewBag.Title = "Create Template"; 
         } 
         <!DOCTYPE html> 
         <html> 
         <head> 
          <title>Create a Template</title> 
         </head> 
         <body> 
            <div id='template'> 
             <h1 contentEditable='True'>Product Name</h1> 
             <div > 
              <h2 contentEditable='True'>Product Description</h2>  
              <p contentEditable='True'>London is the capital city of England.</p> 
             </div> 
            </div> 
    
          <button id="btn_sumbit" type="button" class="btn btn-danger submit">Save as PDF</button> 
    
         </body> 
         </html> 
    
         @section Scripts { 
    
          @Scripts.Render("~/bundles/jqueryval") 
          @Scripts.Render("~/bundles/jqueryui") 
    
          <script type="text/javascript"> 
    
           $('#btn_sumbit').on('click', function() { 
    
            var div_value = document.getElementById('template').innerHTML; 
    
            RazorPDF.PdfResult(div_value, "PDF"); 
           }); 
    
          </script> 
    
         } 
    

    我使用RazorPDF做這個任務,但一旦我點擊這個按鈕,它不保存爲PDF

    我可以編輯這個CSHTML查看頁面,我想將最終編輯的內容保存爲pdf(這是動態視圖)

    回答

    1

    我認爲你做錯了。 「RazorPDF.PdfResult(...)」行不在視圖中。

    觀看此視頻:http://nyveldt.com/blog/post/Introducing-RazorPDF 它應該讓您更清楚地瞭解RazorPDF中的工作方式。

    編輯:

    只需創建一個控制器方法,即基於參數生成的PDF查看。

    public ActionResult Pdf(string name, string description) { 
        var product = new Product(); 
        product.Name = name; 
        product.Description = description; 
    
        var pdfResult = new PdfResult(product, "Pdf"); 
    
        return pdfResult; 
    } 
    

    當然,您需要創建一個包含信息的Product-Class。

    在你的JavaScript一部分,你可以這樣寫:

    location.href = @Url.Action("Pdf", "Controllername") + "?name=" + name + "&description=" + description; 
    

    希望這將產生你可以在Javascript中一個鏈接。名稱和描述是Javascript變量,用於保存用戶鍵入的信息。

    你明白嗎?我的方法是根據可編輯視圖的信息以不同的視圖(如該視頻中)生成PDF內容。

    告訴我,如果它的工作。 ;-)

    +0

    如何在腳本里面觸發那個呢? – kez

    +0

    如何在腳本內觸發轉換爲PDF方法呢? – kez

    +0

    對控制器方法使用Ajax-Call。嘗試重新考慮你的設計。調用PDF中的方法,就像使用Javascript中的視頻一樣。給出該PDF-Method參數,告訴它PDF應該如何。最重要的是:在問更多問題之前,谷歌和先考慮。 SO的目標不是取代谷歌。 – itmuckel