不是付費的不然就是匯出後整個版面跑掉,或者是中文亂碼
甚至用過itextsharp這種控制PDF的套件去寫,也不是麼容易T__T
後來發現wkhtmltopdf這個免費的套件,終於解決了我的問題,所以一定要來分享一下!
一開始先至官網下載,依據自己的作業系統下載
安裝的話就是一直下一步就對了,
筆者安裝路徑為D:\wkhtmltopdf\wkhtmltopdf.exe
接著我們進入DOS模式去執行程式
第一個黃框為執行檔的位置
第二個黃框為轉檔目標的URL
第三個黃框為PDF儲存的位置
接著執行就直接進行轉換了:
目前測試效果還不錯,如果是中文字的話,記得要在編碼設定為utf-8
不然轉換後都會是亂碼!
接著我們自己寫程式執行吧!
基本上大同小異,只是利用Process這個類別去執行它而已:
protected void Page_Load(object sender, EventArgs e) { Process _process = new Process(); _process.StartInfo.FileName = @"D:\wkhtmltopdf\wkhtmltopdf.exe"; _process.StartInfo.Arguments = @"http://www.google.com.tw D:\temp2.pdf"; _process.Start(); }
如果你要在產生過後,對這個PDF檔案做一些處理(例如開啟此檔案),
必須要等這個執行續完成,不然會出錯,可以用以下方法:
Process _process = new Process(); _process.StartInfo.FileName = @"D:\wkhtmltopdf\wkhtmltopdf.exe"; _process.StartInfo.Arguments = @"http://www.google.com.tw D:\temp2.pdf"; _process.Start(); while (_process.HasExited) { //讓執行續暫停1秒 Thread.Sleep(1000); } Process.Start(@"D:\temp2.pdf");
這樣就完成了,其實他還有很多姊妹作,像是HtmlToImage
有機會再分享囉!
相關文章:
http://brooky.cc/2011/05/26/convert-html-to-image-and-pdf/
http://code.google.com/p/wkhtmltopdf/
http://www.cnblogs.com/heblade/archive/2009/10/16/Html_to_pdf.html
沒有留言:
張貼留言