Metadane i narzędzia
Metadane i narzędzia
Aspose.PDF FOSS for .NET zawiera klasy pomocnicze do dostępu do metadanych, geometrii współrzędnych, kolekcji obrazów i artefaktów na poziomie stron. Te elementy konstrukcyjne wspierają operacje wyższego poziomu w całej bibliotece.
XMP metadane
Metadata na dokumencie zapewnia dostęp do strumienia metadanych XMP. Odczytuj i zapisuj standardowe lub niestandardowe właściwości XMP.
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 współrzędnych
Rectangle i Matrix są używane w całym API do pozycjonowania i transformacji.
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);Operacje na kolekcji stron
PageCollection obsługuje indeksowanie, iterację i akceptację wzorca odwiedzającego.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Kolekcje obrazów
XImageCollection zarządza obrazami osadzonymi w zasobach strony. XImage udostępnia metody do przeglądania właściwości obrazu.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefakty
Artifact reprezentuje elementy niebędące treścią, takie jak znaki wodne, nagłówki i stopki. Używaj artefaktów do numeracji stron i elementów dekoracyjnych.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Wskazówki i najlepsze praktyki
- Klucze metadanych XMP podążają za specyfikacjami Dublin Core i XMP — używaj standardowych prefiksów przestrzeni nazw.
Rectanglewspółrzędne są w jednostkach przestrzeni użytkownika PDF (1/72 cala), z początkiem w lewym dolnym rogu.- Użyj
Matrixdo przekształceń afinicznych: translacji, rotacji, skalowania i ścinania. XmpValueobsługuje typy string, integer, double, date oraz array.- Artefakty są elementami strukturalnymi — nie pojawiają się w przeglądaniu drzewa dostępności.
Typowe problemy
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Nie znaleziono klucza metadanych | Klucz używa innego prefiksu przestrzeni nazw | Najpierw wyświetl wszystkie klucze, aby znaleźć właściwy prefiks |
| Współrzędne prostokąta wydają się odwrócone | Pochodzenie PDF jest w lewym dolnym rogu, nie w lewym górnym | Dostosuj współrzędne Y odpowiednio |
| Zbiór obrazów jest pusty | Obrazy znajdują się w formie XObjects, a nie w bezpośrednich zasobach strony | Sprawdź XFormCollection pod kątem zagnieżdżonych zasobów obrazu |
FAQ
Jak odczytać tytuł dokumentu z metadanych?
Uzyskaj dostęp doc.Metadata["dc:title"] do właściwości tytułu Dublin Core.
Czy mogę dodać artefakt znaku wodnego?
Tak. Utwórz Artifact typu Watermark i dodaj go do strony.
Jaki system współrzędnych używa Rectangle?
Przestrzeń użytkownika PDF: początek w lewym dolnym rogu, jednostki 1/72 cala. Standardowa strona US Letter ma wymiary 612 × 792 jednostek.
API Podsumowanie odniesienia
| Class / Method | Description |
|---|---|
Metadata | Słownik metadanych XMP w dokumencie |
XmpValue | Typizowany wrapper dla wartości właściwości XMP |
Rectangle | Prostopadły prostokąt ograniczający (llx, lly, urx, ury) |
Rectangle.ContainsPoint | Sprawdź, czy punkt znajduje się wewnątrz prostokąta |
Matrix | Macierz przekształcenia afinicznego 2D |
Matrix.Translate | Utwórz macierz translacji |
PageCollection | Posortowana kolekcja stron z indeksowaniem od 1 |
XImageCollection | Zasoby obrazów na stronie |
XImage | Pojedynczy osadzony obraz z wykrywaniem typu koloru |
Artifact | Element strony niebędący treścią (znak wodny, nagłówek, stopka) |
Artifact.SetPageNumberReplacementString | Szablon dla elementów numeracji stron |