Metadata og verktøy
Metadata og verktøy
Aspose.PDF FOSS for .NET inkluderer nytteklasser for metadata‑tilgang, koordinatgeometri, bildesamlinger og side‑nivå artefakter. Disse byggeblokkene støtter høyere‑nivå operasjoner gjennom hele biblioteket.
XMP-metadata
Metadata på et dokument gir tilgang til XMP-metadata‑strømmen. Les og skriv standard‑ eller egendefinerte XMP‑egenskaper.
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");Koordinatgeometri
Rectangle og Matrix brukes gjennom hele API-et for posisjonering og transformasjon.
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);Operasjoner på sidekolleksjon
PageCollection støtter indeksering, iterasjon og aksept av besøksmønster.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Bildekolleksjoner
XImageCollection administrerer bilder som er innebygd i en sides ressurser. XImage gir metoder for å inspisere bildeegenskaper.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefakter
Artifact representerer ikke‑innholdselementer som vannmerker, topptekster og
bunntekster. Bruk artefakter for sidenummerering og dekorative elementer.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Tips og beste praksis
- XMP-metadata-nøkler følger Dublin Core- og XMP-spesifikasjonene — bruk standard navnerom-prefikser.
Rectangle-koordinater er i PDF-brukerromsenheter (1/72 tomme), med opprinnelse nederst til venstre.- Bruk
Matrixfor affinske transformasjoner: translasjon, rotasjon, skalering og skjæring. XmpValuestøtter streng, heltall, double, dato og array-typer.- Artefakter er strukturelle elementer — de vises ikke i traverseringer av tilgjengelighetstreet.
Vanlige problemer
| Problem | Årsak | Løsning |
|---|---|---|
| Metadata‑nøkkel ikke funnet | Nøkkel bruker et annet navnerom‑prefiks | List opp alle nøkler først for å finne riktig prefiks |
| Rektangelkoordinater ser omvendt ut | PDF‑opprinnelse er nederst til venstre, ikke øverst til venstre | Juster Y‑koordinatene deretter |
| Bildesamlingen er tom | Bilder er i form av XObjects, ikke direkte side‑ressurser | Sjekk XFormCollection for nestede bildressurser |
Ofte stilte spørsmål
Hvordan leser jeg dokumenttittelen fra metadata?
Få tilgang doc.Metadata["dc:title"] til Dublin Core‑tittel‑egenskapen.
Kan jeg legge til en vannmerke-artefakt?
Ja. Opprett en Artifact med type Watermark og legg den til siden.
Hvilket koordinatsystem bruker Rectangle?
PDF‑brukerområde: opprinnelse nederst til venstre, enheter på 1/72 tomme. En standard US Letter‑side er 612 × 792 enheter.
API-referansesammendrag
| Class / Method | Description |
|---|---|
Metadata | XMP-metadataordbok på dokumentet |
XmpValue | Sterkt typet omslag for XMP-egenskapsverdier |
Rectangle | Aksialjustert avgrensningsboks (llx, lly, urx, ury) |
Rectangle.ContainsPoint | Test om et punkt ligger innenfor rektangelet |
Matrix | 2D affin transformasjonsmatrise |
Matrix.Translate | Opprett en translasjonsmatrise |
PageCollection | Ordnet sidekolleksjon med 1-basert indeksering |
XImageCollection | Bildressurser på en side |
XImage | Enkelt innebygd bilde med fargetypegjenkjenning |
Artifact | Ikke-innholds sideelement (vannmerke, topptekst, bunntekst) |
Artifact.SetPageNumberReplacementString | Mal for sidetallsartefakter |