2015-01-21 126 views
2

我一直在試圖將我的html頁面保存爲pdf格式。我正在使用ephtmltopdf。它存儲我的PDF文件,但表錯過了。現在我對如何解決這個問題沒有太多的想法。我的C#代碼是:html to pdf conversion using ephtmltopdf

  string url = "http://localhost:50306/ColumnChart.aspx"; 
      string path = "d:\\"; 
      string downloadName = path + "/" + "Student" + "-Registration_Form.pdf"; 
      SizeF sf = new SizeF(); 
      sf.Height = (float)635;//635;900 
      sf.Width = (float)816;//8161000 

      PdfConverter pdfConverter = new PdfConverter(); 
      pdfConverter.PageWidth = 816; //8161000 
      pdfConverter.PdfDocumentOptions.TopMargin = 50; 
      pdfConverter.PdfDocumentOptions.BottomMargin = 105; 
      pdfConverter.PdfDocumentOptions.GenerateSelectablePdf = true; 
      pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.Letter; 
      pdfConverter.PdfDocumentOptions.CustomPdfPageSize = sf;//new SizeF(595, 842); 
      pdfConverter.PdfDocumentOptions.PdfCompressionLevel = PdfCompressionLevel.Normal; 
      pdfConverter.PdfDocumentOptions.ShowHeader = false; 
      pdfConverter.PdfDocumentOptions.ShowFooter = false; 
      pdfConverter.PdfDocumentOptions.PdfPageOrientation = PDFPageOrientation.Portrait; 
      pdfConverter.PdfDocumentOptions.FitWidth = false; 
      pdfConverter.PdfDocumentOptions.EmbedFonts = true; 
      pdfConverter.PdfDocumentOptions.ShowFooter = false; 
      pdfConverter.PdfDocumentOptions.ShowHeader = false; 


      pdfConverter.SavePdfFromUrlToFile(url, downloadName); 

      Response.ContentType = "application/pdf"; 
      Response.AppendHeader("Content-Disposition", "attachment; filename=Student-Registration_Form.pdf"); 
      Response.TransmitFile("d:\\Student-Registration_Form.pdf"); 
      Response.End(); 

而我的HTML代碼爲:

<table > 
     <tr> 
      <td style="vertical-align: text-top;"> 

       <table border="1" id="CompleteTimeline"> 
        <tr> 
         <th> 
          Complete<br />Timeline 
         </th> 
         <th> 
          Time 
         </th> 
        </tr> 
       </table> 
      </td> 
      <td style="vertical-align: text-top;"> 
       <table border="1" id="PlayBackTable"> 
        <tr> 
         <th> 
          Play<br />Back Id 
         </th> 
         <th> 
          Duration 
         </th> 
         <th> 
          Start Time 
         </th> 
         <th> 
          End Time 
         </th> 
        </tr> 
       </table> 
      </td> 
      <asp:Button ID="button" Text="click" runat="server" OnClick="b1_click" /> 
      <td style="vertical-align: text-top;"> 
       <table border="1" id="MissingStartEnd"> 
        <tr> 
         <th> 
          Missing<br />Start 
         </th> 
         <th> 
          Time 
         </th> 
         <th> 
          Missing<br />End 
         </th> 
         <th> 
          Time 
         </th> 
        </tr> 
       </table> 
      </td> 
      <td style="vertical-align: text-top;"> 
       <table border="1" id="UnmatchedRegions"> 
        <tr> 
         <th> 
          Unmatched<br />Time 
         </th> 
         <th> 
          Duration 
         </th> 
        </tr> 
       </table> 
      </td> 
     </tr> 
    </table> 

PLZ幫我解決這個問題。對於建議

回答

1

希望請儘量把這個部分

// set the header HTML area 

pdfConverter.PdfHeaderOptions.HtmlToPdfArea = new HtmlToPdfArea("http://localhost:50306/ColumnChart.aspx"); 

許可證密鑰是保密的,有人可能會濫用它。請從這篇文章中刪除它。但請保存在您的代碼中。

+0

評論是不適合擴展討論;這個對話已經[轉移到聊天](http://chat.stackoverflow.com/rooms/69311/discussion-on-answer-by-anand-gangadhara-html-to-pdf-conversion-using-ephtmltopd)。 – Taryn 2015-01-21 14:32:40