Enum'larla Çalışma

Enum’larla Çalışma

Aspose.PDF FOSS for .NET, belge davranışı, sayfa görünümü ve dönüşüm formatlarını yapılandırmak için API boyunca güçlü tiplenmiş enum’lar kullanır. Büyülü dizeler veya tam sayılar yerine, çoğu yapılandırma alanı — bir PDF görüntüleyicisinin bir dosyayı nasıl açtığından bir dosyanın hangi formatta kaydedileceğine kadar — enum değerleriyle ifade edilir. Document kaydedildiği format — enum değerleriyle ifade edilir. Bu sayfa, kütüphane ile çalışırken en sık karşılaşacağınız enum tiplerini tanıtır. Bu, kapsamlı bir katalog değil, seçkin bir giriştir; enum tiplerinin tam listesi ve her üye değeri için, bakınız API Reference.


Sayfa Görüntüleme ve Düzen

PageMode ve PageLayout, Document üzerindeki özelliklerdir ve bir PDF görüntüleyicisinin belgeyi ilk açtığında nasıl sunduğunu kontrol eder — anahatları, küçük resimleri ya da belirli bir sütun düzenini gösterip göstermediğini.

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");

Sayfa Renk Modeli

ColorType, bir sayfanın renk modelini tanımlar — RGB, CMYK, gri tonlamalı vb. Hem Page hem de Color üzerinde ortaya çıkar, böylece sayfadaki içeriğin gerçekte nasıl işlendiğine göre mantık dallandırabilirsiniz.

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

Birçok sınıf, sayfadaki içeriği konumlandırmak için HorizontalAlignment ve VerticalAlignment öğelerini ortaya çıkarır, anotasyon sınıfları ise bir kutu içinde metin-spesifik hizalama için TextAlignment ve Justification ekler. Örneğin, Table, her iki hizalama eksenini doğrudan ortaya çıkarır.

var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;

page.Paragraphs.Add(table);

FreeTextAnnotation (ve Annotation temel türü) ayrıca anotasyon içindeki metin için Justification ve TextAlignment öğelerini ortaya çıkarır:

if (page.Annotations[1] is FreeTextAnnotation freeText)
{
    freeText.Justification = Justification.Center;
    freeText.Alignment = TextAlignment.Right;
}

Yükleme ve Kaydetme Biçimleri

LoadFormat, bir LoadOptions alt sınıfının arkasındaki kaynak biçimini tanımlar (örneğin, HtmlLoadOptions.LoadFormat her zaman LoadFormat.HTML’tir), SaveFormat ise Document.Save çağrılırken çıkış biçimini seçer.

var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);

doc.Save("output.html", SaveFormat.Html);

Sayfa Döndürme

Rotation, bir sayfanın döndürme açısını tanımlar ve Page.Rotate aracılığıyla ortaya çıkarılır.

var page = doc.Pages[1];
page.Rotate = Rotation.on90;

İpuçları ve En İyi Uygulamalar

  • Hem var olduğunda string ya da int tabanlı aşırı yüklemeler yerine enum aşırı yüklemelerini tercih edin — bunlar geçersiz değerleri derleme zamanında yakalar.
  • SaveFormat öğesini Document.Save öğesine geçirdiğiniz dosya uzantısıyla eşleştirin; uyumsuzluk, yanıltıcı içerikli veya kullanılamayan bir uzantıya sahip bir dosya oluşturur.
  • Yalnızca format otomatik algılamasına güvenmek yerine, kaynak formatınıza karşılık gelen LoadOptions alt sınıfını (ör. HTML için HtmlLoadOptions) kullanın.
  • Tabloları veya paragrafları konumlandırırken HorizontalAlignment ve VerticalAlignment öğelerini birlikte ayarlayın — birini varsayılanında bırakmak beklenmedik yerleşimlere yol açabilir.
  • ColorType öğesini yönlendirici değil, açıklayıcı olarak değerlendirin: bir sayfanın renk içeriğinin şu anda nasıl modellendiğini raporlar, renk uzaylarını dönüştürmek için değiştirdiğiniz bir ayar değildir.

Yaygın Sorunlar

SorunNedenDüzeltme
Kaydedilen dosyanın uzantısı için içeriği yanlışYanlış SaveFormat değeri Document.Save‘e geçirildiHedef dosya uzantısıyla eşleşen SaveFormat değerini geçirin
Yüklenen HTML/XML/etc. içerik yanlış görüntüleniyorBiçim-özel alt sınıfı yerine genel LoadOptions kullanıldıKaynak formatına uyan alt sınıfı kullanın, ör. HtmlLoadOptions
Tablo ya da açıklama sayfada hizalanmamış görünüyorHorizontalAlignment/VerticalAlignment varsayılan ayarlarında bırakıldıNesneyi Paragraphs‘a eklemeden önce her iki özelliği de açıkça ayarlayın
PDF, beklenmeyen görüntüleyici davranışıyla açılıyor (çizelge paneli yok, yanlış sütun düzeni)Document.PageMode/Document.PageLayout asla ayarlanmamışHer iki özelliği de Document.Save çağırmadan önce ayarlayın.

FAQ

PageMode ile PageLayout arasındaki fark nedir?

PageMode, görüntüleyicinin açılışta UI durumunu kontrol eder (örneğin, taslak veya küçük resim panelinin görünür olup olmadığı), PageLayout ise sayfaların nasıl düzenlendiğini kontrol eder (tek sayfa, tek sütun, iki sütun vb.).

Hangi SaveFormat değerini kullanmam gerektiğini nasıl öğrenebilirim?

İstediğiniz çıkış dosya türüne uyan SaveFormat değerini seçin — örneğin, HTML çıkışı için SaveFormat.Html veya PDF olarak yeniden kaydetmek için SaveFormat.Pdf.

Aynı nesne üzerinde hem HorizontalAlignment hem de VerticalAlignment ayarlayabilir miyim?

Evet. Table gibi sınıflar her iki özelliği bağımsız olarak ortaya çıkar, böylece içeriği her iki eksende de konumlandırmak için birleştirebilirsiniz.

ColorType bir sayfanın renk uzayını dönüştürmeme izin veriyor mu?

Hayır. ColorType, bir sayfa veya renk değeriyle şu anda ilişkilendirilmiş renk modelini raporlar; dönüşüm yapmaz.

Her bir enum ve tüm değerleri nerede bulabilirim?

Bu sayfa en yaygın kullanılan enum’ları kapsar. Tüm üye değerlerini içeren tam set için, bkz. API Reference.


API Reference Özet

EnumAçıklama
PageModePDF görüntüleyicinin belgeyi açarken nasıl gösterdiği (taslaklar, küçük resimler, tam ekran, vb.)
PageLayoutBelge görüntülendiğinde kullanılan sayfa düzeni (tek sayfa, sütunlar, vb.)
ColorTypeSayfanın renk modeli veya renk değeri (RGB, CMYK, gri tonlamalı, vb.)
HorizontalAlignmentParagrafların, tabloların veya açıklamaların yatay hizalaması
VerticalAlignmentParagrafların, tabloların veya açıklamaların dikey hizalaması
TextAlignmentNot açıklama metin kutuları için yatay metin hizalaması
JustificationSerbest metin ek açıklamasının içeriğinin hizalanması
LoadFormatKaynak format seçicisi, LoadOptions alt sınıfları tarafından kullanılır
SaveFormatÇıktı format seçicisi, Document.Save tarafından kullanılır
RotationSayfa döndürme açısı, Page.Rotate aracılığıyla sunulur

Ayrıca Bakınız

 Türkçe