在C#中使用Stream Writer使文本变粗

时间:2009-07-21 09:36:05

标签: c# c#-2.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();

我正在写一些文字,我需要写一些文字BOLD,怎么做?

由于

3 个答案:

答案 0 :(得分:7)

StreamWriter用于编写纯文本。您需要某种标记才能使文本变为粗体。选项包括:

  • RTF
  • HTML
  • 的TeX

您打算如何打开生成的文件?应用程序需要了解您选择的任何文件格式。没有“大胆字符”的一般概念 - 字母E是字母E;如果你想要它的样式数据是独立的。

鉴于您的文件扩展名,您是否尝试创建PeerNet Label Designer文件?如果是这样,你需要找到合适的文件格式 - 我不知道它是文本格式,二进制等。

答案 1 :(得分:2)

首先,您应该以这种方式创建路径:

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

在这一点改进之后,让我们来看看你的pnr文件......

所以你打开这个文件并喜欢写一些粗体文字吗?

那么你有什么样的程序,已经能够创建和查看这样的.pnr文件了吗?

我认为您可以或者从哪里知道可以在这样的文件中加粗文字?

如果您有此程序生成带有粗体文本的此类文件。只需创建一个新文件,输入三个单词:“one two three”并将“two”加粗。保存此文件并使用一个好的纯文本编辑器(例如记事本++)或一个好的十六进制编辑器打开它,并尝试找出如何实现这一点。

例如,打开写字板创建一个新的rtf文件并插入上面的示例。保存并在纯文本编辑器中重新打开后,您将获得:

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

正如您所看到的,粗体是通过使用'\ b'启用和'\ b0'来禁用粗体文本。还有很多其他信息,如使用字体,字符集等。

如果您没有任何规格,那就称为逆向工程。 ; - )

答案 2 :(得分:1)

扩展名PNR建议使用某种打印机文件。这意味着您必须查找特定类型打印机的转义码。