Metadata och Verktyg
Metadata och Verktyg
Aspose.PDF FOSS for .NET inkluderar verktygsklasser för metadataåtkomst, koordinatgeometri, bildsamlingar och sidnivåartefakter. Dessa byggstenar stödjer högre nivåoperationer i hela biblioteket.
XMP-metadata
Metadata på ett dokument ger åtkomst till XMP-metadataflödet. Läs och skriv standard- eller anpassade XMP-egenskaper.
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 och Matrix används genom hela API:et för positionering och 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);Sidkollektionsoperationer
PageCollection stöder indexering, iteration och visitor‑mönsteracceptans.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Bildsamlingar
XImageCollection hanterar bilder som är inbäddade i en sidas resurser. XImage tillhandahåller metoder för att inspektera bildegenskaper.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefakter
Artifact representerar icke-innehållselement som vattenstämplar, sidhuvuden, och
sidfötter. Använd artefakter för sidnumrering och dekorativa element.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Tips och bästa praxis
- XMP-metadata nycklar följer Dublin Core- och XMP-specifikationerna — använd standardnamnrymdsprefix.
Rectanglekoordinater är i PDF:s användarrymdsenheter (1/72 tum), med ursprung i nedre vänstra hörnet.- Använd
Matrixför affina transformationer: translation, rotation, skalning och skevning. XmpValuestöder sträng, heltal, dubbel, datum och array-typer.- Artefakter är strukturella element — de visas inte i traverseringar av tillgänglighetsträdet.
Vanliga problem
| Problem | Orsak | Åtgärd |
|---|---|---|
| Metadata-nyckel saknas | Nyckeln använder ett annat namnrymdsprefix | Lista alla nycklar först för att hitta rätt prefix |
| Rektangelkoordinater verkar omvända | PDF:s ursprung är nedre vänstra, inte övre vänstra | Justera Y-koordinaterna därefter |
| Bildsamlingen är tom | Bilder finns i form av XObjects, inte som direkta sidresurser | Kontrollera XFormCollection för nästlade bildresurser |
Vanliga frågor
Hur läser jag dokumenttiteln från metadata?
Åtkomst doc.Metadata["dc:title"] för Dublin Core-titelegenskapen.
Kan jag lägga till ett vattenstämpelartefakt?
Ja. Skapa en Artifact med typ Watermark och lägg till den på sidan.
Vilket koordinatsystem använder Rectangle?
PDF-användaryta: ursprung i nedre vänstra hörnet, enheter på 1/72 tum. En standard US Letter-sida är 612 × 792 enheter.
API-referenssammanfattning
| Klass / Metod | Beskrivning |
|---|---|
Metadata | XMP-metadataordbok på dokumentet |
XmpValue | Typad omslag för XMP-egenskapsvärden |
Rectangle | Axeljusterad avgränsningsruta (llx, lly, urx, ury) |
Rectangle.ContainsPoint | Testa om en punkt ligger inom rektangeln |
Matrix | 2D affink transformationsmatris |
Matrix.Translate | Skapa en translationsmatris |
PageCollection | Ordnad sidcollection med 1-baserad indexering |
XImageCollection | Bildresurser på en sida |
XImage | Enskild inbäddad bild med färgtypdetektering |
Artifact | Icke-innehållselement på sidan (vattenstämpel, sidhuvud, sidfot) |
Artifact.SetPageNumberReplacementString | Mall för sidnummerartefakter |