XCode Tips&Tricks #12 – Come leggere un pdf in una UIWebView

Alcuni utenti di BubiDevs mi hanno chiesto come fare per leggere un documento pdf all’interno delle nostre applicazioni.

Il procedimento è davvero molto semplice, basta partire da una comune UIWebView (potete utilizzare il nostro tutorial #8).

Invece di caricare un indirizzo HTML utilizzate le seguenti istruzioni:

La prima istruzione ci permette di caricare un file pdf chiamato “prev”, che ovviamente deve essere inserito all’interno del nostro progetto. Le istruzioni 3, 4 e 6 non cambiano, sono uguali a quelle che già conoscete.

L’unica istruzione che merita un po’ più di attenzione è l’ultima (riga 7). Essa ci permette di scalare il contenuto all’interno della nostraUIWebView, in modo che si adatti alla sua dimensione. Ecco come si presenta il nostro lettore di pdf:

Ed ecco come invece sarebbe senza l’utilizzo dell’istruzione “scalePageToFit”, sicuramente molto meno “user-friendly”:

Spero che questo tips vi sia stato utile, se volete segnalarmi dei vostri Tips&Tricks ne sarei molto felice, li inserirei sicuramente in questa rubrica!

Andrea Busi | @bubidevs

Laureato in Ingegneria Informatica, ho fondato nel 2008 questo piccolo blog, in cui racconto le mie esperienze e i miei pensieri sul mondo dell'informatica. Nella vita mi occupo di sviluppo software, e nel tempo libero continuo a coltivare la mia passione per il mondo iOS.

ommenti a “XCode Tips&Tricks #12 – Come leggere un pdf in una UIWebView

  1. Giuliano ha detto:

    So già programmare per iPhone ma sto prendendo in considerazione comunque la possibilità di comprare il tuo tutorial pratico per SDK come promemoria.
    Potrebbe risultare molto utile avere alla fine un capitolo dedicato ai Tips&Tricks come questo. Per quanto mi riguarda sarei molto più motivato all’acquisto ed in quel caso lo comprerei subito.

    Potresti cominciare con l’includere solo i Tips già pubblicati su questo blog e sarebbe comunque un buon inizio che non dovrebbe neanche farti perdere molto tempo.

    Cosa ne pensi?

  2. Andrea Busi ha detto:

    @Giuliano: l’idea mi era già venuta tempo fa.. sicuramente se questa rubrica si espande prenderò in considerazione l’idea di raccogliere tutti i tips, magari in un’applicazione per iPhone o iPad 😉

  3. Giuliano ha detto:

    @Andrea Busi: In un’app non è molto utile secondo me. Molto meglio una lista pdf integrata nel tuo libro. Preso in considerazione?

  4. Andrea ha detto:

    Ciao, ho acquistato la tua guida, ma avrei bisogno di alcune dritte. Ti premetto che mi avvicino solo ora alla programmazione quindi sono inesperto. Sono interessato alla creazione di un visualizzatore PDF, ho seguito il tuo tutorial, ma vorrei implementarlo. Più precisamente avrei bisogno delle seguenti funzioni: 1) poter scegliere la pagina da un elenco con preview; 2) poter eseguire delle ricerche all’interno del PDF. Ho cercato ovunque e non trovo niente, puoi aiutarmi?

  5. carlo ha detto:

    @giuliano

    Stai prendendo in considerazione l’idea?
    Scusami…ma si tratta di 3 (tre) euro…ci vorresti pensare anche?

    @andrea
    Mi accodo alla tua richiesta…

  6. Andrea Busi ha detto:

    @carlo: per le richieste che ha fatto anche Andrea, purtroppo non so se è possibile integrare la ricerca all’interno di file pdf.. devo cercare, ma sono scettico..
    per quanto riguarda una sorta di indice penso che vada fatto a mano, quindi suddividi il tuo pdf in capitolo o sezioni, per ognuna ti crei una preview e metti tutto in una lista che visualizzi, ad esempio, in una tabella..

  7. carlo ha detto:

    Approfitto della tua disponibilità…

    È possibile dare lo scrillong orizzontale al pdf con più pagine invece che quello verticale?
    Se si, come?

  8. Andrea Busi ha detto:

    @carlo: con i componenti standard non penso sia possibile, la UIWebView fornisce solo il classico scrolling verticale..

  9. Roberto ha detto:

    Innanzitutto complimenti per l’architettura e il design sempre curati del sito che rendono la navigazione molto piacevole, non solo per i contenuti ma anche per la parte estetica!
    Volevo sapere se c’è la possibilità di estrarre parole/numeri a partire da un file .pdf presente nel mio progetto, ovvero se è possibile “esportare” i dati contenuti nel pdf per popolare, ad esempio, una UITableview.
    So che è possibile copiare il contenuto di un .csv in una nsstring, ma coi pdf ho notato che la questione è un pò più delicata.
    Potresti darmi qualche consiglio in merito?
    Grazie mille!

  10. Andrea Busi ha detto:

    @Roberto: ciao! purtroppo non ho informazioni in merito, però penso che da file in formato PDF non sia possibile estrarre dati, perchè il supporto i iOS è di sola lettura (un semplice rendering grafico insomma). Però non ne sono sicuro, potrei anche sbagliarmi!

  11. michele ha detto:

    ciao, volevo chiederti se esiste un modo nel simulatore dell’iphone di zoomare come nell’iphone vero in cui bastano 2 dita, grazie

  12. Marco Paolo ha detto:

    sarebbe molto interessante capire come leggerlo per orizzontale da sx a dx….

  13. C.I.R. ha detto:

    se volessi caricare più file pdf?
    ad esempio da un file .plist?

  14. Andrea Busi ha detto:

    @C.I.R.: non penso sia possibile caricare più pdf in una singola UIWebView..

  15. daniela ha detto:

    ciao, mi indicheresti l’istruzione corretta per andare a leggere in file pdf in remoto ( per esempio appoggiato in rete?)
    grazie infinite e complimenti !
    Ottimi tutorial !

    Daniela

  16. Andrea Busi ha detto:

    @daniela: Ciao, per leggere un pdf da remoto non so bene come si faccia, però prima devi sicuramente scaricarlo usando NSData:

    Poi lo puoi dare “in pasto” alla UIWebView 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*