美好的一天,
我一直在寻找一种使用writeline / write(streamwriter)格式化输出的方法 使用RTF标记并想知道是否存在此语法(如果存在)。我还没有 能够找到一个资源,清楚地解释了如何“漂亮”输出发送到 文件。
我之所以要问是因为我想从我的程序中“打印”结果 一个文件,至少可以在可能的情况下居中,标记甚至加粗 无需用户去使用它。我想我看过Crystal Reports 将无法使用VB 2010 Express,坦率地说,只是想创建一个文件 输出
我遇到的问题是如何使输出看起来不像writeline那样 (你知道,writeliney-ish)更像是有人花时间写了一些写作线 看起来它做得很棒。
以下是一些代码,向您展示我正在尝试做的事情:
sw.Write(" RATE QUOTATION ")
sw.WriteLine(" ")
sw.WriteLine(" ")
sw.WriteLine(mycompanyname)
sw.WriteLine(mycompanyaddress1 + ControlChars.Tab + "Phone:", companyphone)
sw.WriteLine(mycompanyaddress3 + ControlChars.Tab + "Fax:", companyfax)
sw.WriteLine(cityname, stateprovince, zippostal)
sw.WriteLine("Visit us online at:", websiteaddress)
sw.WriteLine(" ")
sw.WriteLine("Quoted by:", contactname + " " + "E-mail:", contactemail)
sw.Write("Date: ")
sw.WriteLine(DateTime.Now)
sw.WriteLine(" ")
sw.WriteLine(("Customer Name:" + " " + quotename.Text), "Company:" + " " + quotecompany.Text + " " + "Customer E-mail:" + " " + quoteemail.Text)
sw.WriteLine(("Phone:" + " " + quotephone.Text + ControlChars.Tab + "Fax:" + " " + quotefax.Text))
sw.WriteLine(" ")
sw.WriteLine("Shipment Details:")
有没有办法以这样的方式控制writeline,你可以通过streamwriter创建一个RTF并指定格式化标签,如居中和粗体等?我正在尝试一种方法,以便在streamwriter启动它的业务并打印出我想要的内容时创建RTF头信息。我不认为有一种优雅的方式来创建PDF,所以我现在有点选择旧的学校输出。
提前致谢!
答案 0 :(得分:0)
StreamWriter
仅用于将数据写入流。没有理由知道RTF是什么。
如果您想使用StreamWriter
,则需要自己计算RTF。
在线可能有各种RTF库会有所帮助。我建议谷歌搜索一些。
答案 1 :(得分:0)
正如所承诺的那样,开始玩一些代码并认为我会分享它,虽然我仍在试图弄清楚为什么vbNewLine不起作用。 :/
最初,我试图使用streamwriter来嵌入RTF代码,例如(\ rtf1)和(\ b)等......但是这些在我尝试的writeline语句中不起作用,例如:
writeline(“\ b这是粗体\ b0”)
因此,通过假装有一个richtext框(rtb),你可以创建一个允许字体格式化和其他文本格式化的文件(虽然仍然试图找出一些东西大声笑), 如果你关心输出如何出现在文件中,它可能是一个替代流写器。
Public Class Form1
Private Property richtextbox1 As Object
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim something As String
Dim somethingelse As String
Dim butwaittheresstillmore As String
something = TextBox1.Text
somethingelse = TextBox2.Text
butwaittheresstillmore = TextBox3.Text
Save1.InitialDirectory = "c:\users\shawn\desktop"
Save1.FileName = " "
Save1.Filter = " RTF file | *.rtf"
Save1.ShowDialog()
Dim rtb As New RichTextBox
rtb.SelectionAlignment = HorizontalAlignment.Center
rtb.Text = something & vbNewLine
rtb.SelectionAlignment = HorizontalAlignment.Left
rtb.Text = somethingelse + (" another field: ") + butwaittheresstillmore
rtb.SelectAll()
rtb.SelectionFont = New Font(New FontFamily("Arial"), 12, FontStyle.Regular,
GraphicsUnit.Pixel)
rtb.SaveFile(Save1.FileName)
End Sub
结束班
我想控制字体和对齐,这似乎可以解决问题,尽管我正在尝试使用“制表符”位置和换行符进行整理。我看到我可以对齐左,中,右。无论如何,我希望这可以帮助那些可能想要快速制作可以控制字体的文档的人。
谢谢!