Spread for Windows Forms高级主题(7)---自定义打印的外观
表单打印的多个部分都可以进行自定义,大多数的自定义选项存在于PrintInfo对象中。大多数打印选项是在PrintInfo对象上进行设置,并在表单级别上应用。当你执行打印操作时,你将一个特定的表单发送给使用这些设置的打印机。如果你想为不同的表单使用不同的打印设置,那么你可能需要重置PrintInfo对象,然后在表单打印的间隔内做必要的修改。深入理解打印选项
你可以通过设置PrintInfo对象的 属性,并将表单的PrintInfo属性值设置为该对象,来自定义打印设置。PrintInfo对象提供了以下属性用来自定义打印:
属性
描述
AbortMessage
获取或设置退出对话框显示的信息。
BestFitCols
获取或设置列宽是否为满足打印最长字符串的宽度而调整。
BestFitRows
获取或设置行高是否为满足打印最高字符串的高度而调整。
Centering
获取或设置打印输出是否居中。
Colors
获取或设置可在自定义页眉或页脚文本中使用的颜色列表。
ColStart和 ColEnd
用来打印表单的一部分。
FirstPageNumber
获取或设置打印在首页上的页码。
Footer
为打印页面提供页脚。
Header
为打印的页面提供页眉。
Images
获取或设置可在自定义页眉或页脚中使用的图片列表。
JobName
获取或设置打印作业的名称。
Margin
获取或设置打印的页面空白。
Opacity
获取或设置打印表单时所使用的不透明度; 它可以用来首先打印一个水印,然后再打印表单的内容。
Orientation
获取或设置打印时的页面方向。
PageStart和 PageEnd
用来打印一个页面区域。
PageOrder
获取或设置页面打印的顺序。
PaperSize
获取或设置所使用的纸张大小。
PaperSource
获取或设置所使用的纸张来源。
Preview
用来提供打印预览。
Printer
获取或设置用来打印的打印机名称。
PrintNotes
获取或设置是否打印单元格注释。
PrintShapes
获取或设置是否打印浮动对象。
PrintType
获取或设置需要打印的内容。
RepeatColStart和 RepeatColEnd
获取或设置是否在每一个页面上打印相同的列集。
RepeatRowStart 和 RepeatRowEnd
获取或设置是否在每一个页面上打印相同的行集。
RowStart和 RowEnd
用来打印表单的一部分。
ShowBorder
获取或设置是否在表单的四周打印边界。
ShowColor
获取或设置是否打印在屏幕上出现的颜色。
ShowColumnHeader 和 ShowRowHeader
获取或设置是否打印列标题和行标题。
ShowGrid
获取或设置是否打印表单的网格线。
ShowPrintDialog
获取或设置打印前是否显示打印对话框。
ShowShadows
获取或设置是否打印标题阴影。
SmartPrintPagesTall
获取或设置打印的页高。
SmartPrintPagesWide
获取或设置打印的页宽。
SmartPrintRules
用来设置打印优化的规则。
UseMax
获取或设置是否只打印包含数据的行。
UseSmartPrint
用来开启打印优化的规则。
ZoomFactor
获取或设置打印页面时使用的缩放因子。
示例代码创建了一个PrintInfo对象,并设置属性指定不打印网格线或行标题,并且只打印包含数据的单元格。
//创建PrintInfo对象并设置属性。
FarPoint.Win.Spread.PrintInfo printset = new FarPoint.Win.Spread.PrintInfo();
printset.ShowGrid = false;
printset.ShowRowHeader = FarPoint.Win.Spread.PrintHeader.Hide;
printset.UseMax = true;
//为第一个表单设置PrintInfo属性。
fpSpread1.Sheets.PrintInfo = printset;
//打印表单。
fpSpread1.PrintSheet(0);
自定义打印作业设置
如果你没有指定其他打印机的话,表单会使用你的Windows系统环境中当前的默认打印机进行打印。你可以在任意支持Windows的打印机上打印表单。
你可以自定义的打印作业设置项包括打印机、纸张来源、以及纸张大小。相对应的,可以设置PrintInfo对象中的Printer,PaperSource,或PaperSize属性。
下面的示例代码从一个复选框中选择了纸张来源,并在打印所有表单前设置了纸张的大小。
private void Form1_Load(object sender, System.EventArgs e)
{
int i;
System.Drawing.Printing.PrinterSettings ps = new System.Drawing.Printing.PrinterSettings();
for (i = 0; i
页:
[1]