• WinFrom 打印必知必会


    1打印中所使用的默认单位

    打印中使用的单位是百分之一英寸,参考PaperSize中使用的参数

    2 打印的时候厘米和百分之一英寸怎么来转换

    可以使用PrinterUnitConvert类来进行转换,这里需要用到一个PrinterUnit的枚举来进行转换,

    比如把十分之一毫米转换成为百分之一英寸

    (int)PrinterUnitConvert.Convert(value, PrinterUnit.TenthsOfAMillimeter, PrinterUnit.Display);

    3 如何来打印预览

    首先我们定义一个PrintDocument对象,并实现PrintPage方法:

    在一个按钮的单击事件里面实现打印预览:

     

    执行打印预览后我们会看到打印出来的效果:

       

    4.自定义打印预览

    如果是自定义打印预览就需要设置好指定的打印控制器PrintController的属性。

    PrintController 由 PrintDocument 使用,而这种使用通常不是直接的。

    .NET Framework 包括从 PrintController 派生的三个打印控制器,可帮助完成常见的任务。

    1.StandardPrintController 将文档打印到打印机。

    2.PreviewPrintController 生成文档打印时的外观预览并由 PrintPreviewControl 和 PrintPreviewDialog 类使用。

    3.PrintControllerWithStatusDialog 在打印过程中提供一个打印状态对话框。

    自己手动的实现一个打印预览的功能是由PreviewPrintController 来实现的

    首先定义了一个PreviewPrintController 对象,并赋值给PrintDocument。然后执行打印。

    利用GetPreviewPageInfo()得到一个PreviewPageInfo数组;打印信息包括在了这个数组里,以每张图片和信息一页存储在了数组中。

    数组中的Image和PhysicalSize对象提供的打印相关的信息 :一张图片和打印页的大小。在打印出来的图片的大小和打印页的大小是不相同的,图片的大小要高于打印页的大小。所以要转换大小。然后显示到界面,如果打印多页只需要对PreviewPageInfo数组进行切换就行了。

    5 有时候我们并不想在打印的时候显示一个正在打印的打印框

    如图

    我们可以实例化PrintController的派生类来实现

    NET Framework 包括从 PrintController 派生的三个打印控制器,可帮助完成常见的任务。StandardPrintController将文档打印到打印机。PreviewPrintController生成文档打印时的外观预览并由 PrintPreviewControl PrintPreviewDialog 类使用。PrintControllerWithStatusDialog 在打印过程中提供一个打印状态对话框。

    当我们需要显示打印状态对话框的时候可以用PrintControllerWithStatusDialog 包装一个PreviewPrintController 来显示打印对话框

    printDocument.PrintController = new PrintControllerWithStatusDialog(previewController);

    如果不需要可以用

    PreviewPrintController previewController = new PreviewPrintController();

    previewController.UseAntiAlias = true;

    printDocument.PrintController = previewController;

    6.也许你还想设置打印的文字的样式 ,比如在一个区域内居中显示

    我们可以使用

    StringFormat format = new StringFormat();

    并设置format的相关属性 最后打印时使用

    graphics.DrawString(PrintText, Font, new SolidBrush(Color), rectangle,format );

  • 相关阅读:
    C++面向对象笔记:继承、派生
    教你制作伪静态
    安装android环境别忘了加个环境变量sdk_home
    javascript获取asp.net后台代码的方法
    一天学会PHP(转)
    access数据库里面用sql语句随机调用一条数据
    【转】 android sdk setup时出现:HTTPS SSL error , Server:10.159.192.62
    AutoCode下载及具体使用方法
    讲故事谈.NET委托:一个C#睡前的故事
    使用activeskin控件制作VB和易语言的皮肤的视频教程
  • 原文地址:https://www.cnblogs.com/ac1985482/p/2082808.html
Copyright © 2020-2023  润新知