国家  china

C1PrintDocument: StartDoc-EndDoc和Generate的对比

很多时候,用户希望在C1PrintDocument中插入新页,他们不知道该使用StartDoc-EndDoc还是使用Generate方法,或者两者都使用。

C1PrintDocument的创建既可以使用StartDoc-EndDoc也使用Generate方法。这两者是相似的,但是在实现上有所区别。

在本文中,我们讨论创建documents和插入新页的两种方式。

StartDoc()-EndDoc() 方法

StartDoc方法标记document 产生的开始,在EndDoc方法标记document产生的结束。如果要用StartDoc-EndDoc 方法,render objects需要被添加到document的块中。例如:使用RenderBlock(), RenderDirect() 和RenderInline() 方法,如下所示:

c1PrintDocument1.RenderBlock(renderTable1);

Generate() Method

Generate方法使用RefreshCalculatedValues刷新模式产生document。

如果要用Generate方法,需要直接添加render objects到document的body。代码如下所示:

this.c1PrintDocument1.Body.Children.Add(new C1.C1Preview.RenderText("Hello, World!")); [更多...]

C1PrintDocument提示和技巧

C1PrintDocument允许创建复杂的documents用来打印,预览或是多种格式输出。本文讨论C1PrintDocument中经常被问到的问题。

1.自定义C1PrintDocument的PageFooter

2.在C1PrintDocument里显示边框。
[更多...]

C1PrintDocument基于页面大小生成

一般来说,当记录是在c1printdocument描绘,他们根据调整页面大小计算,如果没有可用的页面空间,描绘的内容是按页面进行拆分。

在本文中,我们讨论在C1PrintDocument的可用的页面上,如何定位数据。这种方法可以由用户决定如何在页面的位置显示一组记录,而不是单纯的按页面进行拆分记录。

步骤如下:

1.使用StartDoc方法创建一个新的C1PrintDocment。

2.添加需要的数据,比如使用RenderBlock方法添加一个RenderTable到C1PrintDocment。

3.现在,使用C1PrintDocument类的AvailableBlockFlowHeight属性,在当前的页面区域设置垂直的一块区域。

4.基于AvailableBlockFlowHeight的返回值,决定是否请求文字,例如RenderText,应该从当前页面绘制还是在他们之间应该隔开。新页可以使用C1PrintDocument类的NewPage方法插入。
[更多...]

如何用C1PrintDocument每页打印不同的效果

使用C1PrintDocument打印的时候,顾客有不同的打印需求,比如最后一页显示“最后一页”,其他页显示“未完待续”。或是将某一个部分重复打印在每一页等。

本文就介绍如何在C1PrintDocument下在每页打印不同的效果。
[更多...]