Metadane i narzędzia

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.
  • Rectangle współrzędne są w jednostkach przestrzeni użytkownika PDF (1/72 cala), z początkiem w lewym dolnym rogu.
  • Użyj Matrix do przekształceń afinicznych: translacji, rotacji, skalowania i ścinania.
  • XmpValue obsługuje typy string, integer, double, date oraz array.
  • Artefakty są elementami strukturalnymi — nie pojawiają się w przeglądaniu drzewa dostępności.

Typowe problemy

ProblemPrzyczynaRozwiązanie
Nie znaleziono klucza metadanychKlucz używa innego prefiksu przestrzeni nazwNajpierw wyświetl wszystkie klucze, aby znaleźć właściwy prefiks
Współrzędne prostokąta wydają się odwróconePochodzenie PDF jest w lewym dolnym rogu, nie w lewym górnymDostosuj współrzędne Y odpowiednio
Zbiór obrazów jest pustyObrazy znajdują się w formie XObjects, a nie w bezpośrednich zasobach stronySprawdź 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 / MethodDescription
MetadataSłownik metadanych XMP w dokumencie
XmpValueTypizowany wrapper dla wartości właściwości XMP
RectangleProstopadły prostokąt ograniczający (llx, lly, urx, ury)
Rectangle.ContainsPointSprawdź, czy punkt znajduje się wewnątrz prostokąta
MatrixMacierz przekształcenia afinicznego 2D
Matrix.TranslateUtwórz macierz translacji
PageCollectionPosortowana kolekcja stron z indeksowaniem od 1
XImageCollectionZasoby obrazów na stronie
XImagePojedynczy osadzony obraz z wykrywaniem typu koloru
ArtifactElement strony niebędący treścią (znak wodny, nagłówek, stopka)
Artifact.SetPageNumberReplacementStringSzablon dla elementów numeracji stron

Zobacz także

 Polski