在将它们保存为.pdf或.rtf文件时,我遇到了丢失字符的问题。我有一个丰富的文本框,可以从用户和不同格式的文件保存选项中获取输入。
当我在richtextbox中用英文写一些东西并保存它们时,一切都好。但是当我写一些东西而不是英文时,比如..
richtextbox1.Text="আমার সোনার বাংলা"; //bangla language i used here
然后,如果我想将它们保存为 .rtf 或 .pdf 格式,那么这些文件包含空格或显示 ????? 符号。但是 .docx 和 .txt 文件正确显示了这些字符。那么我该如何克服 .rtf、.pdf 或 .html 的这个问题?
我正在使用Microsoft Sans Serif作为该 Richtextbox 的字体。我尝试使用unicode 和 utf8编码来解决这个问题,但仍然没有运气。
编辑:
为了保存为.rtf格式,我使用..
richTextBox1.SaveFile(sfd.FileName, RichTextBoxStreamType.UnicodePlainText);
其中sfd是savefiledialog。
对于.pdf ,我使用..
iTextSharp.text.Document myDocument = new iTextSharp.text.Document(PageSize.A4.Rotate());
try
{
PdfWriter.GetInstance(myDocument, new FileStream(sfd.FileName, FileMode.Create));
myDocument.Open();
myDocument.Add(new iTextSharp.text.Paragraph(richTextBox1.Text));
}
catch (DocumentException de)
{
Console.Error.WriteLine(de.Message);
}
myDocument.Close();