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.Imagescitește doar metadatele — decodarea completă a datelor pixel ale fiecărei imagini cuDecode()în prealabil nu este necesară dacă aveți nevoie doar de dimensiuni sau de spațiul de culoare.- Furnizați un
formatexplicit înAddImageOptionsatunci 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șit | Formatul byte-urilor imaginii nu a putut fi detectat în mod fiabil | Transmite un format explicit în AddImageOptions |
| Documentul este mult mai mare decât era de așteptat după adăugarea imaginilor | Imaginile au fost încorporate la rezoluție și calitate maxime | Apelează 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ă |
AddImageOptions | Opțiuni pentru AddImage(): opacity, format, tag, layer |
Page.Images | Fiecare 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 } |