使用adobe flash professional生成pdf文件

时间:2014-12-14 18:41:46

标签: actionscript-3 flash pdf

我一直在寻找使用flash生成pdf文件的方法。但是,所有结果都提供了灵活环境中的解决方案。我很擅长使用flex builder。如果有人能够提供关于我使用adobe flash professional生成PDF文件的程序的任何指导,那将是一个很大的帮助。需要说明的是,我使用的是CS6和actionscript 3.0。我尝试过使用AlivePDF,但它没有多大帮助。

1 个答案:

答案 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);
}