Metadate și Utilitare
Metadata și Utilitare
Aspose.PDF FOSS for .NET include clase utilitare pentru acces la metadate, geometrie coordonată, colecții de imagini și artefacte la nivel de pagină. Aceste blocuri de construcție susțin operații de nivel superior în întreaga bibliotecă.
metadate XMP
Metadata pe un document oferă acces la fluxul de metadate XMP. Citește și scrie proprietăți XMP standard sau personalizate.
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");Geometrie coordonată
Rectangle și Matrix sunt utilizate în tot API-ul pentru poziționare și transformare.
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);Operații de colecție de pagini
PageCollection suportă indexarea, iterarea și acceptarea modelului vizitator.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Colecții de imagini
XImageCollection gestionează imaginile încorporate în resursele unei pagini. XImage oferă metode pentru inspectarea proprietăților imaginii.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefacte
Artifact reprezintă elemente non-conținut, cum ar fi filigrane, antete și subsoluri. Folosiți artefacte pentru numerotarea paginilor și elemente decorative.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Sfaturi și bune practici
- Cheile de metadate XMP urmează specificațiile Dublin Core și XMP — utilizați prefixe de spațiu de nume standard.
- Coordonatele
Rectanglesunt în unități de spațiu utilizator PDF (1/72 inch), cu originea în colțul din stânga jos. - Utilizați
Matrixpentru transformări afine: translație, rotație, scalare și înclinare. XmpValuesuportă tipuri string, integer, double, date și array.- Artefactele sunt elemente structurale — nu apar în traversările arborelui de accesibilitate.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
| Cheia de metadate nu a fost găsită | Cheia folosește un prefix de spațiu de nume diferit | Listează mai întâi toate cheile pentru a găsi prefixul corect |
| Coordonatele dreptunghiului par inversate | Originea PDF este în partea de jos‑stânga, nu în partea de sus‑stânga | Ajustează coordonatele Y în consecință |
| Colecția de imagini este goală | Imaginile sunt în XObjects de tip formă, nu în resursele directe ale paginii | Verifică XFormCollection pentru resurse de imagini imbricate |
Întrebări frecvente
Cum pot citi titlul documentului din metadate?
Accesați doc.Metadata["dc:title"] pentru proprietatea titlu Dublin Core.
Pot adăuga un artefact de filigran?
Da. Creează un Artifact cu tipul Watermark și adaugă-l pe pagină.
Ce sistem de coordonate folosește Rectangle?
Spațiul de utilizator PDF: origine în colțul din stânga jos, unități de 1/72 inch. O pagină standard US Letter are 612 x 792 unități.
Sumar al referinței API
| Class / Method | Description |
|---|---|
Metadata | Dicționar de metadate XMP al documentului |
XmpValue | Împachetare tipizată pentru valorile proprietăților XMP |
Rectangle | Cutie de delimitare aliniată pe axe (llx, lly, urx, ury) |
Rectangle.ContainsPoint | Testează dacă un punct se află în interiorul dreptunghiului |
Matrix | Matrice de transformare afină 2D |
Matrix.Translate | Creează o matrice de translație |
PageCollection | Colecție de pagini ordonată cu indexare începând de la 1 |
XImageCollection | Resurse de imagini pe o pagină |
XImage | Imagine încorporată unică cu detectare a tipului de culoare |
Artifact | Element de pagină non-conținut (filigran, antet, subsol) |
Artifact.SetPageNumberReplacementString | Șablon pentru artefacte de număr de pagină |