SlideShare a Scribd company logo
PDF & iOS
Dritte per sfogliare e cominciare a “disegnare” su
                      un PDF




                        1
Argomenti affrontati


iOS & PDF

Open Source iOS PDF Reader Core

Appunti a mano libera su PDF




                   2
iOS & PDF


Apple supporta pienamente la visualizzazione
e gestione dei PDF tramite Quartz 2D

Le classi CGPDF* foniscono tutti i metodi per
gestire un PDF




                    3
Quartz 2D




    4
Quartz 2D

CGPDFDocument: “encapsulates a document that
contains PDF drawing information”

CGContextDrawPDFPage: “after you create a
CGPDFDocument object, you can draw it to a
graphics context”

ZoomigPDFViewer (esempio Apple)



                       5
Quartz 2D

        Documentazione Ufficiale Apple


    https://developer.apple.com/library/ios/#documentation/
  GraphicsImaging/Conceptual/drawingwithquartz2d/dq_pdf/
dq_pdf.html#/ /apple_ref/doc/uid/TP30001066-CH214-TPXREF101




                             6
iPDFdev
http://ipdfdev.com/




         7
iOS PDF Reader Core
Progetto Open Source sviluppato da VFR

Già implementate funzioni principali, tranne la
ricerca

Facile aggiunta di funzionalità

Possibilità di modificare l’interfaccia grafica

github.com/vfr/Reader & github.com/vfr/
Viewer

                     8
UI iPhone (Reader)




        9
Disegnare su PDF con
     CGContext

Creare un PDF tramite un context grafico
CGPDF*

Creare un nuovo PDF, unendo un PDF
esistente con un disegno, sempre nel context




                    10
Smooth Line UIView


Progetto Open Source creato da Levi Nunnink

Disegnare line “senza spigoli” utilizzando
Quartz e non OpenGL

github.com/levinunnink/Smooth-Line-View




                     11
Smooth Line UIView


Singola pagina del PDF diventa immagine di
sfondo della Smooth Line UIView

La nuova pagina del PDF viene creata unendo
nel context immagine di sfondo con linee
disegnate dall’utente



                   12
13
Demo PDFSign
https://github.com/darthpelo/PDFSign




                 14
Grazie :-)
http://www.slideshare.net/AlessioR/talklab-pdf-01


                    Alessio Roberto
                    @alessioroberto
                alessio@alessioroberto.it




                           15

More Related Content

Similar to PDF & iOS

Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Gaetano Paternò
 
MobileDevCamp2012 - Android
MobileDevCamp2012 - AndroidMobileDevCamp2012 - Android
MobileDevCamp2012 - Androidmobiledevcamp
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...Marco Parenzan
 
Flash Platform su dispositivi mobili
Flash Platform su dispositivi mobiliFlash Platform su dispositivi mobili
Flash Platform su dispositivi mobililuca mezzalira
 
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Antonio Gallo
 
Android base day1
Android base day1Android base day1
Android base day1Andrea Zaza
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Gabriele Gaggi
 
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernoDrupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernosparkfabrik
 
Tesi Marco Ventura
Tesi Marco VenturaTesi Marco Ventura
Tesi Marco Venturaguest335584
 
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...EvolutionBook S.r.l.
 
Future Decoded Roma - Visual Studio, Cordova e Ionic Framework to create X-...
Future Decoded Roma  - Visual Studio, Cordova e Ionic Framework  to create X-...Future Decoded Roma  - Visual Studio, Cordova e Ionic Framework  to create X-...
Future Decoded Roma - Visual Studio, Cordova e Ionic Framework to create X-...Michele Aponte
 
Adobe ACROBAT 9: bochure commerciale
Adobe ACROBAT 9: bochure commercialeAdobe ACROBAT 9: bochure commerciale
Adobe ACROBAT 9: bochure commercialeEvolutionBook S.r.l.
 
Drupal Day 2011 - MobileD!
Drupal Day 2011 - MobileD!Drupal Day 2011 - MobileD!
Drupal Day 2011 - MobileD!DrupalDay
 
Protocollo Informatico: studio preliminare
Protocollo Informatico: studio preliminareProtocollo Informatico: studio preliminare
Protocollo Informatico: studio preliminareEvolutionBook S.r.l.
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developerssparkfabrik
 
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCA
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCAGestire i pdf con IOS - Maurizio Moriconi - WhyMCA
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCAWhymca
 
Ubuntu Phone: the community smartphone
Ubuntu Phone: the community smartphoneUbuntu Phone: the community smartphone
Ubuntu Phone: the community smartphoneGiulio Collura
 
Mob04 best practices for windows phone ui design
Mob04   best practices for windows phone ui designMob04   best practices for windows phone ui design
Mob04 best practices for windows phone ui designDotNetCampus
 

Similar to PDF & iOS (20)

Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015
 
Gestire i pdf con iOS
Gestire i pdf con iOSGestire i pdf con iOS
Gestire i pdf con iOS
 
MobileDevCamp2012 - Android
MobileDevCamp2012 - AndroidMobileDevCamp2012 - Android
MobileDevCamp2012 - Android
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
 
Flash Platform su dispositivi mobili
Flash Platform su dispositivi mobiliFlash Platform su dispositivi mobili
Flash Platform su dispositivi mobili
 
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
 
Android base day1
Android base day1Android base day1
Android base day1
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5
 
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernoDrupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
 
Tesi Marco Ventura
Tesi Marco VenturaTesi Marco Ventura
Tesi Marco Ventura
 
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
 
Spring e Flex
Spring e FlexSpring e Flex
Spring e Flex
 
Future Decoded Roma - Visual Studio, Cordova e Ionic Framework to create X-...
Future Decoded Roma  - Visual Studio, Cordova e Ionic Framework  to create X-...Future Decoded Roma  - Visual Studio, Cordova e Ionic Framework  to create X-...
Future Decoded Roma - Visual Studio, Cordova e Ionic Framework to create X-...
 
Adobe ACROBAT 9: bochure commerciale
Adobe ACROBAT 9: bochure commercialeAdobe ACROBAT 9: bochure commerciale
Adobe ACROBAT 9: bochure commerciale
 
Drupal Day 2011 - MobileD!
Drupal Day 2011 - MobileD!Drupal Day 2011 - MobileD!
Drupal Day 2011 - MobileD!
 
Protocollo Informatico: studio preliminare
Protocollo Informatico: studio preliminareProtocollo Informatico: studio preliminare
Protocollo Informatico: studio preliminare
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developers
 
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCA
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCAGestire i pdf con IOS - Maurizio Moriconi - WhyMCA
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCA
 
Ubuntu Phone: the community smartphone
Ubuntu Phone: the community smartphoneUbuntu Phone: the community smartphone
Ubuntu Phone: the community smartphone
 
Mob04 best practices for windows phone ui design
Mob04   best practices for windows phone ui designMob04   best practices for windows phone ui design
Mob04 best practices for windows phone ui design
 

PDF & iOS

  • 1. PDF & iOS Dritte per sfogliare e cominciare a “disegnare” su un PDF 1
  • 2. Argomenti affrontati iOS & PDF Open Source iOS PDF Reader Core Appunti a mano libera su PDF 2
  • 3. iOS & PDF Apple supporta pienamente la visualizzazione e gestione dei PDF tramite Quartz 2D Le classi CGPDF* foniscono tutti i metodi per gestire un PDF 3
  • 5. Quartz 2D CGPDFDocument: “encapsulates a document that contains PDF drawing information” CGContextDrawPDFPage: “after you create a CGPDFDocument object, you can draw it to a graphics context” ZoomigPDFViewer (esempio Apple) 5
  • 6. Quartz 2D Documentazione Ufficiale Apple https://developer.apple.com/library/ios/#documentation/ GraphicsImaging/Conceptual/drawingwithquartz2d/dq_pdf/ dq_pdf.html#/ /apple_ref/doc/uid/TP30001066-CH214-TPXREF101 6
  • 8. iOS PDF Reader Core Progetto Open Source sviluppato da VFR Già implementate funzioni principali, tranne la ricerca Facile aggiunta di funzionalità Possibilità di modificare l’interfaccia grafica github.com/vfr/Reader & github.com/vfr/ Viewer 8
  • 10. Disegnare su PDF con CGContext Creare un PDF tramite un context grafico CGPDF* Creare un nuovo PDF, unendo un PDF esistente con un disegno, sempre nel context 10
  • 11. Smooth Line UIView Progetto Open Source creato da Levi Nunnink Disegnare line “senza spigoli” utilizzando Quartz e non OpenGL github.com/levinunnink/Smooth-Line-View 11
  • 12. Smooth Line UIView Singola pagina del PDF diventa immagine di sfondo della Smooth Line UIView La nuova pagina del PDF viene creata unendo nel context immagine di sfondo con linee disegnate dall’utente 12
  • 13. 13
  • 15. Grazie :-) http://www.slideshare.net/AlessioR/talklab-pdf-01 Alessio Roberto @alessioroberto alessio@alessioroberto.it 15