<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" preinitialize="init()">
<mx:Script>
<![CDATA[
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import org.alivepdf.layout.Layout;
import org.alivepdf.display.Display;
import org.alivepdf.layout.Unit;
import org.alivepdf.layout.Orientation;
import org.alivepdf.pdf.PDF;
import org.alivepdf.saving.Method;
import org.alivepdf.layout.Size;
[Bindable] private var arr:Array=new Array(); //For DataGrid Data
[Bindable] private var bytes:ByteArray;
private function init():void
{
arr.push({first:"a",second:"1",third:"我"});
arr.push({first:"b",second:"2",third:"你"});
arr.push({first:"c",second:"3",third:"他"});
arr.push({first:"d",second:"4",third:"它"});
}
/**
* Print PDF
* Flex3+AlivePDF+C#
* Examples by Kelvin
* MSN:zhaobo@busycode.com(内部用)
* MSN:xiaobolove@hotmail.com
*
* 说明:
* //前两行代码不做说明。
* 初始时要新增一页,调用方法:addPage();当每想要添加一页时调用此方法即可。
* 添加内容,调用方法addImage();此方法N多参数,不一一说明,只需要将要打印的对象传进去即可,例如addImage(img);
* 或者照此传入5个参数(img ,1,null,null,true),要打印的部分将分做为一整页内容输出,
* 注意:如果在此之前没有addPage();那么img将会覆盖掉前面添加的内容。
* */
private var myPDF:PDF;
public function generate ( pEvt:MouseEvent ):void
{
enabled=false;
myPDF = new PDF( Orientation.PORTRAIT, Unit.MM, Size.A4 );//
myPDF.setDisplayMode( Display.FULL_PAGE, Layout.SINGLE_PAGE ); //
myPDF.addPage();
myPDF.addImage (dg ,1,null,null,true);
bytes= myPDF.savePDF(Method.LOCAL);
//Call Webservice and Send Data
ws.Kelvin_PrintPDF(bytes);
}
[Bindable] private var down:FileReference;
private function result(event:ResultEvent):void
{
//Alert.show(event.result.toString());
enabled=true;
down=new FileReference();
down.addEventListener(Event.COMPLETE,downloadHandler);
down.download(new URLRequest("http://www.xxxx.com/printpdf/"+event.result.toString()));
}
private function downloadHandler(event:Event):void
{
Alert.show("success");
}
private function fault(event:FaultEvent):void
{
Alert.show(event.toString());
enabled=true;
}
]]>
</mx:Script>
<!--http://localhost/printpdf/service.asmx?WSDL-->
<mx:WebService id="ws" result="result(event)" fault="fault(event)"
wsdl=http://www.xxxx.com/printpdf/service.asmx?WSDL useProxy="false" showBusyCursor="true"/>
<mx:Image id="img" source="test.jpg"/>
<mx:DataGrid id="dg" x="106" y="136" width="566" height="383" dataProvider="{arr}">
<mx:columns>
<mx:DataGridColumn headerText="first" dataField="first"/>
<mx:DataGridColumn headerText="second" dataField="second"/>
<mx:DataGridColumn headerText="third" dataField="third"/>
</mx:columns>
</mx:DataGrid>
<mx:Button x="602" y="53" label="Print" click="generate(event)"/>
<mx:ProgressBar x="106" y="546" source="{down}"/>
</mx:Application>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.IO;
using System.Text;
using System.Collections;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
/*
* By kelvin
* 打印PDF
* MSN:xiaobolove@hotmail.com
* 此方法只是将接收过来的字节数据通过流写入本地
* */
[WebMethod]
public string Kelvin_PrintPDF(byte[] buffer)
{
string strInfo = "Success";
string path="";
string pathname="PDF/";
string date=""+DateTime.Now.Year + DateTime.Now.Month+DateTime.Now.Day + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + DateTime.Now.Millisecond;
path = pathname + date + ".pdf";
FileStream filestream=new FileStream(Server.MapPath(path), FileMode.Create);
BinaryWriter writer=new BinaryWriter(filestream);
try
{
if (buffer != null)
writer.Write(buffer);
else
return "Error";
}
catch
{
strInfo = "Error";
}
finally
{
writer.Close();
filestream.Close();
l
分享到:
相关推荐
而"flex4.5打印导出pdf完美版"这个项目则是针对Flex 4.5平台的一个特定功能实现,即在应用程序中添加PDF打印和导出功能。 PDF(Portable Document Format)是一种广泛使用的文档格式,能够保留原始文档的格式和内容...
5. **打印功能**:利用Flex的printJob类,可以实现在客户端直接打印PDF,用户无需先下载文件。需要注意的是,打印前需要设置好打印机和打印参数。 6. **优化性能**:对于大数据量的报表,可能需要考虑分页、异步...
FlexPaper 是一个强大的开源工具,专门用于在Adobe Flex应用程序中展示文档,特别是PDF格式的文件。这个组件以其轻量级和高效性著称,能够提供流畅的PDF阅读体验。FlexPaper通常与PDF2SWF工具结合使用,该工具将PDF...
5. **保存和打印**:对于有编辑功能的PDF,需要提供保存修改后的PDF和打印PDF的功能。这通常涉及调用库提供的保存和打印方法。 在实际的“flex操作pdf的demo”中,你可能会看到这些功能的实现,包括如何初始化PDF库...
Flex是一种开源框架,用于构建高质量的Web应用程序,并且能够跨浏览器、桌面和操作系统进行部署。Flex的核心优势在于其强大的图形渲染能力,使得开发者可以创建出丰富的用户体验。Flex主要使用两种语言:MXML(Flex...
Flex是Adobe公司开发的一种基于ActionScript 3.0的富互联网应用程序(RIA)框架,它使用MXML和AS3进行编程,能够创建交互式的、动态的Web应用。 在Flex中实现打印预览,主要涉及以下几个知识点: 1. **Flex组件库*...
Flex PDF文档是一种基于Adobe Flex技术的PDF处理方法,它允许开发者在Web应用程序中创建、编辑和展示PDF文件。Adobe Flex是ActionScript 3.0的一个框架,主要用于构建富互联网应用程序(RIAs)。在这个压缩包中,...
总的来说,ArcGIS for Flex的打印功能是一个强大的工具,它使得Web GIS应用程序能够提供专业级别的地图输出。通过熟练掌握相关API和最佳实践,你可以在你的Flex应用中为用户提供流畅、高效的打印体验。
Flex是Adobe公司推出的一个开源的应用程序框架,主要用于开发富互联网应用(RIA), 它允许开发人员使用Adobe Flash平台创建应用程序,也可以部署为Web应用或独立应用程序。Flex中的打印操作和分页打印操作是实现数据...
3. "Flex中文帮助No4章A.pdf" 和 "Flex中文帮助No4章B.pdf" - 这两个文件可能是同一章的两部分,可能涵盖了高级主题,如自定义组件、动画效果、AIR应用程序的特定功能,如本地文件系统和网络通信,以及如何将Flex...
Flex IFrame是一个在Adobe Flex应用程序中用于嵌入HTML内容或者加载其他Web页面的组件。它允许开发者在Flex应用中展示外部网页或者与Web服务进行交互,从而提供更丰富的用户体验。在给定的“Flex IFrame实现浏览附件...
FlexPaper是一款功能强大的在线文档预览组件,专为Flex开发者设计,用于在Web应用程序中实现PDF和Word文档的无缝预览。本组件分为两个版本,即SDK3.5和SDK4.0,以适应不同Flex开发环境的需求。 1. Flex平台介绍 ...
总之,通过使用Flex和SWFLoader组件,我们可以轻松地在Web应用程序中集成FlashPaper生成的交互式文档,为用户提供更加丰富的视觉体验和便捷的操作方式。这个示例源码对于学习和实践Flex与FlashPaper的结合是一个宝贵...
Flex是Adobe公司开发的一种用于构建富互联网应用(RIA)的技术,它基于ActionScript编程语言和Flex框架,提供了强大的用户界面组件库,使得开发者能够创建出交互性极强、视觉效果丰富的Web应用程序。本资料包“Flex...
FlexPaper 2.1.2 是一款基于Adobe Flex技术的数字出版解决方案,它允许开发者将PDF或SWF文档转换为互动式的在线阅读体验。这款工具提供了丰富的功能,如自定义Logo、书签、打印、搜索、缩略图以及通过JavaScript进行...
Flex4是一种基于ActionScript 3.0的开放源代码框架,用于构建富互联网应用程序(RIA)。它被广泛用于创建交互式、动态的Web内容,尤其是那些需要高度图形化和用户界面复杂性的应用。在本案例中,"flex4在线文档"项目...
6. **导出和打印功能**:可将设计好的报表导出为PDF、Excel、CSV等多种格式,方便分享和存档,同时支持直接打印,满足不同场合的应用需求。 7. **版本控制与协作**:通过版本管理,开发者可以追踪报表的修改历史,...
Flex是一款强大的富互联网应用程序(RIA)开发工具,而BlazeDS是Adobe提供的一个服务器端Java库,用于支持Flex应用与后端系统的通信。 首先,BlazeDS的核心功能在于提供远程对象(RemoteObject)服务,它允许Flex...
ArcGIS API for Flex 是 ESRI 在 2008 年推出的一款用于开发富互联网应用程序(RIA)的 WebGIS 客户端开发包。它提供了对 ArcGIS Server 9.3 的全新开发方式,其主要优势在于能够提供快速的运行速度以及优秀的用户...