Adobe AIR & Printing

7,792 views

Published on

AIR & Printing is a talk made during SOTR 2010 in London.
During this event I talked on how to work offline with AIR to create PDF in runtime directly with Actionscript 3 without using any other technology

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Adobe AIR & Printing

  1. 1. AIR & Printing AIR 2, AlivePDF and PurePDF: everything you need in your RIA or desktop apps
  2. 2. Luca Mezzalira ACE and ACI on Flash, Flex with AIR and Flash Lite Mart3 owner and Flash Platform Developer Adobe Italy Consultant Teacher, Writer, Adobe supporter!
  3. 3. Luca Mezzalira ACE and ACI on Flash, Flex with AIR and Flash Lite Mart3 owner and Flash Platform Developer Adobe Italy Consultant Teacher, Writer, Adobe supporter! Oh, yes! I forget! I’m Chewbacca also!
  4. 4. Save time when someone ask me to print a report in my RIA or Desktop App
  5. 5. Agenda . Printing with Flash and Flex . AIR 2 new features . AIR 2 and PrintJob . AlivePDF . PurePDF . Questions & Answear
  6. 6. When do you use PRINTING API? . to print a report . to print a form (invoice, receipt, ...) . to print an artwork . to prepare a PDF for typography (REMEMBER that WE HAVE TLF)
  7. 7. Printing in Flash . PrintJob class . OS Dialog box to interact with printer . problem to create complex documents . problem to manage more than 1 page . problem to print big images . not easy to work with dynamic data
  8. 8. Printing with Flex . FlexPrintJob to print Flex objects . PrintAdvancedDataGrid . PrintDataGrid . PrintOLAPDataGrid
  9. 9. FlexPrintJob var printJob:FlexPrintJob = new FlexPrintJob(); printJob.start(); printJob.addObject(myObject, FlexPrintJobScaleType.MATCH_WIDTH); printJob.send(); When you call start() method Flash Player or AIR: 1. give a feedback from user’s choice (true/false) 2. retrieve page dimension from Printer Each object added with addObject method will be print in a different page
  10. 10. PrintDataGrid //thePrintView is a custom component with PrintDataGrid component printJob.addObject(thePrintView); while (thePrintView.myDataGrid.validNextPage) { thePrintView.myDataGrid.nextPage(); printJob.addObject(thePrintView); } With PrintDataGrid component you can manage rows to print in many pages
  11. 11. this is the past... ...now the PRESENT
  12. 12. AIR 2 new features Multitouch API ( do you know Steve!? ) Microphone data access Open documents with user’s default application UDP Socket Socket Server (this feature ROCKS!) Screen reader support File promises Mass storage device detection Printing API ( :D ) ... and so on ...
  13. 13. AIR Printing API . pixelsPerInch -> resolution to use for Bitmap . printer -> set Printer . printers -> Vector.<String> with all printers installed . copies -> number of copies to print . selectePaperSize() -> choose your page size . start2() -> start a print with new API . terminate() -> reset PrintJob object if you need it
  14. 14. AIR Printing API PrintMethod: . AUTO -> Automatic selection of best method of printing . VECTOR -> ehm... maybe print with Vector method? . BITMAP -> mumble, mumble... DOH! PrintIUIOptions -> need to manage Print Dialog Box Everything you need it’s Language Reference!!!
  15. 15. AlivePDF AS3 PDF library AlivePDF works with: Images, EPS files, you can use online Vectors, Embedded and offline Fonts... you don’t need You can add in your any serverside PDF: links, script transitions, PDF settings, ... THANK YOU MATE!
  16. 16. AlivePDF Steps to work with AlivePDF API: 1. create a PDF object 2. addPage() 3. add content (images, text, eps...) 3a. (Optional) setting your PDF... 4. save it with FileReference or FileStream
  17. 17. AlivePDF - case history My client ask me to create a comic creator that runs on Mac and PC without installation What do I need ??? Flash + Zinc + AlivePDF
  18. 18. PurePDF It’s a very powerful PDF library made by Sephiroth http://www.sephiroth.it/weblog/archives/2010/02/ purepdf_a_complete_actionscript_pdf_l.php PurePDF has tons of cool features: . barcode generator . multi column . embedded movies . metadata, page headers, page footers . vertical text . javascript ... and so on
  19. 19. PurePDF This library is targeted for Flash Player 10 For any help, doubt or more use PurePDF list: http://code.google.com/p/purepdf/issues/list Sepy and his team is working on this open-source as3 libs so in the next future will see new amazing functionalities!!!
  20. 20. Resources ALIVEpdf http://code.google.com/p/alivepdf/ PUREpdf http://code.google.com/p/purepdf/ FlexReport http://flexreport.riaforge.org/
  21. 21. Finally...
  22. 22. my “thoughts” about Flash Platform attack:
  23. 23. my “thoughts” about Flash Platform attack: HTML 5, Apple and so on!
  24. 24. my “thoughts” about Flash Platform attack: HTML 5, Apple and so on! NO OOP, Design Patterns, workflow, TLF, real multiple screen deployment...
  25. 25. to lose your time with this cool shit! blog:lucamezzalira.com email:luca@mart3.org twitter:lucamezzalira site:www.mart3.org

×