Metadades i utilitats
Metadades i utilitats
Aspose.PDF FOSS for .NET inclou classes d’utilitat per a l’accés a metadades, geometria de coordenades, col·leccions d’imatges i artefactes a nivell de pàgina. Aquests blocs de construcció donen suport a operacions de nivell superior a tot el conjunt de la biblioteca.
Metadades XMP
Metadata en un document proporciona accés al flux de metadades XMP. Llegeix i escriu propietats XMP estàndard o personalitzades.
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");Geometria de coordenades
Rectangle i Matrix s’utilitzen a tot l’API per al posicionament i la transformació.
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);Operacions de col·lecció de pàgines
PageCollection admet indexació, iteració i acceptació del patró visitor.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Col·leccions d’imatges
XImageCollection gestiona imatges incrustades en els recursos d’una pàgina. XImage proporciona mètodes per inspeccionar les propietats de la imatge.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefactes
Artifact representa elements que no són contingut com a marques d’aigua, capçaleres i
peus de pàgina. Utilitzeu artefactes per a la numeració de pàgines i elements decoratius.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Consells i bones pràctiques
- Les claus de metadades XMP segueixen les especificacions Dublin Core i XMP — utilitzeu els prefixes d’espai de noms estàndard.
- Les coordenades
Rectanglesón en unitats d’espai d’usuari del PDF (1/72 polzada), amb origen a la part inferior esquerra. - Utilitzeu
Matrixper a transformacions afins: translació, rotació, escalat i cisallament. XmpValueadmet tipus de cadena, enter, doble, data i matriu.- Els artefactes són elements estructurals — no apareixen en les traveses de l’arbre d’accessibilitat.
Problemes comuns
| Issue | Cause | Fix |
|---|---|---|
| Clau de metadades no trobada | La clau utilitza un prefix d’espai de noms diferent | Llista totes les claus primer per trobar el prefix correcte |
| Les coordenades del rectangle semblen invertides | L’origen del PDF és a la part inferior esquerra, no a la superior esquerra | Ajusta les coordenades Y en conseqüència |
| La col·lecció d’imatges està buida | Les imatges són en forma d’XObjects, no com a recursos directes de la pàgina | Comprova XFormCollection per a recursos d’imatge imbricats |
Preguntes freqüents
Com puc llegir el títol del document des de les metadades?
Accediu a doc.Metadata["dc:title"] per a la propietat de títol de Dublin Core.
Puc afegir un artefacte de marca d’aigua?
Sí. Creeu un Artifact amb el tipus Watermark i afegiu-lo a la pàgina.
Quin sistema de coordenades utilitza Rectangle?
Espai d’usuari PDF: origen a la part inferior esquerra, unitats de 1/72 polzada. Una pàgina US Letter estàndard
és de 612 x 792 unitats.
Resum de la referència de l’API
| Classe / Mètode | Descripció |
|---|---|
Metadata | Diccionari de metadades XMP del document |
XmpValue | Embolcall tipat per a valors de propietats XMP |
Rectangle | Caixa delimitadora alineada amb els eixos (llx, lly, urx, ury) |
Rectangle.ContainsPoint | Comprovar si un punt es troba dins del rectangle |
Matrix | Matriu de transformació afí 2D |
Matrix.Translate | Crear una matriu de translació |
PageCollection | Col·lecció de pàgines ordenada amb indexació basada en 1 |
XImageCollection | Recursos d’imatge en una pàgina |
XImage | Imatge incrustada única amb detecció de tipus de color |
Artifact | Element de pàgina no de contingut (marca d’aigua, capçalera, peu de pàgina) |
Artifact.SetPageNumberReplacementString | Plantilla per a artefactes de número de pàgina |