我一直在寻找使用flash生成pdf文件的方法。但是,所有结果都提供了灵活环境中的解决方案。我很擅长使用flex builder。如果有人能够提供关于我使用adobe flash professional生成PDF文件的程序的任何指导,那将是一个很大的帮助。需要说明的是,我使用的是CS6和actionscript 3.0。我尝试过使用AlivePDF,但它没有多大帮助。
答案 0 :(得分:1)
首先从官方网站(https://code.google.com/p/alivepdf/downloads/list)下载AlivePDF;
然后,在Actionscript3设置
中将Alivepdf.swc导入到您的项目中之后,将以下脚本粘贴到舞台的第一帧
然后你可以画出一些东西并在舞台上添加一些框架。
最后,运行电影,如果一切正常,可能会提示您保存pdf文件。
import org.alivepdf.pdf.PDF;
import org.alivepdf.layout.Orientation;
import org.alivepdf.layout.Size;
import org.alivepdf.layout.Unit;
import org.alivepdf.layout.Resize;
import org.alivepdf.display.Display;
import org.alivepdf.saving.Method;
import flash.display.Sprite;
import flash.display.BitmapData;
import flash.display.DisplayObject;
import flash.display.DisplayObjectContainer;
import flash.display.MovieClip;
import flash.display.Bitmap;
import flash.events.Event;
var size:Size = Size.A4;
var orientation:String = Orientation.PORTRAIT;
var unit:String = Unit.MM;
var myPDF:PDF = new PDF(orientation, unit, size);
myPDF.setDisplayMode(Display.FULL_WIDTH);
var _pdfFilename:String = "test.pdf";
stop();
addEventListener(Event.ENTER_FRAME, CapScreen);
function CapScreen(e:Event):void
{
myPDF.addPage();
myPDF.addImage(CapStage());
var curFrame:int = this.currentFrame + 1;
this.gotoAndStop(curFrame);
if(curFrame > this.framesLoaded)
{
removeEventListener(Event.ENTER_FRAME, CapScreen);
generatePDF();
}
}
function CapStage():Bitmap
{
var bmd:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, true);
bmd.drawWithQuality(stage, null, null, null, null, true, "best");
return new Bitmap(bmd);
}
function generatePDF():void
{
var fileReference:FileReference = new FileReference();
var byteArray:ByteArray = myPDF.save(Method.LOCAL);
fileReference.save(byteArray, _pdfFilename);
}