我在C#Windows应用程序中工作,我正在写一些内容到记事本,print.txt位于启动位置。写完后,我使用以下代码将其发送到打印机
PrintDialog pd = new PrintDialog();
RawPrinterHelper.SendFileToPrinter(
pd.PrinterSettings.PrinterName,
Application.StartupPath + "\\print.txt");
但是当这样做时,我无法在打印中获得malayalam字体。但马拉雅拉姆进入记事本文件,甚至直接从记事本打印。 任何人都可以提出解决方案 提前致谢
答案 0 :(得分:1)
确保您的文字采用Unicode编码,为什么地球上甚至使用记事本?这个星球上的任何其他文本编辑程序都会做得更好。
答案 1 :(得分:1)
使用记事本创建的文本文件(.txt
)不包含任何字体信息。记事本使用您选择的字体显示您的文本,但文件本身不包含字体或任何其他格式(粗体,斜体等)。
您可以从公式中删除记事本,然后使用RichTextBox
代替;该文件格式允许嵌入字体和其他信息(如表格和图像)。然后,您可以将该文件发送到打印机,然后让默认的.rtf
应用程序(写字板或Word)处理打印。
如果要在不使用外部应用程序的情况下以特定字体打印,则需要将正确的代码发送到打印机以设置打印机的内部字体,或使用发送该信息的软件(如Word或PDF)
设置打印机的内部字体是特定于供应商的,您需要查看打印机品牌和型号的文档,该文档应该从打印机制造商处获得。
答案 2 :(得分:0)
您可以使用代码打印孟加拉语或印地语等其他语言吗?如果没有,则可能是您的C#开发环境未启用utf-8。