作者clifflu (缺錢啦 @@)
看板Visual_Basic
標題Re: [.NET] 用PrintDocument印中文字的問題
時間Fri Sep 9 23:19:20 2005
※ 引述《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)