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.
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.
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
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.
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
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?
Copy link to clipboard
Copied
Generate your PDF using PHP and save it to wherever you like.
--
Kenneth Kawamoto
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.
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");
}
}
}
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 }
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");
}
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.