直接上例子吧,本来想用html布局生成pdf的,没成功。。。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:groe_org="org.groe.html.*"
minWidth="955"
minHeight="600">
<fx:Declarations>
</fx:Declarations>
<fx:Script>
<![CDATA[
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import mx.core.UIComponent;
import org.alivepdf.colors.RGBColor;
import org.alivepdf.data.Grid;
import org.alivepdf.data.GridColumn;
import org.alivepdf.display.Display;
import org.alivepdf.drawing.Joint;
import org.alivepdf.fonts.CoreFont;
import org.alivepdf.fonts.FontFamily;
import org.alivepdf.fonts.Style;
import org.alivepdf.layout.Layout;
import org.alivepdf.layout.Orientation;
import org.alivepdf.layout.Position;
import org.alivepdf.layout.Resize;
import org.alivepdf.layout.Size;
import org.alivepdf.layout.Unit;
import org.alivepdf.pdf.PDF;
import org.alivepdf.saving.Method;
import org.groe.html.FlashHtmlRenderer;
import org.groe.html.HtmlParser;
import spark.components.ResizeMode;
protected var frPDF:PDF;
[Bindable]
private var str:String = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"><html><head><title>groe.org AS3 Html Parser Test</title><div style='border: 1px red solid;'>Hello</div></body></html>";
private function onSave(e:Event):void
{
var pdf:PDF=new PDF(Orientation.PORTRAIT, Unit.MM, Size.LETTER);
pdf.setDisplayMode(Display.FULL_WIDTH, Layout.SINGLE_PAGE);
pdf.addPage();
var gridColumnParcel:GridColumn=new GridColumn("Parcel ID", "Cls_Name", 100);
var gridColumnAcreage:GridColumn=new GridColumn("Parcel Acreage", "Area_Acre", 100);
var columns:Array=new Array(gridColumnParcel, gridColumnAcreage);
var arr:Array=[{Cls_Name: "Bob", Area_Acre: "Groove"}, {Cls_Name: "Bob", Area_Acre: "Wise", city: "Paris"}];
pdf.setMargins(10, 10, 10, 10);
pdf.textStyle(new RGBColor(0xCCCCCC), 1);
pdf.setFont(new CoreFont());
var grid:Grid=new Grid(arr, 500, 1200, new RGBColor(0x0038FF), new RGBColor(0x00CCFF), true, new RGBColor(0x0), .1);
grid.columns=columns;
pdf.addGrid(grid);
pdf.setFont( new CoreFont(FontFamily.COURIER),14 );
pdf.textStyle ( new RGBColor ( 0x990000 ) );
pdf.addMultiCell ( 70, 12, "AAAAAAAAAAAAAAAAAAAAAAAa multicell :)", 1);
pdf.addMultiCell ( 70, 12, "A multicell :)", 1,"J",1);
pdf.newLine(2);
pdf.addPage();
pdf.addCell(70, 12, "BBBBBBBBBBBBBBBBBBBBBBB cell :)", 1);
pdf.addCell(70, 12, "B cell :)", 1);
pdf.writeText ( 5, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.");
var bytes:ByteArray=pdf.save(Method.LOCAL);
var f:FileReference=new FileReference();
f.save(bytes, "pdf.pdf");
}
private function printScreenShot(e:Event):void
{
var whatToPrint:UIComponent=this;
var printPDF:PDF=new PDF(Orientation.LANDSCAPE, Unit.MM, Size.A4);
printPDF.setDisplayMode(Display.FULL_WIDTH, Layout.SINGLE_PAGE);
printPDF.addPage();
printPDF.addImage(whatToPrint, new Resize(ResizeMode.SCALE, Position.CENTERED), 0, 0, 100, 100);
// printPDF.save(Method.REMOTE, serverScript, howToOutput, "alivePDFExample.pdf");
var bytes:ByteArray=printPDF.save(Method.LOCAL);
var f:FileReference=new FileReference();
f.save(bytes, "screenshot.pdf");
}
private function htmlForPDF(e:Event):void
{
var whatToPrint:UIComponent=this;
var printPDF:PDF=new PDF(Orientation.LANDSCAPE, Unit.MM, Size.A4);
printPDF.setDisplayMode(Display.FULL_PAGE, Layout.SINGLE_PAGE);
printPDF.addPage();
//printPDF.writeFlashHtmlText(20, "<div style='border: 1px silver solid;'>Hello</div>");
//whatToPrint = FlashHtmlRenderer.render(HtmlParser.parse("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"><html><head><title>groe.org AS3 Html Parser Test</title><div style='border: 1px red solid;'>Hello</div></body></html>"));
printPDF.addImage(whatToPrint);
var bytes:ByteArray=printPDF.save(Method.LOCAL);
var f:FileReference=new FileReference();
f.save(bytes, "html.pdf");
}
]]>
</fx:Script>
<s:layout>
<s:HorizontalLayout verticalAlign="middle" horizontalAlign="center"/>
</s:layout>
<s:Button label="pdf" click="onSave(event)"/>
<s:Button label="html" click="htmlForPDF(event)"/>
<s:Button label="printScreenShot" click="printScreenShot(event)"/>
</s:Application>
如果你想用一张图片做背景,你可以这样做:
[Embed( source="/assets/images/pdf/option3.jpg", mimeType="application/octet-stream" )]
private var jpg3Bytes:Class;
var resize:Resize = new Resize(Mode.RESIZE_PAGE, Position.CENTERED);
pdf.addImageStream( new jpg3Bytes() as ByteArray, ColorSpace.DEVICE_RGB, resize);
分享到:
相关推荐
### flex通过AlivePDF生成PDF文档 #### 知识点概览 本文将详细介绍如何使用Flex框架结合AlivePDF库来生成PDF文档。主要内容包括:AlivePDF的基本介绍、Flex环境搭建、AlivePDF类库详解以及实际代码示例分析。 ###...
如果目标用户群使用的是Flash Player 10或更高版本,可以直接在本地生成PDF。 在服务器端,AlivePDF提供了PHP、Java和C#的示例代码,便于开发者集成到自己的服务端环境。对于AIR应用,由于可以直接访问本地文件系统...
本资源“flex生成pdf全套”提供了一个解决方案,通过AlivePDF库来实现这一目标。 AlivePDF是Flex中一个轻量级的库,它允许开发者在Flex应用中直接创建和导出PDF文件。这个库并不依赖Adobe AIR,因此可以在Flash ...
4. **使用alivepdf**:在Flex应用中引入alivepdf库,接收服务器返回的PDF二进制流,将其转化为PDF文件并显示在用户界面上,或者提供一个下载链接让用户保存到本地。 5. **打印功能**:利用Flex的printJob类,可以...
在提供的压缩包文件中,"AlivePDF 0.1.4.8"很可能就是这样一个库,它是一个开源的ActionScript库,用于在Adobe Flex或AIR项目中生成PDF文档。 AlivePDF库提供了API接口,允许开发者在ActionScript代码中创建、编辑...
解决alivepdf中文乱码问题 解决alivepdf中文乱码问题
AlivePDF是Flex的一个库,它允许开发人员在客户端生成、读取和修改PDF文档。 在Flex应用中,AlivePDF库提供了API接口,可以方便地创建PDF文档,并且支持对PDF进行各种操作,如添加文本、图像、表格、线条等元素,...
该源码源自于AlivePDF 0.1.5 RC 在Flash Builder 4.5下引入代码重建工程,已在flex sdk 3.6, 4.5下测试。 理论上兼容3.*, 4.*,因为是比较底层的库,但未在全部flex sdk下编译测试,使用者根据实际使用情况测试...
AlivePDF是一个开源的ActionScript库,它允许Flex开发者在客户端生成PDF文件,而无需服务器端处理。这个项目是在AlivePDF的基础上进行修改和优化的,以适应特定的打印需求。开发者可能已经解决了AlivePDF的一些已知...
该源码源自于AlivePDF 0.1.5 RC 在Flash Builder 4.5下引入代码重建工程,已在flex sdk 3.6, 4.5下测试。 理论上兼容3.*, 4.*,因为是比较底层的库,但未在全部flex sdk下编译测试,使用者根据实际使用情况测试...
Flex打印控件,如标题所述,FlexReport,是一种在Adobe Flex应用程序中用于生成和打印报告的组件。这个压缩包`FlexReport.zip`...同时,它也展示了如何利用AlivePDF进行PDF生成,以及如何组织和管理应用程序的资源。
MyReport 2.3.6免费版PDF和EXCEL文件导出,导出功能整合到打印预览界面中,直接读取MyReport的XML报表文件动态导出。此代码为flex 4.6的网页导出,引用MyReport 2.3.6.0免费版、AlivePDF_0.1.5、as3xls-1.0.1三个SWC...
17. **AlivePDF**: 开源的PDF创建库,使得在AS3中生成PDF文档成为可能。 18. **jwopitz-lib**: 提供一系列Flex用户界面组件的开源库。 19. **as3crypto**: 实现了多种加密算法的AS3库,如AES、DES等,用于数据安全...
20. **AlivePDF**:用于在AS3中创建PDF文档的开源库,方便生成或编辑PDF文件。 21. **jwopitz-lib**:一组Flex用户界面组件,提供额外的UI元素和功能。 22. **flare**:一套强大的可视化交互类库,用于创建复杂的...
17. **AlivePDF**:用于在AS3中创建和编辑PDF文档的开源库。 18. **jwopitz-lib**:提供了一系列开源的Flex用户界面组件,增强应用的视觉表现和交互体验。 19. **as3crypto**:包含多种加密算法的AS3加密库,如AES...