C1PrintDocument 组件的所有内容都是由各种渲染对象来呈现的。Reports for WinForms程序集提供了多个派生于RenderObject类的层次化的类,它们被设计用来呈现各种类型的内容,比如文本、图片等等。例如,上文中我们就利用RenderText 类往文档中添加了一行文本。在本文中,我们会展示如何利用RenderParagraph类来创建一个文本段落(这些段落可能包含了不同样式的文本段、内联的图片和超链接)
注意:文章中的范例代码片段都是假设已经在使代码文件中用了"using C1.C1Preview;" 指令(这是C#语法,其他语言也有等效的写法),因此我们可以只使用类名(例如RenderText)而不必使用完全限定类型名(C1.C1Preview.RenderText)。 |
用下面代码创建RenderParagraph:
Visual Basic
Visual Basic |
拷贝代码
|
---|---|
Dim rp As New RenderParagraph() |
C#
C# |
拷贝代码
|
---|---|
RenderParagraph rp = new RenderParagraph(); |
在以下情况下应该使用Paragraphs 来代替RenderText
段落的内容由各种ParagraphObject 对象构成。ParagraphObject 是一个抽象基类,它的两个派生类分别是ParagraphText 和ParagraphImage,分别用于呈现分段的文本和内联图片。你可以通过创建这两个类型的对象来填充段落中的内容,然后把它们添加到RenderParagraph.Content集合中。为了便于创建和设置这些对象,它们提供各种构造函数的重载和属性。向段落中添加超链接,可以通过指定段落对象的Hyperlink 属性为hyperlink来实现。此外,你还可以像下方示例中所示的,使用AddText, AddImage和AddHyperlink这类快捷方法的重载方法。
Visual Basic
Visual Basic |
拷贝代码
|
---|---|
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Create a paragraph. Dim rpar As New RenderParagraph() Dim f As New Font(rpar.Style.Font, FontStyle.Bold) rpar.Content.AddText("This is a paragraph. This is normal text. ") rpar.Content.AddText("This text is bold. ", f) rpar.Content.AddText("This text is red. ", Color.Red) rpar.Content.AddText("This text is superscript. ", TextPositionEnum.Superscript) rpar.Content.AddText("This text is bold and red. ", f, Color.Red) rpar.Content.AddText("This text is bold and red and subscript. ", f, Color.Red, TextPositionEnum.Subscript) rpar.Content.AddText("This is normal text again. ") rpar.Content.AddHyperlink("This is a link to the start of this paragraph.", rpar.Content(0)) rpar.Content.AddText("Finally, here is an inline image: ") rpar.Content.AddImage(Me.Icon.ToBitmap()) rpar.Content.AddText(".") ' Add the paragraph to the document. Me.C1PrintDocument1.Body.Children.Add(rpar) Me.C1PrintDocument1.Generate() End Sub |