Images

Images

Această pagină acoperă plasarea imaginilor raster pe o pagină, inspectarea imaginilor deja încorporate într-un document și reducerea dimensiunii acestora. Pentru redarea unui page la o imagine, vezi Conversion.


Încorporarea unei imagini

Page.AddImage() plasează octeții de imagine JPEG, PNG, BMP sau TIFF într-un dreptunghi precis la nivel de pixel pe pagină.

// 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 acceptă opacity, un format explicit când nu poate fi detectat din octeți, un tag (un StructElement la care să se atașeze imaginea într-un document etichetat), și un layer pentru conținut opțional.


Inspectarea imaginilor încorporate

Page.Images enumeră fiecare imagine deja pe pagină ca ImageInfo[], fără a decoda niciun date de pixel — fiecare intrare expune Width, Height, Bits, ColorSpace și Filter. Apelează Decode() pe un ImageInfo pentru a obține octeții brut, Replace() pentru a înlocui cu noi date de imagine la locul respectiv, sau Remove() pentru a o șterge din pagină.

for (const img of page.Images) {
  console.log(img.Width, img.Height, img.ColorSpace, img.Filter);
}

Optimizarea imaginilor

Document.Optimize() reduce dimensiunea fișierului în întregul document; furnizați o opțiune images (OptimizeImageOptions, cu câmpurile dpi și quality) pentru a reduce și reîncoda imaginile încorporate ca parte a aceluiași pas.

const report = doc.Optimize({ images: { dpi: 150, quality: 80 } });

Sfaturi și bune practici

  • Page.Images citește doar metadatele — decodarea completă a datelor pixel ale fiecărei imagini cu Decode() în prealabil nu este necesară dacă aveți nevoie doar de dimensiuni sau de spațiul de culoare.
  • Furnizați un format explicit în AddImageOptions atunci când octeții sursă provin dintr-un flux sau buffer fără o extensie de fișier fiabilă de detectat.
  • Apelați la Document.Optimize({ images: { dpi, quality } }) pentru a micșora un document cu multe imagini, în loc să decodați manual și să adăugați din nou fiecare imagine.
  • Dreptunghiul lui Page.AddImage() stabilește dimensiunea plasată direct — scalați dreptunghiul țintă la raportul de aspect al imaginii sursă pentru a evita întinderea acesteia.

Probleme comune

ProblemăCauzăRemediere
Imaginea apare întinsă sau comprimatăȚinta rect transmisă către AddImage() nu se potrivește cu raportul de aspect al imaginii sursăCalculați lățimea/înălțimea dreptunghiului din dimensiunile proprii ale imaginii sursă
Page.AddImage() plasează formatul greșitFormatul byte-urilor imaginii nu a putut fi detectat în mod fiabilTransmite un format explicit în AddImageOptions
Documentul este mult mai mare decât era de așteptat după adăugarea imaginilorImaginile au fost încorporate la rezoluție și calitate maximeApelează Document.Optimize({ images: { dpi, quality } }) pentru a reduce rezoluția și a re-encoda

FAQ

Cum pot plasa o imagine pe o pagină?

Apelă page.AddImage(imageBytes, rect), unde rect este un dreptunghi [x0, y0, x1, y1] în puncte de spațiu al paginii.

Cum pot lista imaginile deja prezente pe o pagină fără a le decoda?

Citește page.Images — un ImageInfo[] care expune Width, Height, ColorSpace și Filter pentru fiecare imagine fără a decoda datele pixelilor.

Pot reduce dimensiunea fișierului unui document prin comprimarea imaginilor sale?

Da — apelă Document.Optimize({ images: { dpi, quality } }), care reduce rezoluția și recodează imaginile încorporate ca parte a unei treceri de optimizare la nivelul întregului document.

Cum diferă încorporarea unei imagini de redarea unei pagini ca imagine?

Page.AddImage() plasează byte-urile imaginii raster pe o pagină existentă. Page.ToImage() (vezi Conversion) face inversul — redă întreaga pagină în octeţi PNG.


API Reference Rezumat

Clasă/MetodăDescriere:
Page.AddImage()Plasează octeții imaginii într-un dreptunghi pe pagină
AddImageOptionsOpțiuni pentru AddImage(): opacity, format, tag, layer
Page.ImagesFiecare imagine deja pe pagină, ca ImageInfo[] doar metadate
ImageInfo.Decode() / Replace() / Remove()Citește datele pixelilor, înlocuiește cu octeți noi sau elimină o imagine
Document.Optimize()Reduce dimensiunea fișierului pe tot documentul, opțional reducând rezoluția imaginilor prin images: { dpi, quality }

Vezi și:

 Română