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 SaveFormat dengan ekstensi file yang Anda berikan ke Document.Save; ketidaksesuaian menghasilkan file dengan konten yang menyesatkan atau ekstensi yang tidak dapat digunakan.
  • Gunakan subkelas LoadOptions yang sesuai dengan format sumber Anda (misalnya HtmlLoadOptions untuk HTML) daripada hanya mengandalkan deteksi otomatis format.
  • Atur HorizontalAlignment dan VerticalAlignment secara bersamaan saat menempatkan tabel atau paragraf — membiarkan salah satunya pada nilai default dapat menghasilkan penempatan yang tidak terduga.
  • Anggap ColorType bersifat deskriptif, bukan preskriptif: ia melaporkan bagaimana konten warna halaman saat ini dimodelkan, bukan pengaturan yang Anda ubah untuk mengonversi ruang warna.

Masalah Umum

MasalahPenyebabPerbaikan
File yang disimpan memiliki konten yang salah untuk ekstensi-nyaNilai SaveFormat yang salah diberikan ke Document.SaveBerikan nilai SaveFormat yang cocok dengan ekstensi file target
Konten HTML/XML/etc. yang dimuat dirender secara tidak benarLoadOptions generik digunakan alih-alih subclass khusus formatGunakan subclass yang sesuai dengan format sumber, misalnya HtmlLoadOptions
Tabel atau anotasi tampak tidak selaras di halamanHorizontalAlignment/VerticalAlignment dibiarkan pada nilai defaultnyaSetel 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 disetelAtur 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

EnumDeskripsi
PageModeBagaimana penampil PDF menampilkan dokumen saat dibuka (garis besar, thumbnail, layar penuh, dll.)
PageLayoutTata letak halaman yang digunakan saat dokumen ditampilkan (satu halaman, kolom, dll.)
ColorTypeModel warna halaman atau nilai warna (RGB, CMYK, skala abu-abu, dll.)
HorizontalAlignmentPerataan horizontal paragraf, tabel, atau anotasi
VerticalAlignmentPerataan vertikal paragraf, tabel, atau anotasi
TextAlignmentPerataan teks horizontal untuk kotak teks anotasi
JustificationJustifikasi konten anotasi teks bebas
LoadFormatPemilih format sumber yang digunakan oleh subclass LoadOptions
SaveFormatPemilih format output yang digunakan oleh Document.Save
RotationSudut rotasi halaman, diekspos melalui Page.Rotate

Lihat Juga

 Bahasa Indonesia