2009-07-21 46 views
0

如何使文本加粗使用流作家,這裏是我的代碼:製作文本加粗

string path = Application.StartupPath + "\\WZ.PNR"; 
StreamWriter writer = new StreamWriter(path); 
textPrint.ToText(writer, Width, FSection, FAlign, DSection, DAlign, Format); 
writer.WriteLine();     
writer.Close(); 

我寫一些文字,我需要做一些文字加粗,怎麼辦呢?

感謝

+0

這真的取決於你輸出的文件類型。如果它是一個單詞文件,那麼你將不得不看看單詞文件,看看如何做到這一點。你不能在簡單的文本文件中做到這一點,因爲在簡單的文本文件中沒有粗體/斜體等概念。這是簡單的文字。 – Aamir 2009-07-21 09:40:57

+0

其實它是一個寫字板文件(.PNR) – 2009-07-21 09:43:20

+3

你現在聲稱它是寫字板文件*和*打印機文件。這是什麼?當我嘗試在寫字板中保存文件時,選項爲RTF,文本文檔,文本文檔(MS-DOS格式)或Unicode文本文檔。根本沒有提到PNR。 – 2009-07-21 10:02:40

回答

7

StreamWriter是編寫純文本。您需要某種標記才能使文本變爲粗體。選項包括:

  • RTF
  • HTML
  • TeX的

你如何期待打開生成的文件?應用程序需要了解您選擇的任何文件格式。沒有「粗體字」的一般概念 - 字母E是字母E;如果你想要它的樣式數據是分開的。

鑑於您的文件擴展名,你試圖創建一個文件?如果是這樣,你需要找出適當的文件格式 - 我不知道它是否是文本格式,二進制等。

+1

這可能是拼寫錯誤.prn文件... – leppie 2009-07-21 09:56:12

1

擴展PNR建議某種類型的打印機文件。這意味着您必須查找特定類型打印機的轉義碼。

2

首先,你應該建立在這樣的路徑:

string path = Path.Combine(Application.StartupPath, "WZ.PNR"); 

這個小改進後,讓我們來看看您的PNR文件...

所以你打開此文件,並喜歡寫一些粗體的文字呢?

那麼你有某種程序,它已經能夠創建和查看這樣一個.pnr文件?

我想你會有,或者從哪裏知道,在這樣的文件中可能有粗體文本?

如果你有這個程序來生成這樣一個帶粗體文本的文件。只要創建一個新文件,輸入三個單詞:「一二三」,並使'兩'粗體。保存這個文件並用一個很好的純文本編輯器(例如notepad ++)或一個好的十六進制編輯器打開它,並試圖找出這將如何完成。

例如,打開寫字板創建一個新的rtf文件並插入上面的示例。它保存在一個純文本編輯器,重新打開後,您會得到:

{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fswiss\fcharset0 Arial;}} 
\viewkind4\uc1\pard\f0\fs20 one \b two\b0 three\par 
} 

正如你所看到的,粗體是通過使用「\ B」啓用和「\ B0」禁用作出粗體文本。還有很多其他信息,如使用的字體,字符集等。

如果您沒有任何規格,這就是所謂的逆向工程。 ;-)