• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Create a PDF from a Flash page

Participant ,
Jan 11, 2011 Jan 11, 2011

Copy link to clipboard

Copied

I need some help with a request from a client. I have created a form that a user fills out and the answers they give are added to a email as text. This works great but now the client wants the text answers in a PDF not just as text in an email. My question is, is there a way to create a PDF from the answers on a form from within the Flash program. The answers are saved in variables then added as text to the email.

TOPICS
ActionScript

Views

6.0K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 11, 2011 Jan 11, 2011

Copy link to clipboard

Copied

Alive http://alivepdf.bytearray.org/ lets you create PDF from Flash in client-side, but sounds like you need a server-side solution, which can be done by calling a server-side script (eg. PHP http://php.net/manual/en/book.pdf.php) from Flash.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 11, 2011 Jan 11, 2011

Copy link to clipboard

Copied

Thank you so much for your reply. I actually do need a client side solution. I did look at AlivePDF but I could not work out how to use it. If you could help me here I would be grateful but otherwise I will investigate further. Again thanks much for your interest.

Terry Sayers

Sent from my iPad

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 12, 2011 Jan 12, 2011

Copy link to clipboard

Copied

All right then - here's a super rudimentary example, "Hello World!" (what else?)

...

    import org.alivepdf.display.Display;
    import org.alivepdf.fonts.CoreFont;
    import org.alivepdf.fonts.EmbeddedFont;
    import org.alivepdf.fonts.FontFamily;
    import org.alivepdf.fonts.IFont;
    import org.alivepdf.layout.Orientation;
    import org.alivepdf.layout.Size;
    import org.alivepdf.layout.Unit;
    import org.alivepdf.pdf.PDF;
    import org.alivepdf.saving.Download;
    import org.alivepdf.saving.Method;

...

        private function generatePDF():void {
            var pdf:PDF = new PDF(Orientation.PORTRAIT, Unit.MM, Size.A4);
            var helvetica:IFont = new CoreFont(FontFamily.HELVETICA);
            pdf.setDisplayMode(Display.REAL);
            pdf.addPage();
            pdf.setFont(helvetica, 24);
            pdf.writeText(24, "Hello World!");
            pdf.save(Method.REMOTE, "http://alivepdf.bytearray.org/wp-content/demos/create.php", Download.INLINE, "helloworld.pdf");
        }

The PDF should appear in your browser window.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 12, 2011 Jan 12, 2011

Copy link to clipboard

Copied

you are so very kind, thanks. I am going to try this out. It looks exactly what I am looking for.

Terry Sayers

Sent from my iPad

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 20, 2011 Dec 20, 2011

Copy link to clipboard

Copied

This was very helpful! Now, what I would like to do, is automatically save a copy of that same pdf to a folder of my choosing in the same level as the create.php file.  It's great that the user has a copy but I'd like a copy of it myself. Is that possible?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Dec 21, 2011 Dec 21, 2011

Copy link to clipboard

Copied

LATEST

Generate your PDF using PHP and save it to wherever you like.

--

Kenneth Kawamoto

http://www.materiaprima.co.uk/

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 28, 2011 Jan 28, 2011

Copy link to clipboard

Copied

Sorry still can't work this out. I have looked at the tutorials and tried 
your code below but no luck. Do you think I could ask you to show me exactly 
where I put this code. I take it, it is in a class and I have fiddled with 
this for hours but to no avail. I also noticed that the PDF is created, with 
your code, server side. I need the PDF to be created on the client. Is this 
possible in FLASH? The tutorials seem to say that FLEX is the one to do this 
client side?

Sorry to be a bother with this but I really need this to  work.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 31, 2011 Jan 31, 2011

Copy link to clipboard

Copied

Here's an again super rudimental example - click on the stage will invoke the "save file as..." dialogue.

package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.net.FileReference;
    import flash.utils.ByteArray;
   
    import org.alivepdf.fonts.CoreFont;
    import org.alivepdf.fonts.FontFamily;
    import org.alivepdf.fonts.IFont;
    import org.alivepdf.layout.Orientation;
    import org.alivepdf.layout.Size;
    import org.alivepdf.layout.Unit;
    import org.alivepdf.pdf.PDF;
    import org.alivepdf.saving.Download;
    import org.alivepdf.saving.Method;

    public class PDFDemo extends Sprite {
        private var _pdfByteArray:ByteArray;
       
        public function PDFDemo():void {
            var pdf:PDF = new PDF(Orientation.PORTRAIT, Unit.MM, Size.A4);
            var helvetica:IFont = new CoreFont(FontFamily.HELVETICA);
            pdf.addPage();
            pdf.setFont(helvetica, 24);
            pdf.writeText(24, "Hello World!");
            _pdfByteArray = pdf.save(Method.LOCAL, null, Download.ATTACHMENT);
           
            stage.addEventListener(MouseEvent.CLICK, click);
        }
       
        private function click(e:MouseEvent):void {
            new FileReference().save(_pdfByteArray, "hello-world!.pdf");
        }
    }   
}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 31, 2011 Jan 31, 2011

Copy link to clipboard

Copied

Thank you so much for your help, again. I have created the example as shown

but I am still getting an error message:

"PDFDemo.as, Line 39 1061: Call to a possibly undefined method save

through a reference with static type Class."

37 private function click(e:MouseEvent):void

38 {

39 new FileReference .save(_pdfByteArray, "hello-world!.pdf");

40

41 }

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 31, 2011 Jan 31, 2011

Copy link to clipboard

Copied

Have you imported FileReference class? Also your code is missing the parentheses. You could of course write it like this as well:

        private function click(e:MouseEvent):void {
            var file:FileReference = new FileReference();
            file.save(_pdfByteArray, "hello-world!.pdf");
        }

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 31, 2011 Jan 31, 2011

Copy link to clipboard

Copied

Thank you so much that did it, missing parenthesis. I can't tell you how

much I appreciate your help.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines