2013-06-10 4 views
0

Я столкнулся с проблемой недостающих символов при сохранении их в качестве .pdf или .rtf file.i имеет RichTextBox принимать входные данные от пользователя и сохранение файлов вариантов различных форматов.
Когда я пишу что-то на английском языке в RichTextBox и сохранить их, то это все ok.but, когда я пишу что-то, а не английский, таких как ..Кодировка символов в C#

richtextbox1.Text="আমার সোনার বাংলা"; //bangla language i used here 

И тогда, если я хочу, чтобы сохранить их как. rtf или .pdf, то эти файлы содержат пробелы или показывают ????? символы.But .docx и .txt отображают эти символы правильно. Так как я могу решить эту проблему для .rtf, .pdf или .html?
Я использую Microsoft Sans Serif как шрифт, который не richtextbox.I попробовать с юникода и utf8 кодирования, чтобы решить это, но до сих пор не повезло ..
EDIT:
Для сохранения в .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(); 
+0

Некоторые комплекты доступны только в UTF16. В .NET-talk это 'System.Text.UnicodeEncoding'. –

+0

Как вы "спасете"? Используется ли это метод 'richtextbox1.SaveFile'? Может ли этот метод создать PDF? –

+0

Да, он создает pdf, я использую библиотеку itextsharp для этого, и даже я сказал, что это хорошо для английского языка, но проблема для другого языка. Мне нужно настроить для этого richtextbox? – ridoy

ответ

1

ли вы попробовать:

File.WriteAllText(filename, richtextbox1.RTF, Encoding.UTF8); 
Смежные вопросы