RE: [Flashcoders] swf 2 pdf on the fly
In addition: The parameter psdAPages is an array with movie clips which contains the textfields to print. Every movie clip is a page with the size of 595 x 842 pixels Best regards, Cor -Original Message- From: flashcoders-boun...@chattyfig.figleaf.com [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Cor Sent: zondag 30 oktober 2011 10:56 To: 'Rodrigo Augusto Guerra'; 'Flash Coders List' Subject: RE: [Flashcoders] swf 2 pdf on the fly Rodrigo, Thank you. It works OK on a windows PC, regardless the error about too big a size. But on the MAC it prints complete black pages. If I print to PDF it works but sometimes it fails because of running script time... I switch to AlivePDF now, but if anyone is interested in my PrinterOutput class, here it is: If someone detects where I am going wrong, don't hesitate to tell me :-) --- BEGIN CODE /* The Rectangle object's dimensions (width and height) are set in pixels. The printer, however, uses points as measuring units instead of pixels. Points have a fixed physical size - 1/72 of an inch, while a pixel on the screen depends on the resolution of that screen. The transformation multiplier between pixels and points depends on the printer's settings and the Sprite object's scale. A non-scaled Sprite object that has a width of 72 pixels will be printed with 1 inch in width. One point will equal one pixel, no matter what the screen resolution is. Here are some of the relations that might come in handy: 1 point = 20 tweeps = 1/72 inches 1 inch = 72 points = 1440 tweeps 1 cm = 567 tweeps Beeldscherm 72 pixels/inch: 8,268 x 11,693 inch = 21 x 29,7 cm = 595 x 842 pixels Printer 300 pixels/inch: 8,268 x 11,693 inch = 21 x 29,7 cm = 2480 x 3508 pixels If you need to change the scale of your Sprite object that you're going to print, do it before you call the addPage() method on it. Note that printArea property and the Sprite object's scale are not connected. So, if you set your print area to 100 x 100 pixels, it is going to print 1 pixels total. If you re-scale your Sprite object, it will print the same 1 pixels, but the Sprite object is printed in its rescaled appearance. */ package { import flash.printing.*; import flash.display.*; import flash.text.*; import flash.geom.*; public class PrinterOutput extends Sprite { private var aPages:Array; private var amount:uint=1; public function PrinterOutput(psdAPages:Array) { trace(psdAPages[0]); aPages=[]; aPages=psdAPages; amount=aPages.length; //test(); //FOR TESTING -> WORKS OK printOnePerPage(); //printTwoPerPage(); //printTopHalf(); } private function test():void { for (var i:uint = 0; i < amount; ++i) { var sheet:Sprite = new Sprite(); createSheet(sheet, "Er was eens een...", { x:10, y:50, width:80, height:130 } ); } } private function createSheet(sheet:Sprite, str:String, imgValue:Object):void { sheet.graphics.beginFill(0xEE); sheet.graphics.lineStyle(1, 0x00); sheet.graphics.drawRect(0, 0, 100, 200); sheet.graphics.endFill(); var fmt:TextFormat = new TextFormat(); fmt.font="Tahoma"; fmt.size = 2; var txt:TextField = new TextField(); txt.defaultTextFormat=fmt; txt.height=200; txt.width=100; txt.wordWrap=true; txt.text=str; if (imgValue!=null) { var img:Sprite = new Sprite(); img.graphics.beginFill(0xFF); img.graphics.drawRect(imgValue.x, imgValue.y, imgValue.width, imgValue.height); img.graphics.endFill(); sheet.addChild(img); } sheet.addChild(txt); aPages=[]; aPages.push(sheet); } private function printOnePerPage():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint=0; if (pj.start()) { if (pj.orientation==PrintJobOrientation.LANDSCAPE)
RE: [Flashcoders] swf 2 pdf on the fly
{ pj.addPage(aPages[i]); pagesToPrint++; } catch (e:Error) { // do nothing } } trace(">> pj.orientation: " + pj.orientation, ">> pj.pageWidth: " + pj.pageWidth, ">> pj.pageHeight: " + pj.pageHeight); if (pagesToPrint>0) { pj.send(); } } } private function printTwoPerPage():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint=0; if (pj.start()) { if (pj.orientation==PrintJobOrientation.PORTRAIT) { throw new Error("Without embedding fonts you must print two sheets per page with an orientation of landscape."); } for (var i:uint = 0; i < amount; ++i) { aPages[i].height=pj.pageHeight; aPages[i].width=pj.pageWidth/2; if (i%2==0) { var sheets:Sprite = new Sprite(); sheets.addChild(aPages[i]); if (aPages[i+1]) { sheets.addChild(aPages[i+1]); sheets.getChildAt(1).x=sheets.getChildAt(0).width; } try { pj.addPage(aPages[i]); pagesToPrint++; } catch (e:Error) { // do nothing } } } if (pagesToPrint>0) { pj.send(); } } } private function printTopHalf():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint=0; if (pj.start()) { if (pj.orientation==PrintJobOrientation.PORTRAIT) { throw new Error("Without embedding fonts you must print the top half with an orientation of landscape."); } for (var i:uint = 0; i < amount; ++i) { aPages[i].height=pj.pageHeight; aPages[i].width=pj.pageWidth/2; if (i%2==0) { var sheets:Sprite = new Sprite(); sheets.addChild(aPages[i]); if (aPages[i+1]) { sheets.addChild(aPages[i+1]); sheets.getChildAt(1).x=sheets.getChildAt(0).width; } try { pj.addPage(sheets, new Rectangle(0, 0, sheets.width, sheets.height/2)); pagesToPrint++; } catch (e:Error) { // do nothing } } } if (pagesToPrint>0) { pj.send(); } } } }//end class }//en package --- END CODE Best regards, Cor -Original Message- From: flashcoders-boun...@chattyfig.figleaf.com [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Rodrigo Augusto Guerra Sent: vrijdag 28 oktober 2011 17:42 To: Flash Coders List Subject: Re: [Flashcoders] swf 2 pdf on the fly hi guys... thanks for all the answers. I'll give a try on alivePDF and purePDF. Willem could you send a link for the class u created? Cor here is what i'm using to print, works ok on windows... never needed
Re: [Flashcoders] swf 2 pdf on the fly
hi guys... thanks for all the answers. I'll give a try on alivePDF and purePDF. Willem could you send a link for the class u created? Cor here is what i'm using to print, works ok on windows... never needed to test on MAc but will do it... var my_pj:PrintJob = new PrintJob(); //mostra caixa impressao if (my_pj.start()) { var myFlag1:Boolean = my_pj.addPage(_root.mcPrintExamCand) } - Original Message - From: "Geografiek" To: "Flash Coders List" Sent: Friday, October 28, 2011 10:18 AM Subject: Re: [Flashcoders] swf 2 pdf on the fly Hi Cor and Rodrigo, I use AlivePdf a lot. I managed to get high resolution pdf's from swf's through a little custom class, I'm glad to share if you wish. I recognise the problems you describe Cor but afaik they do not affect the quality of my prints on both platforms. I googled "Warning: Filter will not render. The DisplayObject's filtered dimensions" which should give you some clues. HTH Willem van den Goorbergh On 28 okt 2011, at 14:22, Cor wrote: Hi, Look at AlivePDF. I am figuring out how this works with Flash (just started) I have issues printing from flash. It errors that the size is too big and of that filters can't be printed. However, I don't use filters and the size of my MC is 595x842 which is the exact size of PrintJob.pageSize On Windows it prints OK, but on MAC systems it gives total black prints. Can you tell me how you do your printing? Best regards, Cor van Dooren -Original Message- From: flashcoders-boun...@chattyfig.figleaf.com [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Rodrigo Augusto Guerra Sent: vrijdag 28 oktober 2011 14:56 To: Flash Coders List Subject: [Flashcoders] swf 2 pdf on the fly hi all, I have a flash swf that generates a report inside a mc then print it. ok. now my client wants a button 'save to pdf.' not just print... The more automated the better, I wonder if someone has any hint on this, some tool that I can install on th server and it does that for me ... thanks, rodrigo ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= Geografiek is a Dutch, Utrecht-based map and chart design company. Willem van den Goorbergh can be contacted by telephone: (+31)30-2719512 or cell phone: (+31)6-26372378 snail mail: Hooghiemstraplein 89 3514 AX UTRECHT Visit our website at: www.geografiek.nl twitter: @wvdgoorbergh =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Re: [Flashcoders] swf 2 pdf on the fly
Hi Cor and Rodrigo, I use AlivePdf a lot. I managed to get high resolution pdf's from swf's through a little custom class, I'm glad to share if you wish. I recognise the problems you describe Cor but afaik they do not affect the quality of my prints on both platforms. I googled "Warning: Filter will not render. The DisplayObject's filtered dimensions" which should give you some clues. HTH Willem van den Goorbergh On 28 okt 2011, at 14:22, Cor wrote: > Hi, > > Look at AlivePDF. > I am figuring out how this works with Flash (just started) > > I have issues printing from flash. > It errors that the size is too big and of that filters can't be printed. > However, I don't use filters and the size of my MC is 595x842 which is the > exact size of PrintJob.pageSize > On Windows it prints OK, but on MAC systems it gives total black prints. > > Can you tell me how you do your printing? > > > Best regards, > Cor van Dooren > > -Original Message- > From: flashcoders-boun...@chattyfig.figleaf.com > [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Rodrigo > Augusto Guerra > Sent: vrijdag 28 oktober 2011 14:56 > To: Flash Coders List > Subject: [Flashcoders] swf 2 pdf on the fly > > hi all, > > I have a flash swf that generates a report inside a mc then print it. ok. > now my client wants a button 'save to pdf.' not just print... > > The more automated the better, I wonder if someone has any hint on this, > some tool that I can install on th server and it does that for me ... > > thanks, > rodrigo > ___ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > ___ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= Geografiek is a Dutch, Utrecht-based map and chart design company. Willem van den Goorbergh can be contacted by telephone: (+31)30-2719512 or cell phone: (+31)6-26372378 snail mail: Hooghiemstraplein 89 3514 AX UTRECHT Visit our website at: www.geografiek.nl twitter: @wvdgoorbergh =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Re: [Flashcoders] swf 2 pdf on the fly
FPDF is an on-the-fly pdf creator in php that looks pretty easy to implement. visit here to read more. http://www.fpdf.org/ HTH, Best, Karl On Oct 28, 2011, at 7:35 AM, Jens Struwe wrote: I have recently tested these two libs: - alivepdf - purepdf I ended up using alivepdf. Smaller lib size, better documented and it worked with the first set up. The code to provide the download link: import flash.events.IOErrorEvent; import flash.net.FileReference; ... var fileName : String = _fileName + ".pdf"; try { var f : FileReference = new FileReference(); f.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); f.save(_pdf.save(Method.LOCAL), fileName); } catch (e : Error) { trace ("COULD NOT SAVE PDF"); } ... private function ioErrorHandler(event : IOErrorEvent) : void { trace ("PERHAPS THE DOCUMENT IS OPEN"); } Am 28.10.2011 14:56, schrieb Rodrigo Augusto Guerra: hi all, I have a flash swf that generates a report inside a mc then print it. ok. now my client wants a button 'save to pdf.' not just print... The more automated the better, I wonder if someone has any hint on this, some tool that I can install on th server and it does that for me ... thanks, rodrigo ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Karl DeSaulniers Design Drumm http://designdrumm.com ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Re: [Flashcoders] swf 2 pdf on the fly
I have recently tested these two libs: - alivepdf - purepdf I ended up using alivepdf. Smaller lib size, better documented and it worked with the first set up. The code to provide the download link: import flash.events.IOErrorEvent; import flash.net.FileReference; ... var fileName : String = _fileName + ".pdf"; try { var f : FileReference = new FileReference(); f.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); f.save(_pdf.save(Method.LOCAL), fileName); } catch (e : Error) { trace ("COULD NOT SAVE PDF"); } ... private function ioErrorHandler(event : IOErrorEvent) : void { trace ("PERHAPS THE DOCUMENT IS OPEN"); } Am 28.10.2011 14:56, schrieb Rodrigo Augusto Guerra: hi all, I have a flash swf that generates a report inside a mc then print it. ok. now my client wants a button 'save to pdf.' not just print... The more automated the better, I wonder if someone has any hint on this, some tool that I can install on th server and it does that for me ... thanks, rodrigo ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
RE: [Flashcoders] swf 2 pdf on the fly
Hi, Look at AlivePDF. I am figuring out how this works with Flash (just started) I have issues printing from flash. It errors that the size is too big and of that filters can't be printed. However, I don't use filters and the size of my MC is 595x842 which is the exact size of PrintJob.pageSize On Windows it prints OK, but on MAC systems it gives total black prints. Can you tell me how you do your printing? Best regards, Cor van Dooren -Original Message- From: flashcoders-boun...@chattyfig.figleaf.com [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Rodrigo Augusto Guerra Sent: vrijdag 28 oktober 2011 14:56 To: Flash Coders List Subject: [Flashcoders] swf 2 pdf on the fly hi all, I have a flash swf that generates a report inside a mc then print it. ok. now my client wants a button 'save to pdf.' not just print... The more automated the better, I wonder if someone has any hint on this, some tool that I can install on th server and it does that for me ... thanks, rodrigo ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Re: [Flashcoders] swf 2 pdf on the fly
Look up swftools. They have something to handle this. On 10/28/11 8:56 AM, "Rodrigo Augusto Guerra" wrote: >hi all, > >I have a flash swf that generates a report inside a mc then print it. ok. >now my client wants a button 'save to pdf.' not just print... > >The more automated the better, I wonder if someone has any hint on this, >some tool that I can install on th server and it does that for me ... > >thanks, >rodrigo >___ >Flashcoders mailing list >Flashcoders@chattyfig.figleaf.com >http://chattyfig.figleaf.com/mailman/listinfo/flashcoders ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Re: [Flashcoders] swf 2 pdf on the fly
You could just read up on the pdf file format specification. ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
[Flashcoders] swf 2 pdf on the fly
hi all, I have a flash swf that generates a report inside a mc then print it. ok. now my client wants a button 'save to pdf.' not just print... The more automated the better, I wonder if someone has any hint on this, some tool that I can install on th server and it does that for me ... thanks, rodrigo ___ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders