Metadata dan Utilitas
Metadata dan Utilitas
Aspose.PDF FOSS for .NET mencakup kelas utilitas untuk akses metadata, geometri koordinat, koleksi gambar, dan artefak tingkat halaman. Ini merupakan blok bangunan yang mendukung operasi tingkat tinggi di seluruh perpustakaan.
metadata XMP
Metadata pada dokumen menyediakan akses ke aliran metadata XMP. Baca dan
tulis properti XMP standar atau khusus.
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");Geometri koordinat
Rectangle dan Matrix digunakan di seluruh API untuk penempatan dan transformasi.
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);Operasi koleksi halaman
PageCollection mendukung pengindeksan, iterasi, dan penerimaan pola pengunjung.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Koleksi gambar
XImageCollection mengelola gambar yang disematkan dalam sumber daya halaman. XImage menyediakan metode untuk memeriksa properti gambar.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefak
Artifact mewakili elemen non-konten seperti watermark, header, dan
footer. Gunakan artefak untuk penomoran halaman dan elemen dekoratif.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Tips dan Praktik Terbaik
- Kunci metadata XMP mengikuti spesifikasi Dublin Core dan XMP — gunakan prefiks namespace standar.
- Koordinat
Rectangleberada dalam satuan ruang pengguna PDF (1/72 inci), dengan asal di kiri‑bawah. - Gunakan
Matrixuntuk transformasi affine: translasi, rotasi, skala, dan shearing. XmpValuemendukung tipe string, integer, double, date, dan array.- Artifacts adalah elemen struktural — mereka tidak muncul dalam penelusuran pohon aksesibilitas.
Masalah Umum
| Issue | Cause | Fix |
|---|---|---|
| Kunci metadata tidak ditemukan | Kunci menggunakan awalan namespace yang berbeda | Daftar semua kunci terlebih dahulu untuk menemukan awalan yang benar |
| Koordinat persegi panjang tampak terbalik | Asal PDF berada di kiri-bawah, bukan kiri-atas | Sesuaikan koordinat Y sesuai |
| Koleksi gambar kosong | Gambar berada dalam bentuk XObjects, bukan sumber daya halaman langsung | Periksa XFormCollection untuk sumber daya gambar bersarang |
FAQ
Bagaimana cara membaca judul dokumen dari metadata?
Akses doc.Metadata["dc:title"] untuk properti judul Dublin Core.
Bisakah saya menambahkan artefak watermark?
Ya. Buat sebuah Artifact dengan tipe Watermark dan tambahkan ke halaman.
Sistem koordinat apa yang digunakan Rectangle?
Ruang pengguna PDF: asal di kiri-bawah, satuan 1/72 inci. Halaman US Letter standar berukuran 612 × 792 satuan.
Ringkasan Referensi API
| Class / Method | Description |
|---|---|
Metadata | kamus metadata XMP pada dokumen |
XmpValue | pembungkus bertipe untuk nilai properti XMP |
Rectangle | kotak pembatas yang sejajar sumbu (llx, lly, urx, ury) |
Rectangle.ContainsPoint | Uji apakah suatu titik berada di dalam persegi panjang |
Matrix | matriks transformasi afinn 2D |
Matrix.Translate | Buat matriks translasi |
PageCollection | Koleksi halaman berurutan dengan indeks berbasis 1 |
XImageCollection | Sumber daya gambar pada halaman |
XImage | Gambar tersemat tunggal dengan deteksi tipe warna |
Artifact | Elemen halaman non-konten (tanda air, header, footer) |
Artifact.SetPageNumberReplacementString | Templat untuk artefak nomor halaman |