Silverlight 4与Flex 4打印功能的对比

Silverlight作为一门新技术推出已经三年,在Silverlight早期版本,大家都认为Silverlight的功能 无法和Flex进行对比,更是无法超越Flex,在2009年11月,微软推出了Silverlight 4测试版本,以其强 大的功能又一次吸引了众多开发人员的眼球,许多曾经在Flex下支持的功能,现在Silverlight下已经可 以实现,而且还有一些新的功能,Flex无法实现。例如,Silverlight 4的COM组件交互,从桌面拖拉对象 到Silverlight应用等功能。为了使更多的开发人员了解Silverlight开发平台,我将对 Silverlight 4和 Flex 4进行一系列的对比,希望能帮助开发人员了解更多Silverlight新功能。本文,将对Silverlight 4 和Flex 4的打印功能进行对比。

Silverlight 4打印功能

Silverlight 4的打印功能是由PrintDocument类进行控制,实现打印功能需要按照以下步骤:

步骤1:建立PrintDocument对象;

步骤2:在PrintDocument对象中设置文档名;

步骤3:添加事件句柄到PrintPage事件中,同时也可以添加到StartPrint和EndPrint事件中;

步骤4:在PrintPage打印事件中,建立一个打印窗口,该窗口将作为父窗口出现,可以添加想打印的 内容或者控件到该打印窗口。例如建立一个StackPanel,然后在StackPanel中添加想打印的内容控件;

步骤5:在打印时,如果HasMorePages为True,说明支持多个页面进行打印;

步骤6:重复4和5步骤,就可以实现完整的Silverlight 4打印功能;

看起来这些步骤是不是很简单。下面提供一个例程代码,点击打印按钮后,会打印出“Hello World” 。

1: using System;
2: using System.Windows;
3: using  System.Windows.Controls;
4: using System.Windows.Printing;
5:
6: namespace  HelloPrinter
7: {
8:     public partial class MainPage : UserControl
9:      {
10:         public MainPage()
11:         {
12:              InitializeComponent();
13:         }
14:
15:          private void button1_Click(object sender, RoutedEventArgs e)
16:          {
17:             PrintDocument printDoc = new PrintDocument ();
18:             printDoc.DocumentName = "Hello World from  Silverlight";
19:             printDoc.PrintPage += new  EventHandler<PrintPageEventArgs>(printDoc_PrintPage);
20:              printDoc.Print();
21:         }
22:
23:         void  printDoc_PrintPage(object sender, PrintPageEventArgs e)
24:         {
25:              StackPanel panel = new StackPanel() { Orientation =  Orientation.Horizontal };
26:             panel.Children.Add(new  TextBlock() { Text = "Hello ", 
FontFamily = new  System.Windows.Media.FontFamily("Arial"), FontSize = 12 });
27:              panel.Children.Add(new TextBlock() { Text = "World", 
FontFamily = new  System.Windows.Media.FontFamily("Arial"), FontSize = 12 });
28:              e.PageVisual = panel;
29:             e.HasMorePages = false;
30:          }
31:     }
32: }

当点击按钮后,会调用打印事件句柄,在打印过程中,Silverlight将自动设置打印窗口的宽和高,可 以通过PrintableArea属性获取在打印事件中获取打印页面的宽和高。

时间: 2025-01-20 23:16:50

Silverlight 4与Flex 4打印功能的对比的相关文章

html中pdf如何取消保存或打印功能?

问题描述 html中pdf如何取消保存或打印功能? html页面中有iframe用于显示pdf,如图:求如何取消标记的打印或保存功能,同时放大和缩小功能正常. 解决方案 这是firefox浏览器内置的功能,没办法通过网页去控制,除非在本地部署插件. 解决方案二: 这个是chrome浏览器,基本所有浏览器都有这个功能

java 后台实现打印功能

问题描述 java 后台实现打印功能 请问,java 后台怎么实现打印功能?求解 有现成代码的帖出来看看 谢谢了 解决方案 System.out.println就行了,, 解决方案二: 用JAVA实现打印功能用java实现打印功能用java实现打印功能 解决方案三: http://www.ibm.com/developerworks/cn/java/l-javaprint/ 解决方案四: 你说的打印功能是什么意思呢?调用打印机打印,还是就是Eclipse你的控制台打印日志信息呢?后者的话直接我们

实现Internet/Intranet 所见即所得的打印功能

打印  实现Internet/Intranet 所见即所得的打印功能        随着Internet技术的飞速发展,越来越多的企业应用是基于Internet/Intranet.这样用户就可以通过浏览器(Browser)来完成各种数据的输入.查询功能.但由于目前浏览器的局限性,影响了它的一些应用.如HTML页面交互性不强.缺乏所见即所得的打印功能等.这些问题多是通过在网页中嵌入Java Applet.ActiveX等控件或是使用Plug-in来解决.本文介绍一种解决所见即所得的打印方案 一.浏

MIS开发中.net Framework的打印功能

打印 Microsoft .net Framework的打印功能都以组件的方式提供,为程序员提供了很大的方便,但是这几个组件的使用还是很复杂的,有必要解释一下. 打印操作通常包括以下四个功能 1 打印设置 设置打印机的一些参数比如更改打印机驱动程序等 2 页面设置 设置页面大小纸张类型等 3 打印预览 类似于word中的打印预览 4 打印 实现打印功能的核心是PrintDocument类这个类属于System.Drawing.Printing名字空间这个类封装了当前的打印设置页面设置以及所 有的

怎样用C#实现完整文档打印功能

打印 在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Microsoft .net Framework的打印功能都以组件的方式提供,为程序员提供了很大的方便,但是这几个组件的使用还是很复杂的,有必要解释一下.打印操作通常包括以下四个功能1 打印设置 设置打印机的一些参数比如更改打印机驱动程序等2 页面设置 设置页面大小纸张类型等3 打印预览 类似于word中的打印预览4 打印 下面我把我编写的记事本(全部源代码可以在http://www.cndot.ne

在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)

打印 在C#中使用PrintDialog可以很方便的实现程序的打印功能. 其步骤如下: 创建一个PrintDialog的实例.如下:System.Windows.Forms.PrintDialog PrintDialog1=new PrintDialog (); 创建一个PrintDocument的实例.如下:System.Drawing.Printing.PrintDocument docToPrint = new System.Drawing.Printing.PrintDocument()

Visual C++ 6.0编程实现打印功能

Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它实现程序的打印功能, 一直是初学者的一个难点,经常有朋友询问如何在VC中实现打印功能,他们往往感到在MFC提 供的框架内实现这个问题很复杂,不知道如何下手.本例针对这个问题,介绍一种简单的方 法实现文字串的打印功能,读者朋友可以在此基础上稍微改动一下,就可以实现文件.图像的 打印功能. 一.实现方法 在Windows操作系统下,显示器.打印机和绘图仪都 被视为输出设备,正常情况下,系统默认的输出设备是显示器.要使用打印

WPS Office 2005中丰富的打印功能

在WPS Office 2005中打印功能是非常强大的,不仅有大家日常使用的一些打印功能,还有一些较专业的打印功能,今天就让小佳在政府工作的父亲张先生给我们介绍一下他在使用WPS打印功能的一些心得. 反片输出:在WPS文字2005中,WPS提供了打印反片的功能,如果要在透明胶片上打印投影演示文稿,或者想用不干胶贴纸打印广告文字,可以使用反片打印来打印文字.首先做好一个需要反片的文档,然后选择"文件|打印"命令,打开"打印"对话框:在"打印机"选项

如何在Excel中禁止打印功能

在办公室中管理中权限管理是非常重要的一部分,对于一部分员工可以开放打印功能,而对于另一部分员工而言,由于考虑到经济成本,则不能开放打印机功能.那么如何才能禁止一部分人使用打印功能呢?这就是我们今天所要探讨的话题. 在当今时代,越来越倾向于无纸化办公了,很多公司.个人都在频繁使用Excel 2007.但是在Excel 2007的操作过程中我们可能会无意中碰到了打印按钮,或者一些人不太注重节约,随意打印Excel 2007文件,甚至是直接打印一般人禁止打印的Excel 2007文件.在不影响Exce