2010-07-19 12 views
6

Quartz ile oluşturduğum PDF boyutunu küçültmenin bir yolunu arıyorum. CGPDFContext'te CGContextDrawImage ile resim çiziyorum. Korktuğum şey, görüntülerin JPEG değil, Bitmap olarak kaydedilmesidir. Bunu kontrol etmenin ve PDF yazarken bunu kontrol etmenin bir yolu var mı? Quartz2D ile oluşturulan PDF dosyasının boyutunu azaltın

Ben de PDF bağlamında bunu yazmadan önce görüntü ölçek küçültme azaltarak çalıştı ama (piksel olarak sayfa boyutu daha küçük olmasına rağmen) ben daha da büyük bir dosya ile sonunda.

Teşekkürler!

+0

Çizim yaptığınız, görüntülerin nereden geldiği ve sonuçta ortaya çıkan dosyaların ne kadar büyük olduğuyla ilgili birkaç özellikten bahseder misiniz? Bir dosyayı harici bir pdf sıkıştırma aracına aktardınız ve farklılıklara bir göz attınız mı? –

+0

Görüntüler, JPEG olarak saklanan ve ardından UIImage nesnelerine okuyan kamera görüntüleridir. Bu yüzden CGPDFContext'te bir UIImage.CGImage çiziyorum. Dosya boyutu, örneğin tek bir sayfa için 1.2 MB olacaktır. Eğer küçültmeye çalışırsam 3 MB'a kadar çıkıyorum. Bir sıkıştırma aracıyla (kuvars filtresi) daha çok 500KB gibi. – Kamchatka

+0

Kodu sağlayabilir misiniz? – vikingosegundo

cevap

1

CGPDFContext görüntü sıkıştırma ayarlarının ayarlanması için genel bir API yoktur.

+0

Ayrıca sıkıştırma ayarlarına sahip başka bir kitaplık da denedim. Desen benzer görünüyor: görüntünün boyutu, PDF sayfasının boyutuna göre önemli değildir. – Kamchatka

+0

Belki de yazdığınız 'CGImage' üzerindeki renk derinliğini azaltmayı deneyin. 16 bitlik bir görüntü, _if_ 'CGPDFContext' boyutlarının yarısı kadar olacaktır. Bu resimdeki kaynak formatlarını – rpetrich

+0

görüntüledim ancak bir CGImage derinliğini azaltmak için herhangi bir API bulamadım. Bunu nasıl yapacağını biliyor musun? – Kamchatka

0

PDF'yi iPhone numaralı telefondan indirmeniz veya bir PC/Mac üzerinde indirmeniz kabul edilebilirse, emin değilim. PC/Mac'te

, Adobe Acrobat Pro(bir ticari ürün Adobe Reader ile yanlış olması değil) bir PDF optimize edici sahiptir. Menü "Adavanced"> "PDF Optimizer ...". Bu, görüntüleri, yazı tiplerini vb. Küçültebilir. Ayrıca bir command-line interface (using AutoBatch) olduğu gibi. Ucuz değil ama muhtemelen en iyi PDF kompresörü var.

İlgili konular