`

Flex端使用alivepdf直接导出PDF文件:测试中文有乱码

 
阅读更多

Flex端使用alivepdf直接导出PDF文件:测试中文有乱码

 

 

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.FontFamily;
import org.alivepdf.fonts.Style;
import org.alivepdf.layout.Align;
import org.alivepdf.layout.Orientation;
import org.alivepdf.layout.Size;
import org.alivepdf.layout.Unit;
import org.alivepdf.pages.Page;
import org.alivepdf.pdf.PDF;
import org.alivepdf.saving.Download;
import org.alivepdf.saving.Method;
			
protected var claimPDF:PDF;
			
protected function exportPdf():void 
{
				claimPDF = new PDF(Orientation.LANDSCAPE, Unit.MM, Size.A4);//创建PDF实例
				
				claimPDF.setDisplayMode (Display.FULL_WIDTH);//设置整个页面
				claimPDF.setTitle("这是一个标题");
				claimPDF.addPage();//添加一页(默认第一页)
				//添加图片流
				claimPDF.textStyle(new RGBColor(0x0),1);
				//				claimPDF.setFont(FontFamily.ARIAL , 13);//设置字体样式、大小
				
				var idCol:GridColumn=new GridColumn("碳排放","percent",20,Align.CENTER,Align.CENTER);
				var nameCol:GridColumn=new GridColumn("NAME","name",50,Align.CENTER,Align.CENTER);
				var ageCol:GridColumn=new GridColumn("AGE","data",40,Align.CENTER,Align.CENTER);
				var columns:Array=new Array(idCol,nameCol,ageCol);
				var grid:Grid = new Grid(treeSource.children.toArray(), 300, 300,
					new RGBColor (0xCCCCCC), new RGBColor (0xCCCCCC), 
					false, new RGBColor ( 0x0 ),1, Joint.MITER);
				grid.columns=columns;
				
				claimPDF.addGrid(grid,10,160);
				
				claimPDF.save(Method.REMOTE,"PDFServlet",Download.ATTACHMENT,"aaa.pdf");
			}
 

public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html;charset=UTF-8");
		int i = 0;
		int k = 0;
		int maxLength = request.getContentLength();// 获取请求的内容
		byte[] bytes = new byte[maxLength];// 转换byte数组
		String method = request.getParameter("method");
		String name = request.getParameter("name");// 请求的文件名,aaa.pdf
		ServletInputStream si = request.getInputStream();
		while (true) {// 循环读取文件流
			k = si.read(bytes, i, maxLength);
			i += k;
			if (k <= 0)
				break;
		}
		if (bytes != null) {
			ServletOutputStream stream = response.getOutputStream();// 实例化
			response.setContentType("application/pdf");// 内容类型
			response.setCharacterEncoding("UTF-8");// 编码方式
			response.setContentLength(bytes.length);// 设置内容长度
			response.setHeader("Content-Disposition", method + ";filename="
					+ name);
			stream.write(bytes);// 写入
			stream.flush();
			stream.close();// 关闭流
		} else {
			response.setContentType("text");
			response.getWriter().write("bytes is null");
		}
	}
分享到:
评论

相关推荐

    flex通过AlivePDF生成PDF文档

    ### flex通过AlivePDF生成PDF文档 #### 知识点概览 本文将详细介绍如何使用Flex框架结合AlivePDF库来生成PDF文档。主要内容包括:AlivePDF的基本介绍、Flex环境搭建、AlivePDF类库详解以及实际代码示例分析。 ###...

    jasperreports+alivepdf+Flex解决打印和导出PDF问题

    4. **使用alivepdf**:在Flex应用中引入alivepdf库,接收服务器返回的PDF二进制流,将其转化为PDF文件并显示在用户界面上,或者提供一个下载链接让用户保存到本地。 5. **打印功能**:利用Flex的printJob类,可以...

    AlivePDF生成pdf技术文档[参照].pdf

    AlivePDF是一个针对ActionScript 3的开源库,它允许开发者在Flex或Adobe AIR环境中创建PDF文件,并且能够支持文字、图像甚至矢量图形的绘制。这个库基于FPDF进行构建,为开发者提供了便利的API,使得PDF生成过程更为...

    flex4.5打印导出pdf完美版

    AlivePDF是一个开源的ActionScript库,它允许Flex开发者在客户端生成PDF文件,而无需服务器端处理。这个项目是在AlivePDF的基础上进行修改和优化的,以适应特定的打印需求。开发者可能已经解决了AlivePDF的一些已知...

    flex生成pdf全套

    AlivePDF是Flex中一个轻量级的库,它允许开发者在Flex应用中直接创建和导出PDF文件。这个库并不依赖Adobe AIR,因此可以在Flash Player环境中运行。在 AlivePDF 0.1.5 RC 这个版本中,你可以期待找到关于创建PDF文件...

    FLEX alive pdf 打印pdf

    2. AlivePDF库:Flex中的一个PDF处理库,能够生成、读取和修改PDF文档,同时支持客户端PDF打印。 3. PDF文档操作:AlivePDF提供的API接口,包括添加页面元素、设置样式、调整布局等。 4. 客户端打印:使用AlivePDF,...

    AlivePDF中文补丁

    解决alivepdf中文乱码问题 解决alivepdf中文乱码问题

    Flex打印控件(FlexReport)

    这可能意味着FlexReport能够利用AlivePDF来导出报表为PDF格式,方便用户保存或打印。 5. **license.txt**: 此文件通常包含软件许可协议,详细说明了FlexReport的使用条款和条件。开发者在使用此控件时应仔细阅读...

    AlivePDF 0.1.5 RC(For FlashBuilder)

    该源码源自于AlivePDF 0.1.5 RC 在Flash Builder 4.5下引入代码重建工程,已在flex sdk 3.6, 4.5下测试...理论上兼容3.*, 4.*,因为是比较底层的库,但未在全部flex sdk下编译测试,使用者根据实际使用情况测试即可。

    AlivePDF 0.1.5 RC(For FB)

    该源码源自于AlivePDF 0.1.5 RC 在Flash Builder 4.5下引入代码重建工程,已在flex sdk 3.6, 4.5下测试...理论上兼容3.*, 4.*,因为是比较底层的库,但未在全部flex sdk下编译测试,使用者根据实际使用情况测试即可。

    PDF生成例子,AIR

    在提供的压缩包文件中,"AlivePDF 0.1.4.8"很可能就是这样一个库,它是一个开源的ActionScript库,用于在Adobe Flex或AIR项目中生成PDF文档。 AlivePDF库提供了API接口,允许开发者在ActionScript代码中创建、编辑...

    MyReport免费版PDF和EXCEL报表导出

    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...

    Flex组建大全|Flash|Flex|ActionScript3.0

    17. **AlivePDF**: 开源的PDF创建库,使得在AS3中生成PDF文档成为可能。 18. **jwopitz-lib**: 提供一系列Flex用户界面组件的开源库。 19. **as3crypto**: 实现了多种加密算法的AS3库,如AES、DES等,用于数据安全...

    AS3常见开源项目大全

    20. **AlivePDF**:用于在AS3中创建PDF文档的开源库,方便生成或编辑PDF文件。 21. **jwopitz-lib**:一组Flex用户界面组件,提供额外的UI元素和功能。 22. **flare**:一套强大的可视化交互类库,用于创建复杂的...

    AS3类库资源大集合

    17. **AlivePDF**:用于在AS3中创建和编辑PDF文档的开源库。 18. **jwopitz-lib**:提供了一系列开源的Flex用户界面组件,增强应用的视觉表现和交互体验。 19. **as3crypto**:包含多种加密算法的AS3加密库,如AES...

Global site tag (gtag.js) - Google Analytics