Metaduomenys ir įrankiai

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.
  • Rectangle koordinatės yra PDF naudotojo erdvės vienetais (1/72 colio), su pradžia apačioje kairėje.
  • Naudokite Matrix afiniams transformavimams: translacijai, rotacijai, mastelio keitimui ir iškreipimui.
  • XmpValue palaiko 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

ProblemaPriežastisSprendimas
Nerastas metaduomenų raktasRaktas naudoja kitą vardų srities priešdėlįPirmiausia išvardinkite visus raktus, kad rastumėte teisingą priešdėlį
Stačiakampio koordinatės atrodo apverstosPDF pradžia yra kairėje apačioje, o ne kairėje viršujeAtitinkamai pakoreguokite Y koordinatės
Vaizdų kolekcija yra tuščiaVaizdai yra formos XObjects, o ne tiesioginiai puslapio ištekliaiPatikrinkite 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 / MethodDescription
MetadataXMP metaduomenų žodynas dokumente
XmpValueTipizuotas apvalkalas XMP savybių reikšmėms
RectangleAšimis lygiavertė ribinė dėžutė (llx, lly, urx, ury)
Rectangle.ContainsPointPatikrina, ar taškas yra stačiakampio viduje
Matrix2D afininė transformacijos matrica
Matrix.TranslateSukuria perkėlimo matricą
PageCollectionSurūšiuota puslapių kolekcija su indeksavimu nuo 1
XImageCollectionPuslapyje esantys paveikslų ištekliai
XImageVienas įterptas paveikslas su spalvos tipo aptikimu
ArtifactNesandorio puslapio elementas (vandenženklis, antraštė, poraštė)
Artifact.SetPageNumberReplacementStringŠablonas puslapio numerio artefaktams

Žr. taip pat

 Lietuvių