2012-01-02 23 views
0

我在C#中的Windows應用程序的工作,我寫了一些內容,記事本,print.txt它位於啓動位置。寫作後我使用下面的代碼獲得馬拉雅拉姆語字體,在記事本

PrintDialog pd = new PrintDialog(); 
RawPrinterHelper.SendFileToPrinter(
    pd.PrinterSettings.PrinterName, 
    Application.StartupPath + "\\print.txt"); 

將其發送到打印機,但這樣做的時候我不能夠得到馬拉雅拉姆語字體印刷。但馬拉雅拉姆進入記事本文件,甚至直接從記事本打印。 任何人都可以提出解決方案 在此先感謝

回答

1

確保您的文本使用Unicode編碼,爲什麼地球上甚至使用記事本?這個星球上的其他任何文本編輯程序都會做得更好。

+0

unicode沒有問題,因爲我能夠在記事本中看到它。我的問題是,使用代碼將記事本發送到打印機時,malayama字體沒有被打印。但是當我手動打開記事本,然後按Ctrl + P – 2012-01-02 07:02:39

0

您可以用您的代碼打印其他語言,如孟加拉語或印地語嗎?如果沒有,那麼你的C#開發環境可能不是utf-8。

+0

你應該張貼這作爲註釋馬來亞打印。 – SibiCoder 2017-01-19 15:32:25

1

用記事本創建的文本文件(.txt)不包含任何字體信息。記事本使用您選擇的字體顯示您的文本,但文件本身不包含字體或任何其他格式(粗體,斜體等等)。

您可以從等式中刪除記事本,並使用RichTextBox代替;該文件格式允許嵌入字體和其他信息(如表格和圖像)。然後,您可以將該文件發送到打印機,並讓默認的應用程序(寫字板或Word)來處理打印。

如果您希望在不使用外部應用程序的情況下以特定字體打印,則需要將正確的代碼發送到打印機以設置打印機的內部字體,或使用發送該信息的軟件(如Word或PDF )。

設置打印機的內部字體是供應商特定的,並且你需要檢查的文檔,您的打印機品牌和型號,這應該是可以從打印機的製造商。