2012-03-08 2 views
-2

Мы использовали отчет Майкла Майера Печать: http://www.codeproject.com/Articles/4934/Printing-Reports-in-NET Да, это уже давно!Преобразование строки [] в строку требуется CRLF без использования n r

Так что моя проблема ... У нас есть текстовое поле, которое имеет возврат каретки и перевод строки, напр:

THIS 
IS 

A 
TEST 

Производить файл для печати замерзает. Я проследил это до \ г \ п в строке, например:

"Mailing Address: 123 Main Street, Wherever, MD 12345\r\n\r\nFacility 1:\r\nProperty Address:” 

Я знаю, как делать такие вещи, как разделить его в строку [] и я могу использовать Regex и заменить и избавиться от \ г \ п. НО, в конечном счете, я хочу восстановить его и иметь CRLF, но я не могу использовать \ r \ n или Environment.NewLine.

Любые мысли о том, как я могу это использовать?

+0

Вы пытались заменить \ r \ n на просто \ n? –

+0

Итак, вы говорите, что хотите сохранить, что CRLF есть, но «закодировать» его и «декодировать» его позже? –

+4

Вы меня сбиваете с толку ... "имеют CRLF, но я не могу использовать \ r \ n или Environment.NewLine" ... '\ r \ n' ** is ** CRLF; это то же самое; синонимы. Можете ли вы прояснить свои намерения здесь? (обратите внимание: 'Environment.NewLine' более тонкий, так как он может зависеть от того, где вы выполняете, т. е. Mono на linux и т. д.) –

ответ

0

Я не уверен на 100% о решении, так как я никогда не занимался печатью, но, возможно, это как-то связано с кодировкой?

System.IO.StreamWriter ansiWriter = new StreamWriter("file.txt", false, Encoding.GetEncoding(1250)); 

Это помогло мне избежать проблем с новыми строками при сохранении файла.

+0

почему вы использовали 1250? –

1

Я столкнулся с чем-то подобным моим проектом. Вы можете использовать функцию Replace для замены таких символов:

myStringWithCRLF.Replace("CRLF", "<---------------New Page-------------->"); 
Смежные вопросы