2012-03-16 72 views
1

我轉換小HTML字符串PDF這樣的:C#讀取html文件,並轉換成PDF格式

// set a path to where you want to write the PDF to. 
string sPathToWritePdfTo = @"path\new_pdf.pdf"; 

System.Text.StringBuilder sbHtml = new System.Text.StringBuilder(); 
sbHtml.Append("<html>"); 
sbHtml.Append("<html>"); 
sbHtml.Append("<body>"); 
sbHtml.Append("<font size='14'> my first pdf</font>"); 
sbHtml.Append("<br />"); 
sbHtml.Append("this is my pdf!!!!"); 
sbHtml.Append("</body>"); 
sbHtml.Append("</html>"); 

// create file stream to PDF file to write to 
using (System.IO.Stream stream = new System.IO.FileStream 
      (sPathToWritePdfTo, System.IO.FileMode.OpenOrCreate)) 
{ 
    // create new instance of Pdfizer 
    Pdfizer.HtmlToPdfConverter htmlToPdf = new Pdfizer.HtmlToPdfConverter(); 

    // open stream to write Pdf to to 
    htmlToPdf.Open(stream); 

    // write the HTML to the component 
    htmlToPdf.Run(sbHtml); 

    // close the write operation and complete the PDF file 
    htmlToPdf.Close(); 

我不知道我可以爲大HTML字符串上面的轉換,而無需使用附加method.I試過這種行:

string sbHtml=File.ReadAllText("mypath/pdf.html"); 

而是這行:

System.Text.StringBuilder sbHtml = new System.Text.StringBuilder(); 

,但它沒有工作,我只好排隊異常:

 htmlToPdf.Run(sbHtml); 

「xmlexception了未處理BU用戶代碼

我還不得不提到的路徑我閱讀HTML文件是從我的電腦! 這不是來自服務器或其他任何東西。我想爲這兩個路徑獲取asnwers。

+2

而你的意思是「它沒有工作」? – 2012-03-16 14:55:24

+0

它是如何失敗?你有例外嗎?如果是這樣,什麼是例外?嘗試完成讀取後,字符串是否爲空?你的HTML有效嗎? – JamieSee 2012-03-16 14:58:13

+0

我有一個exception.you可以看看我編輯後post.Thanks! – Dchris 2012-03-16 15:10:55

回答

0

如果轉換器有串過載,你可以簡單地使用:

htmlToPdf.Run(File.ReadAllText(@"mypath/pdf.html")); 

如果不是僅僅接受的StringBuilder:

System.Text.StringBuilder sbHtml = new System.Text.StringBuilder(); 
    sbHtml.Append(File.ReadAllText(@"mypath/pdf.html")); 
+0

我有一個http例外,因爲我的路徑在我的pc.Sorry更不用說那,你可以看到我編輯的帖子。 – Dchris 2012-03-16 15:10:12

+0

@Dchris,更新 – 2012-03-16 15:12:12

0

請問這幫助?

System.Text.StringBuilder sbHtml = new System.Text.StringBuilder();  
sbHtml.Append(File.ReadAllText("mypath/pdf.html")); 
+0

啊已經回答了...... – Greg 2012-03-16 14:59:10

+0

不,我在我的文章結尾處提到的例外 – Dchris 2012-03-16 15:03:07

0

關於例外情況,請確保HTML是有效的XHTML。 PDFizer需要有效的XHTML。