Beenden
  • Globale Community
    • Sprache:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티

Create a PDF from a Flash page

Teilnehmer ,
Jan 11, 2011 Jan 11, 2011

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.

THEMEN
ActionScript
6.6K
Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Jan 11, 2011 Jan 11, 2011

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.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Teilnehmer ,
Jan 11, 2011 Jan 11, 2011

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

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Jan 12, 2011 Jan 12, 2011

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.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Teilnehmer ,
Jan 12, 2011 Jan 12, 2011

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

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Neu hier ,
Dec 20, 2011 Dec 20, 2011

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?

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Dec 21, 2011 Dec 21, 2011
AKTUELL

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

--

Kenneth Kawamoto

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

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Teilnehmer ,
Jan 28, 2011 Jan 28, 2011

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.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Jan 31, 2011 Jan 31, 2011

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

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Teilnehmer ,
Jan 31, 2011 Jan 31, 2011

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 }

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Jan 31, 2011 Jan 31, 2011

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");
        }
Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Teilnehmer ,
Jan 31, 2011 Jan 31, 2011

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

much I appreciate your help.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines