Bekerja dengan Enum
Bekerja dengan Enums
Aspose.PDF FOSS untuk .NET menggunakan enum bertipe kuat di seluruh API nya untuk mengonfigurasi perilaku dokumen, tampilan halaman, dan format konversi. Alih-alih string atau integer magis, sebagian besar permukaan konfigurasi — mulai dari cara penampil PDF membuka file hingga format apa yang Document disimpan sebagai — diungkapkan sebagai nilai enum. Halaman ini memperkenalkan tipe enum yang paling sering Anda temui saat bekerja dengan perpustakaan. Ini adalah pengenalan terkurasi, bukan katalog lengkap; untuk daftar lengkap tipe enum dan setiap nilai anggotanya, lihat API Reference.
Tampilan Halaman dan Tata Letak
PageMode dan PageLayout adalah properti pada Document yang mengontrol bagaimana penampil PDF menampilkan dokumen saat pertama kali dibuka — apakah menampilkan outline, thumbnail, atau tata letak kolom tertentu.
using var doc = Document.Open("input.pdf");
// Show the outline (bookmarks) panel when the document opens
doc.PageMode = PageMode.UseOutlines;
// Display pages in two columns, first page on the left
doc.PageLayout = PageLayout.TwoColumnLeft;
doc.Save("output.pdf");Model Warna Halaman
ColorType menjelaskan model warna sebuah halaman — RGB, CMYK, skala abu-abu, dan sebagainya. Ini tersedia pada Page maupun Color, memungkinkan Anda membuat cabang logika berdasarkan cara konten pada halaman benar-benar dirender.
using var doc = Document.Open("input.pdf");
var page = doc.Pages[1];
if (page.ColorType == ColorType.Grayscale)
{
// Apply grayscale-specific handling, e.g. skip color-profile conversion
}Alignment
Beberapa kelas mengekspos HorizontalAlignment dan VerticalAlignment untuk memposisikan konten pada halaman, sementara kelas anotasi menambahkan TextAlignment dan Justification untuk penyelarasan khusus teks di dalam kotak. Table, misalnya, mengekspos kedua sumbu penyelarasan secara langsung.
var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;
page.Paragraphs.Add(table);FreeTextAnnotation (dan tipe dasar Annotation) juga mengekspos Justification dan TextAlignment untuk teks di dalam anotasi:
if (page.Annotations[1] is FreeTextAnnotation freeText)
{
freeText.Justification = Justification.Center;
freeText.Alignment = TextAlignment.Right;
}Format Muat dan Simpan
LoadFormat mengidentifikasi format sumber di balik subclass LoadOptions (misalnya, HtmlLoadOptions.LoadFormat selalu LoadFormat.HTML), sementara SaveFormat memilih format output saat memanggil Document.Save.
var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);
doc.Save("output.html", SaveFormat.Html);Rotasi Halaman
Rotation menggambarkan sudut rotasi halaman dan diekspos melalui Page.Rotate.
var page = doc.Pages[1];
page.Rotate = Rotation.on90;Tips dan Praktik Terbaik
- Lebih pilih overload enum daripada overload berbasis string atau int bila keduanya ada — mereka menangkap nilai tidak valid pada waktu kompilasi.
- Cocokkan
SaveFormatdengan ekstensi file yang Anda berikan keDocument.Save; ketidaksesuaian menghasilkan file dengan konten yang menyesatkan atau ekstensi yang tidak dapat digunakan. - Gunakan subkelas
LoadOptionsyang sesuai dengan format sumber Anda (misalnyaHtmlLoadOptionsuntuk HTML) daripada hanya mengandalkan deteksi otomatis format. - Atur
HorizontalAlignmentdanVerticalAlignmentsecara bersamaan saat menempatkan tabel atau paragraf — membiarkan salah satunya pada nilai default dapat menghasilkan penempatan yang tidak terduga. - Anggap
ColorTypebersifat deskriptif, bukan preskriptif: ia melaporkan bagaimana konten warna halaman saat ini dimodelkan, bukan pengaturan yang Anda ubah untuk mengonversi ruang warna.
Masalah Umum
| Masalah | Penyebab | Perbaikan |
|---|---|---|
| File yang disimpan memiliki konten yang salah untuk ekstensi-nya | Nilai SaveFormat yang salah diberikan ke Document.Save | Berikan nilai SaveFormat yang cocok dengan ekstensi file target |
| Konten HTML/XML/etc. yang dimuat dirender secara tidak benar | LoadOptions generik digunakan alih-alih subclass khusus format | Gunakan subclass yang sesuai dengan format sumber, misalnya HtmlLoadOptions |
| Tabel atau anotasi tampak tidak selaras di halaman | HorizontalAlignment/VerticalAlignment dibiarkan pada nilai defaultnya | Setel kedua properti secara eksplisit sebelum menambahkan objek ke Paragraphs |
| PDF terbuka dengan perilaku penampil yang tidak terduga (tidak ada panel outline, tata letak kolom salah) | Document.PageMode/Document.PageLayout tidak pernah disetel | Atur kedua properti sebelum memanggil Document.Save |
FAQ
Apa perbedaan antara PageMode dan PageLayout?
PageMode mengontrol keadaan UI penampil saat dibuka (misalnya, apakah panel outline atau thumbnail terlihat), sementara PageLayout mengontrol cara halaman disusun (satu halaman, satu kolom, dua kolom, dan seterusnya).
Bagaimana saya tahu nilai SaveFormat mana yang harus digunakan?
Pilih nilai SaveFormat yang sesuai dengan tipe file keluaran yang Anda inginkan — misalnya, SaveFormat.Html untuk keluaran HTML atau SaveFormat.Pdf untuk menyimpan kembali sebagai PDF.
Apakah saya dapat mengatur HorizontalAlignment dan VerticalAlignment sekaligus pada objek yang sama?
Ya. Kelas seperti Table mengekspos kedua properti secara independen, sehingga Anda dapat menggabungkannya untuk memposisikan konten pada sumbu manapun.
Apakah ColorType memungkinkan saya mengonversi ruang warna halaman?
Tidak. ColorType melaporkan model warna yang saat ini terkait dengan halaman atau nilai warna; ia tidak melakukan konversi.
Di mana saya dapat menemukan semua enum dan semua nilai?
Halaman ini mencakup enum yang paling umum digunakan. Untuk set lengkap, termasuk setiap nilai anggota, lihat API Reference.
API Reference Ringkasan
| Enum | Deskripsi |
|---|---|
PageMode | Bagaimana penampil PDF menampilkan dokumen saat dibuka (garis besar, thumbnail, layar penuh, dll.) |
PageLayout | Tata letak halaman yang digunakan saat dokumen ditampilkan (satu halaman, kolom, dll.) |
ColorType | Model warna halaman atau nilai warna (RGB, CMYK, skala abu-abu, dll.) |
HorizontalAlignment | Perataan horizontal paragraf, tabel, atau anotasi |
VerticalAlignment | Perataan vertikal paragraf, tabel, atau anotasi |
TextAlignment | Perataan teks horizontal untuk kotak teks anotasi |
Justification | Justifikasi konten anotasi teks bebas |
LoadFormat | Pemilih format sumber yang digunakan oleh subclass LoadOptions |
SaveFormat | Pemilih format output yang digunakan oleh Document.Save |
Rotation | Sudut rotasi halaman, diekspos melalui Page.Rotate |