2010-07-19 7 views
6

Sto cercando un modo per ridurre le dimensioni del file PDF generate con Quartz. Sto disegnando immagini con CGContextDrawImage in un CGPDFContext. Quello di cui ho paura è che le immagini vengono salvate come Bitmap e non come JPEG. C'è un modo per controllarlo e un modo per controllarlo durante la scrittura del PDF?Ridurre le dimensioni del file PDF generato con Quartz2D

Ho anche provato a ridurre il downscaling dell'immagine prima di scriverlo nel contesto PDF, ma alla fine ho un file ancora più grande (anche se le dimensioni della pagina in pixel sono inferiori).

Grazie!

+0

Puoi citare alcune caratteristiche di ciò che stai disegnando, da dove provengono le immagini e quanto sono grandi i file risultanti? Hai passato un file a uno strumento di compressione pdf esterno e hai dato un'occhiata alle differenze? –

+0

Le immagini sono immagini della fotocamera, memorizzate come JPEG e quindi lette su oggetti UIImage. Quindi disegno una UIImage.CGImage nel CGPDFContext. Le dimensioni del file sarebbero ad esempio 1,2 MB per una singola pagina. Se provo a ridimensionare, salgo a 3 MB. Con uno strumento di compressione (filtro al quarzo) è più simile a 500 KB. – Kamchatka

+0

Puoi fornire il codice? – vikingosegundo

risposta

1

Non ci sono API pubbliche per l'impostazione delle impostazioni di compressione dell'immagine di CGPDFContext.

+0

Ho provato anche un'altra libreria con le impostazioni di compressione disponibili. Il modello sembra simile: la dimensione dell'immagine non importa molto rispetto alla dimensione della pagina PDF. – Kamchatka

+0

Forse prova a ridurre l'intensità del colore sul 'CGImage' che stai scrivendo? Un'immagine a 16 bit sarà la metà della dimensione _if_ 'CGPDFContext' memorizza le immagini nei loro formati di origine – rpetrich

+0

Ho esaminato che ma non ho trovato alcuna API per ridurre la profondità di un CGImage. Sapresti come fare? – Kamchatka

0

Non sono sicuro se è necessario ridurre il PDF su iPhone o se è accettabile ridurli su un PC/Mac.

su PC/Mac, Adobe Acrobat Pro (non un prodotto commerciale per essere scambiato con Adobe Reader) ha un ottimizzatore PDF. Menu "Adavanced"> "Ottimizzatore PDF ...". Questo può ridimensionare immagini, caratteri, ecc. Poiché esiste anche uno command-line interface (using AutoBatch). Non è economico, ma è probabilmente il miglior compressore PDF là fuori.