Home  >  

Running Flex Applications Within PDFs

Author photo
| | Comments (4)
AddThis Social Bookmark Button

The entire family of Adobe Acrobat 9 products feature a Flash runtime, and Flex applications can now be embedded in a PDF. You can embed an XML document into a PDF, include a Flex application that reads the XML data, and mail the PDF to a colleague. When they open the PDF they can run the embedded application. That's a new meaning for a 'living document'. PDFs are now just another container for a Flash runtime. Your Flex application can either be viewed in a web browser or packaged into a PDF for viewing with Acrobat 9.

James Ward blogged about this in November. He calls Flex web applications embedded inside PDFs "Portable RIAs". Adobe mentions this capability somewhat obliquely in their sales literature. The third item in the Acrobat feature matrix mentions Flash support. Acrobat Pro ($449) includes LiveCycle Designer, which is necessary for embedding the XML data. LiveCycle ES is available separately for $349.

acrobatFamily.png

The Adobe Reader 9 About dialog shows support for ECMAScript:

ecmascriptAcrobat.png

The Adobe Reader Blog is more informative: "Native Adobe Flash support - Adobe Reader 9 can natively display rich media content, which you'll notice immediately with Portfolios. Interested in viewing SWF and FLV files? Adobe Reader 9 is the answer."

AIR applications cannot be embedded inside PDFs, but they can be launched from Flex webapps (see here, here and here.) Following is a diagram I made just for you, dear reader. To clarify, a web server is not required to launch a Portable RIA, or an installed AIR application.

portingOptions.png

I followed up with James and got further information. You can either save XML data back into the PDF (as shown in his article) or save to a Local Shared Object. This means that Portable RIAs are an alternative to AIR applications when offline operation is required.

The Adobe Developer Connection is your best source of information on this topic.

_______________________________

Mike Slinn
Independent full-service software contractor and author
http://slinnbooks.com
http://mslinn.com

Read more from Mike Slinn. Mike Slinn's Atom feed mslinn on Twitter

Comments

4 Comments

Mark Piller said:

Also, check out this PDF Generator available for .NET and Java backends:
http://www.themidnightcoders.com/products/pdf-generator/overview.html

You can use Flex Builder to create your templates and generate PDF documents on the server. There's also a way to include any Flash or Flex application inside of the generated document. There's a live example of that on this page (see Flex Template Explorer):
http://www.themidnightcoders.com/products/pdf-generator/examples.html

Interesting. What about printing capabilities of the PDF? If I create a beautiful degrafa diagram or something, do I get a beautiful printout?

James Ward said:

Hi Andrew,

Printing out PDFs with SWFs works surprisingly well. Try the demo in my blog post and then print it to see for yourself.

-James

Kalavati Singh said:

After reading documentation of Flex I am unable to decide whether LiveCycleData Service,BlazeDS ,Acrobat pro can be useful for my current requirement.pls help me to decide on my requirement.

Project Requirement
We are using Flex on user interface to design and develop a web application that inturns sends and receives data to a embeded web server(Vxworks 6.6).
I am quiet sure of designing/developing FLEX web application but my concerns is with connecting technologies(Flex----Web server).Can you please suggest me on this
Let me know if you need any further inputs on my end

Leave a comment


Tag Cloud

Question of the Week: Dream App

If you had an unlimited budget and unlimited resources what application would you build and why would you build it?

Answer

Latest Features

Recommended for You

@InsideRIA on Twitter

Archives

  • Or, visit our complete archive.  

About This Site

Welcome to the premiere community site for all things RIA sponsored by O'Reilly Media and Adobe Systems Incorporated.