Metadata en Hulpmiddelen
Metadata en Hulpmiddelen
Aspose.PDF FOSS for .NET bevat hulpprogrammaklassen voor metadata-toegang, coördinaatgeometrie, afbeeldingscollecties en paginaniveau-artifacten. Deze bouwblokken ondersteunen hoger-niveau bewerkingen door de hele bibliotheek.
XMP-metadata
Metadata op een document biedt toegang tot de XMP‑metadata‑stroom. Lees en
schrijf standaard‑ of aangepaste XMP‑eigenschappen.
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");Coördinaatgeometrie
Rectangle en Matrix worden door de hele API gebruikt voor positionering en transformatie.
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);Pagina-collectie bewerkingen
PageCollection ondersteunt indexering, iteratie en acceptatie van het visitor‑patroon.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Afbeeldingscollecties
XImageCollection beheert afbeeldingen die in de bronnen van een pagina zijn ingebed. XImage biedt methoden voor het inspecteren van afbeeldingeigenschappen.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefacten
Artifact vertegenwoordigt niet-inhoudelijke elementen zoals watermerken, kopteksten, en
voetteksten. Gebruik artefacten voor paginanummering en decoratieve elementen.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Tips en best practices
- XMP‑metadata‑sleutels volgen de Dublin Core‑ en XMP‑specificaties — gebruik standaard namespace‑prefixen.
Rectanglecoördinaten zijn in PDF‑gebruikersruimte‑eenheden (1/72 inch), met oorsprong links‑onder.- Gebruik
Matrixvoor affiene transformaties: translatie, rotatie, schaling en schuine transformatie. XmpValueondersteunt string, integer, double, date en array‑typen.- Artefacten zijn structurele elementen — ze verschijnen niet in doorlopen van de toegankelijkheidsboom.
Veelvoorkomende problemen
| Issue | Cause | Fix |
|---|---|---|
| Metadata-sleutel niet gevonden | Sleutel gebruikt een andere namespace‑prefix | Lijst eerst alle sleutels op om de juiste prefix te vinden |
| Rechthoekcoördinaten lijken omgekeerd | PDF‑oorsprong is linksonder, niet linksboven | Pas de Y‑coördinaten dienovereenkomstig aan |
| Afbeeldingscollectie is leeg | Afbeeldingen bevinden zich in Form XObjects, niet in directe paginabronnen | Controleer XFormCollection voor geneste afbeeldingsbronnen |
FAQ
Hoe lees ik de documenttitel uit de metadata?
Toegang doc.Metadata["dc:title"] voor de Dublin Core-titel eigenschap.
Kan ik een watermerk‑artefact toevoegen?
Ja. Maak een Artifact met type Watermark en voeg deze toe aan de pagina.
Welk coördinatensysteem gebruikt Rectangle?
PDF-gebruikersruimte: oorsprong linksonder, eenheden van 1/72 inch. Een standaard US Letter-pagina is 612 × 792 eenheden.
API-referentieoverzicht
| Klasse / Methode | Beschrijving |
|---|---|
Metadata | XMP-metadatawoordenboek op het document |
XmpValue | Getypeerde wrapper voor XMP-eigenschapswaarden |
Rectangle | As-uitgelijnde begrenzingskader (llx, lly, urx, ury) |
Rectangle.ContainsPoint | Test of een punt binnen de rechthoek ligt |
Matrix | 2D-affine transformatie matrix |
Matrix.Translate | Maak een translatiematrix |
PageCollection | Geordende paginaverzameling met 1-gebaseerde indexering |
XImageCollection | Afbeeldingsbronnen op een pagina |
XImage | Enkele ingesloten afbeelding met kleurtype-detectie |
Artifact | Niet-inhoud pagina‑element (watermerk, koptekst, voettekst) |
Artifact.SetPageNumberReplacementString | Sjabloon voor paginanummer‑artefacten |