Metadaten und Dienstprogramme
Metadaten und Dienstprogramme
Aspose.PDF FOSS for .NET enthält Hilfsklassen für den Zugriff auf Metadaten, Koordinatengeometrie, Bildsammlungen und seitenbezogene Artefakte. Diese Bausteine unterstützen höherstufige Vorgänge in der gesamten Bibliothek.
XMP-Metadaten
Metadata in einem Dokument bietet Zugriff auf den XMP-Metadaten-Stream. Lesen und
Schreiben von Standard- oder benutzerdefinierten XMP-Eigenschaften.
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");Koordinatengeometrie
Rectangle und Matrix werden in der gesamten API für Positionierung und Transformation verwendet.
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);Seitenkollektion-Operationen
PageCollection unterstützt Indexierung, Iteration und die Annahme des Visitor‑Musters.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Bildersammlungen
XImageCollection verwaltet Bilder, die in den Ressourcen einer Seite eingebettet sind. XImage bietet Methoden zur Inspektion von Bildeigenschaften.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefakte
Artifact repräsentiert nicht‑Inhaltselemente wie Wasserzeichen, Kopf‑ und
Fußzeilen. Verwenden Sie Artefakte für Seitenzahlen und dekorative Elemente.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Tipps und bewährte Verfahren
- XMP-Metadaten‑Schlüssel folgen den Dublin Core‑ und XMP‑Spezifikationen — verwenden Sie Standard‑Namespace‑Präfixe.
RectangleKoordinaten sind in PDF‑Benutzerraum‑Einheiten (1/72 Zoll) angegeben, mit Ursprung unten links.- Verwenden Sie
Matrixfür affine Transformationen: Translation, Rotation, Skalierung und Scherung. XmpValueunterstützt string, integer, double, date und array Typen.- Artefakte sind strukturelle Elemente — sie erscheinen nicht in Durchläufen des Barrierefreiheitsbaums.
Häufige Probleme
| Issue | Cause | Fix |
|---|---|---|
| Metadaten‑Schlüssel nicht gefunden | Schlüssel verwendet ein anderes Namensraum‑Präfix | Alle Schlüssel zuerst auflisten, um das richtige Präfix zu finden |
| Rechteckkoordinaten scheinen umgekehrt | PDF‑Ursprung ist unten links, nicht oben links | Y‑Koordinaten entsprechend anpassen |
| Bilderkollektion ist leer | Bilder befinden sich in Form‑XObjects, nicht in direkten Seitenressourcen | Siehe XFormCollection für verschachtelte Bildressourcen |
FAQ
Wie lese ich den Dokumenttitel aus den Metadaten?
Zugriff doc.Metadata["dc:title"] für die Dublin Core Titel‑Eigenschaft.
Kann ich ein Wasserzeichen‑Artifact hinzufügen?
Ja. Erstelle ein Artifact vom Typ Watermark und füge es zur Seite hinzu.
Welches Koordinatensystem verwendet Rectangle?
PDF user-space: Ursprung unten links, Einheiten von 1/72 Zoll. Eine Standard US Letter-Seite hat 612 x 792 Einheiten.
API-Referenzübersicht
| Klasse / Methode | Beschreibung |
|---|---|
Metadata | XMP-Metadaten-Wörterbuch im Dokument |
XmpValue | Typisierter Wrapper für XMP-Eigenschaftswerte |
Rectangle | Achsen‑ausgerichtete Begrenzungsbox (llx, lly, urx, ury) |
Rectangle.ContainsPoint | Prüft, ob ein Punkt innerhalb des Rechtecks liegt |
Matrix | 2D-affine Transformationsmatrix |
Matrix.Translate | Erstellt eine Translationsmatrix |
PageCollection | Geordnete Seitensammlung mit 1‑basierter Indizierung |
XImageCollection | Bildressourcen auf einer Seite |
XImage | Einzelnes eingebettetes Bild mit Farbtyp‑Erkennung |
Artifact | Nicht‑Inhalts‑Seitenelement (Wasserzeichen, Kopfzeile, Fußzeile) |
Artifact.SetPageNumberReplacementString | Vorlage für Seitenzahl‑Artefakte |