2010-06-15 8 views
10

Ho appreso che Apple ha rilasciato le API CGPDF nell'SDK 3.2 per disegnare il contesto PDF.Mostra PDF in iPad utilizzando le API CGPDF

Quello che ho capito da queste API è che è possibile disegnare un PDF su un oggetto dati o un file PDF. È quindi possibile esportarlo, può essere, nella directory della sandbox O aggiungere come allegato nella posta.

Ma non sono sicuro di poter utilizzare queste API per leggere un PDF dal pacchetto di applicazioni e mostrarlo all'utente pagina per pagina sullo schermo. Quello che voglio fare è aprire un PDF di una rivista in un'app di lettore di riviste.

Mi chiedevo anche se siamo in grado di identificare i collegamenti in un file PDF e aprirli nell'app.

Fammi sapere se hai fatto O facendo qualcosa di simile.

Grazie AJ

risposta

12

In documentazione API c'è un modo per caricare un file PDF (con quarzo): CGPDFDocument è l'oggetto necessario e CGPDFDocumentCreateWithURL è probabilmente il costruttore che si sta cercando.

Ecco alcuni esempi su come farlo: http://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_pdf/dq_pdf.html#//apple_ref/doc/uid/TP30001066-CH214-TPXREF109

Ho speso un sacco di tempo su questo - e sembra è necessario utilizzare CATiledLayers per diminuire quei file PDF correttamente!

Ci sono alcuni buoni esempi in rete su come farlo ...

io metterò un link/soluzione di qui non appena ho qualcosa pronto!

+0

hai qualche esempio per il pdf? –

3

La visualizzazione del PDF con le API Quartz è piuttosto semplice. Ma non esiste un supporto nativo per le annotazioni di collegamento. Fondamentalmente, è necessario analizzare il dizionario "Annot" all'interno del pdf, quindi trovare la pagina corretta (che può essere riferimenti GoTo, riferimenti con nome o ~ altri 10 tipi, vedere il documento Adobe PDF Reference 1.7, la sezione su Azioni) e il calcolare le coordinate per la pagina visualizzata.

Ho scritto una libreria [commerciale] che include le annotazioni parsing link, e molte altre caratteristiche. Potresti controllare http://pspdfkit.com

+0

Steipete. c'è qualche tabella di marcia, in cui aggiungere PDF FORM FILL a questo SDK commerciale? – Devaski

+0

Non ancora pianificato; ma potrei raccogliere questa funzionalità in futuro. – steipete

+0

Grazie Steipete! Aggiornamento – Devaski