Images
Images
Bu sayfa, bir sayfaya raster görüntüler yerleştirmeyi, bir belgede zaten gömülü görüntüleri incelemeyi ve boyutlarını küçültmeyi kapsar. Bir render için page bir görüntüye, bkz. Conversion.
Görüntü Gömme
Page.AddImage(), JPEG, PNG, BMP veya TIFF görüntü baytlarını sayfada piksel kesinliğinde bir dikdörtgene yerleştirir.
// Source is 1280x1014; scaled to 60% of the page width, aspect preserved.
const srcW = 1280;
const srcH = 1014;
const imgW = pageWidth(page) * 0.6;
const imgH = (imgW * srcH) / srcW;
const x = (pageWidth(page) - imgW) / 2;
const y = (pageHeight(page) - imgH) / 2;
page.AddImage(imageBytes, [x, y, x + imgW, y + imgH]);AddImageOptions, opacity‘i kabul eder, baytlardan tespit edilemediğinde açık bir format, bir tag (etiketli bir belgede görüntüyü eklemek için bir StructElement) ve isteğe bağlı içerik için bir layer.
Gömülü Görüntüleri İnceleme
Page.Images, sayfada zaten bulunan her görüntüyü ImageInfo[] olarak listeler, hiçbir piksel verisini çözmeden — her giriş Width, Height, Bits, ColorSpace ve Filter‘yi gösterir. ImageInfo üzerinde Decode()‘i çağırarak ham örnek baytlarını alın, yerinde yeni görüntü verisi takası için Replace()‘u, ya da sayfadan silmek için Remove()‘u kullanın.
for (const img of page.Images) {
console.log(img.Width, img.Height, img.ColorSpace, img.Filter);
}Görüntüleri Optimize Etme
Document.Optimize() tüm belge boyunca dosya boyutunu azaltır; aynı geçişin bir parçası olarak gömülü görüntüleri de aşağı örneklemek ve yeniden kodlamak için bir images seçeneği (OptimizeImageOptions, dpi ve quality alanlarıyla) geçin.
const report = doc.Optimize({ images: { dpi: 150, quality: 80 } });İpuçları ve En İyi Uygulamalar
Page.Imagesyalnızca meta verileri okur — yalnızca boyutlara veya renk uzayına ihtiyacınız varsa,Decode()ile her görüntünün tam piksel verisini önceden çözmek gereksizdir.- Kaynak baytlar güvenilir bir dosya uzantısı olmadan bir akış veya tampondan geliyorsa,
AddImageOptionsiçinde açık birformatsağlayın. - Her birini elle çözmek ve yeniden eklemek yerine, çok sayıda görüntü içeren bir belgeyi küçültmek için
Document.Optimize({ images: { dpi, quality } })‘a başvurun. Page.AddImage()‘ın dikdörtgeni yerleştirilen boyutu doğrudan ayarlar — hedef dikdörtgeni, kaynak görüntünün kendi en-boy oranına göre ölçeklendirerek gerilmesini önleyin.
Yaygın Sorunlar
| Sorun | Sebep | Düzeltme |
|---|---|---|
| Görüntü uzatılmış veya ezilmiş görünüyor | Hedef rect, AddImage()‘e gönderildiğinde, kaynak görüntünün en-boy oranı ile eşleşmiyor | Dikdörtgenin genişliğini/yüksekliğini kaynak görüntünün kendi boyutlarından hesaplayın |
Page.AddImage() yanlış formatı koyar | Görüntü baytlarının formatı güvenilir bir şekilde tespit edilemedi | AddImageOptions içinde açık bir format gönderin |
| Görüntüler eklendikten sonra belge beklenenden çok daha büyük | Görüntüler tam çözünürlükte ve kaliteyle gömülmüştür | Aşağı örneklemek ve yeniden kodlamak için Document.Optimize({ images: { dpi, quality } }) çağırın |
FAQ
Bir sayfaya görseli nasıl yerleştiririm?
Çağır page.AddImage(imageBytes, rect), burada rect, sayfa-uzayı puanlarında bir [x0, y0, x1, y1] dikdörtgendir.
Sayfada zaten bulunan görselleri, çözmeden nasıl listeleyebilirim?
Oku page.Images — her görsel için piksel verisini çözmeden Width, Height, ColorSpace ve Filter öğelerini ortaya çıkaran bir ImageInfo[].
Bir belgenin dosya boyutunu, görsellerini sıkıştırarak azaltabilir miyim?
Evet — Document.Optimize({ images: { dpi, quality } }) çağır, gömülü görselleri belge genelinde bir optimizasyon geçişi sırasında alçaltır ve yeniden kodlar.
Bir görseli gömmek, bir sayfayı görsele render etmekten nasıl farklıdır?
Page.AddImage() Var olan bir sayfaya raster görüntü baytlarını yerleştirir. Page.ToImage() (see Conversion) tersini yapar — tüm sayfayı PNG baytlarına render eder.
API Reference Özeti
| Sınıf/Yöntem | Açıklama |
|---|---|
Page.AddImage() | Görüntü baytlarını sayfadaki bir dikdörtgene yerleştir |
AddImageOptions | AddImage() için seçenekler: opacity, format, tag, layer |
Page.Images | Sayfada zaten bulunan her görüntü, yalnızca meta veri olarak ImageInfo[] |
ImageInfo.Decode() / Replace() / Remove() | Piksel verilerini oku, yeni baytlarla değiştir veya bir görüntüyü kaldır |
Document.Optimize() | Belge genelinde dosya boyutunu küçült, isteğe bağlı olarak görüntüleri images: { dpi, quality } ile alt örnekleme yaparak |