博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flex端使用alivepdf直接导出PDF文件:测试中文有乱码
阅读量:6279 次
发布时间:2019-06-22

本文共 2655 字,大约阅读时间需要 8 分钟。

hot3.png

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");		}	}

转载于:https://my.oschina.net/darkness/blog/802131

你可能感兴趣的文章
操作系统真实的虚拟内存是什么样的(一)
查看>>
hadoop、hbase、zookeeper集群搭建
查看>>
python中一切皆对象------类的基础(五)
查看>>
modprobe
查看>>
android中用ExpandableListView实现三级扩展列表
查看>>
%Error opening tftp://255.255.255.255/cisconet.cfg
查看>>
java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
查看>>
《从零开始学Swift》学习笔记(Day 51)——扩展构造函数
查看>>
python多线程队列安全
查看>>
[汇编语言学习笔记][第四章第一个程序的编写]
查看>>
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>