0

我在 C# Windows 应用程序中工作,我正在将一些内容写入记事本,print.txt,它位于启动位置。写完后,我使用以下代码将其发送到打印机

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

但是这样做时,我无法打印出马拉雅拉姆字体。但是马拉雅拉姆语会进入记事本文件,甚至直接从记事本打印时也是如此。任何人都可以提出解决方案提前谢谢

4

3 回答 3

1

确保你的文本是用 Unicode 编码的,你到底为什么还要使用记事本?地球上的任何其他文本编辑程序都会做得更好。

于 2012-01-02T06:56:33.597 回答
1

使用记事本创建的文本文件 ( .txt) 不包含任何字体信息。记事本使用您选择的字体显示您的文本,但文件本身不包含字体或任何其他格式(粗体、斜体等)。

您可以从等式中删除记事本,并使用 aRichTextBox代替;该文件格式允许嵌入字体和其他信息(例如表格和图像)。然后,您可以将该文件发送到打印机,并让默认.rtf应用程序(写字板或 Word)来处理打印。

如果您想在不使用外部应用程序的情况下以特定字体打印,则需要将正确的代码发送到打印机以设置打印机的内部字体,或者使用发送该信息的软件(如 Word 或 PDF)。

设置打印机的内部字体是特定于供应商的,您需要查看打印机品牌和型号的文档,这些文档应该可以从打印机制造商处获得。

于 2014-01-07T04:10:33.713 回答
0

您可以使用您的代码打印其他语言,例如孟加拉语或印地语吗?如果不是,那么您的 C# 开发环境可能没有启用 utf-8。

于 2012-01-02T07:13:38.937 回答