Re: [.NET] 用PrintDocument印中文字的問題

看板Visual_Basic作者 (缺錢啦 @@)時間19年前 (2005/09/09 23:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《Tox (It's up to you)》之銘言: : 而我也拿來試試看 : 改了example中 Font那個部分 改成 : printFont = New Font("細明體", 10) : 或者改成printFont = New Font("TW Cen MT", 10) : 印出來都還是亂碼 : Public Sub Printing() : Try : streamToPrint = New StreamReader(filePath) 我猜想上面這行錯誤的可能性很大, 主因是 .Net 中編碼為 unicode 但是目前多數 OS / Editor 在開檔時仍然會以 Big5 的方式寫入. StreamReader 可以在 filePath 之後, 加上參數 Encoding (System.Text.Encoding (s ? 忘了)) 但裡面明顯沒有 Big5 的選項. 這時候, 只要選 "Default" 就可以了, 它會以 OS 的讀法為準. 這是我自己以 StreamReader 讀取含有中文字 (Big5) 遇到亂碼的 處理方式. : Try : printFont = New Font("Arial", 10) : Dim pd As New PrintDocument : AddHandler pd.PrintPage, AddressOf pd_PrintPage -- 鬼壓床怎麼辦 騎上去啊 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.217.134 ※ 編輯: clifflu 來自: 140.112.217.134 (09/10 00:16)
文章代碼(AID): #138QSo_l (Visual_Basic)
文章代碼(AID): #138QSo_l (Visual_Basic)