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.Images yalnı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, AddImageOptions içinde açık bir format sağ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

SorunSebepDüzeltme
Görüntü uzatılmış veya ezilmiş görünüyorHedef rect, AddImage()‘e gönderildiğinde, kaynak görüntünün en-boy oranı ile eşleşmiyorDikdörtgenin genişliğini/yüksekliğini kaynak görüntünün kendi boyutlarından hesaplayın
Page.AddImage() yanlış formatı koyarGörüntü baytlarının formatı güvenilir bir şekilde tespit edilemediAddImageOptions içinde açık bir format gönderin
Görüntüler eklendikten sonra belge beklenenden çok daha büyükGörüntüler tam çözünürlükte ve kaliteyle gömülmüştürAş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öntemAçıklama
Page.AddImage()Görüntü baytlarını sayfadaki bir dikdörtgene yerleştir
AddImageOptionsAddImage() için seçenekler: opacity, format, tag, layer
Page.ImagesSayfada 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

Ayrıca Bakınız

 Türkçe