Metaduomenys ir įrankiai
Metaduomenys ir įrankiai
Aspose.PDF FOSS for .NET apima pagalbines klases metaduomenų prieigai, koordinatinės geometrijos, vaizdų kolekcijoms ir puslapio lygio artefaktams. Šie statybiniai blokai palaiko aukštesnio lygio operacijas visoje bibliotekoje.
XMP metaduomenys
Metadata dokumente suteikia prieigą prie XMP metaduomenų srauto. Skaitykite ir rašykite standartines arba pasirinktines XMP savybes.
using var doc = Document.Open(pdfBytes);
// Read existing metadata
foreach (var entry in doc.Metadata)
{
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
// Set a custom property
doc.Metadata.Add("xmp:CustomProp", new XmpValue("custom value"));
doc.Save("with-metadata.pdf");Koordinatinė geometrija
Rectangle ir Matrix yra naudojami visame API pozicionavimui ir transformacijai.
var rect = new Rectangle(72, 700, 300, 720);
bool inside = rect.ContainsPoint(150, 710);
// Transformation matrix (translate by 100, 200)
var matrix = new Matrix(1, 0, 0, 1, 100, 200);Puslapių kolekcijos operacijos
PageCollection palaiko indeksavimą, iteraciją ir lankytojo šablono priėmimą.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Vaizdų kolekcijos
XImageCollection valdo įterptus į puslapio išteklius vaizdus. XImage suteikia metodus vaizdo savybių tikrinimui.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefaktai
Artifact reiškia ne turinio elementus, tokius kaip vandens ženklai, antraštės ir
poraštės. Naudokite artefaktus puslapių numeravimui ir dekoratyviniams elementams.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Patarimai ir geriausios praktikos
- XMP metaduomenų raktai atitinka Dublin Core ir XMP specifikacijas — naudokite standartinius vardų srities priešdėlius.
Rectanglekoordinatės yra PDF naudotojo erdvės vienetais (1/72 colio), su pradžia apačioje kairėje.- Naudokite
Matrixafiniams transformavimams: translacijai, rotacijai, mastelio keitimui ir iškreipimui. XmpValuepalaiko teksto, sveikojo skaičiaus, dvigubo, datos ir masyvo tipus.- Artefaktai yra struktūriniai elementai — jie neatsiranda prieinamumo medžio peržiūrų.
Dažnos problemos
| Problema | Priežastis | Sprendimas |
|---|---|---|
| Nerastas metaduomenų raktas | Raktas naudoja kitą vardų srities priešdėlį | Pirmiausia išvardinkite visus raktus, kad rastumėte teisingą priešdėlį |
| Stačiakampio koordinatės atrodo apverstos | PDF pradžia yra kairėje apačioje, o ne kairėje viršuje | Atitinkamai pakoreguokite Y koordinatės |
| Vaizdų kolekcija yra tuščia | Vaizdai yra formos XObjects, o ne tiesioginiai puslapio ištekliai | Patikrinkite XFormCollection dėl įdėtų vaizdų išteklių |
DUK
Kaip perskaityti dokumento pavadinimą iš metaduomenų?
Pasiekite doc.Metadata["dc:title"] dėl Dublin Core pavadinimo savybės.
Ar galiu pridėti vandens ženklo artefaktą?
Taip. Sukurkite Artifact su tipu Watermark ir pridėkite jį į puslapį.
Kokią koordinačių sistemą naudoja Rectangle?
PDF naudotojo erdvė: pradžia apačioje kairėje, vienetai 1/72 colio. Standartinis US Letter puslapis yra 612 x 792 vienetų.
API nuorodų santrauka
| Class / Method | Description |
|---|---|
Metadata | XMP metaduomenų žodynas dokumente |
XmpValue | Tipizuotas apvalkalas XMP savybių reikšmėms |
Rectangle | Ašimis lygiavertė ribinė dėžutė (llx, lly, urx, ury) |
Rectangle.ContainsPoint | Patikrina, ar taškas yra stačiakampio viduje |
Matrix | 2D afininė transformacijos matrica |
Matrix.Translate | Sukuria perkėlimo matricą |
PageCollection | Surūšiuota puslapių kolekcija su indeksavimu nuo 1 |
XImageCollection | Puslapyje esantys paveikslų ištekliai |
XImage | Vienas įterptas paveikslas su spalvos tipo aptikimu |
Artifact | Nesandorio puslapio elementas (vandenženklis, antraštė, poraštė) |
Artifact.SetPageNumberReplacementString | Šablonas puslapio numerio artefaktams |