Metadata og Værktøjer
Metadata og Værktøjer
Aspose.PDF FOSS for .NET inkluderer hjælpeklasser til metadataadgang, koordinatgeometri, billedsamlinger og side‑niveau artefakter. Disse byggeblokke understøtter højere‑niveau operationer i hele biblioteket.
XMP-metadata
Metadata på et dokument giver adgang til XMP-metadata‑strømmen. Læs og
skriv standard‑ eller brugerdefinerede XMP‑egenskaber.
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 bruges gennem hele API’et til positionering og transformation.
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);Operationer på sidekollektion
PageCollection understøtter indeksering, iteration og accept af visitor-pattern.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Billedsamlinger
XImageCollection administrerer billeder, der er indlejret i en sides ressourcer. XImage giver metoder til at inspicere billedegenskaber.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefakter
Artifact repræsenterer ikke-indholdselementer som vandmærker, sidehoveder og
sidefødder. Brug artefakter til sidetal og dekorative elementer.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Tips og bedste praksis
- XMP-metadata-nøgler følger Dublin Core- og XMP-specifikationerne — brug standardnavnerumspræfikser.
Rectanglekoordinater er i PDF-brugerområdeenheder (1/72 tomme), med oprindelse i nederste venstre hjørne.- Brug
Matrixtil affine transformationer: translation, rotation, skalering og skævning. XmpValueunderstøtter string, integer, double, date og array-typer.- Artefakter er strukturelle elementer — de vises ikke i tilgængelighedstræ-gennemløb.
Almindelige problemer
| Problem | Årsag | Løsning |
|---|---|---|
| Metadata-nøgle ikke fundet | Nøgle bruger et andet navnerumspræfiks | List alle nøgler først for at finde det korrekte præfiks |
| Rektangelkoordinater ser ud til at være omvendte | PDF-oprindelse er nederst til venstre, ikke øverst til venstre | Juster Y-koordinaterne tilsvarende |
| Billedsamling er tom | Billeder er i form af XObjects, ikke direkte side-ressourcer | Tjek XFormCollection for indlejrede billedressourcer |
Ofte stillede spørgsmål
Hvordan læser jeg dokumenttitlen fra metadata?
Få adgang til doc.Metadata["dc:title"] for Dublin Core-titel‑egenskaben.
Kan jeg tilføje et vandmærke-artifact?
Ja. Opret en Artifact med type Watermark og tilføj den til siden.
Hvilket koordinatsystem bruger Rectangle?
PDF-brugerområde: oprindelse i nederste venstre hjørne, enheder på 1/72 tomme. En standard US Letter-side er 612 × 792 enheder.
API-referencens oversigt
| Klasse / Metode | Beskrivelse |
|---|---|
Metadata | XMP-metadataordbog på dokumentet |
XmpValue | Typet wrapper for XMP‑egenskabsværdier |
Rectangle | Aksialt justeret afgrænsningsboks (llx, lly, urx, ury) |
Rectangle.ContainsPoint | Test om et punkt ligger inden for rektanglet |
Matrix | 2D affin transformationsmatrix |
Matrix.Translate | Opret en translationsmatrix |
PageCollection | Ordnet sidekollektion med 1‑baseret indeksering |
XImageCollection | Billedressourcer på en side |
XImage | Enkelt indlejret billede med farvetypegenkendelse |
Artifact | Ikke‑indholds sideelement (vandmærke, sidehoved, sidefod) |
Artifact.SetPageNumberReplacementString | Skabelon for side‑nummer‑artefakter |