LoadOptions ile Belgeleri Yükleme
Belgeleri LoadOptions ile Yükleme
Bu kılavuz, belge yüklemeyi yalnızca bir dosya yolu ya da akışın ötesinde, LoadOptions sınıfını kullanarak nasıl kontrol edeceğinizi gösterir. Document, bir LoadOptions örneğini — Document(fileName, loadOptions) ve Document(stream, loadOptions) — kabul eden yapıcı aşırı yüklemelere sahiptir; böylece burada açıklanan ayarların tümü, belge nesnesi kodunuza geri verilmeden önce yükleme zamanında uygulanır.
LoadOptions Sınıfı
LoadOptions, bir Document nesnesine belge yüklerken Aspose.Words FOSS’un ihtiyaç duyduğu ayarları taşır. Yapıcıları arasında parametresiz bir LoadOptions(), şifre korumalı bir dosyayı doğrudan açmak için LoadOptions(password) ve formatı açıkça belirtmek için LoadOptions(loadFormat, password, baseUri) bulunur. Password ve BaseUri‘ın (bağlantılı kaynaklar gibi göreceli referansları çözmek için kullanılan) ötesinde, LoadOptions, metin tabanlı formatlar için Encoding, büyük belge işleme için TempFolder, hangi Word sürümünün format kurallarının uygulanacağını belirtmek için MswVersion ve yükleme davranışı üzerinde daha ince kontrol için UpdateDirtyFields, IgnoreOleData ve UseSystemLcid sunar. LoadOptions.FontSettings, belge yüklendikten sonra yalnızca yazı tiplerini yapılandırmak yerine, yükleme sırasında FontSettings sağlamanıza olanak tanır.
Biçime Özel Yükleme Seçenekleri
Bazı formatların, o formata özgü ayarları ortaya çıkaran kendi LoadOptions alt sınıfları vardır. TxtLoadOptions (düz metin için) AutoNumberingDetection, DetectNumberingWithWhitespaces, DetectHyperlinks, DocumentDirection ve her satırdaki baştaki ve sondaki boşlukların nasıl ele alınacağını kontrol etmek için TxtLeadingSpacesOptions/TxtTrailingSpacesOptions türünde ayrı LeadingSpacesOptions/TrailingSpacesOptions ekler. MarkdownLoadOptions, Markdown’un satır sonu kurallarının belge paragrafları ve koşumlarıyla nasıl eşleşeceğini kontrol etmek için PreserveEmptyLines, ImportUnderlineFormatting ve SoftLineBreakCharacter ekler. Her iki alt sınıf da tüm genel LoadOptions özelliklerini devralır, böylece bir TxtLoadOptions veya MarkdownLoadOptions örneğinde ayarlanan şifre ya da kaynak yükleme geri çağrısı, temel sınıftakiyle aynı şekilde davranır.
Kaynak Yükleme Geri Çağrıları
LoadOptions.ResourceLoadingCallback, yüklenen belgenin referans verdiği harici kaynakları çözerken loader tarafından bilgilendirilen IResourceLoadingCallback uygulamasını kabul eder. Geri çağırma, yüklenen kaynağın ResourceTypeını tanımlayan bir ResourceLoadingArgs alır ve loader’a kaynağı normal şekilde yükleyip yüklemeyeceğini, atlayacağını veya özel veri ile değiştireceğini söylemek için bir ResourceLoadingAction döndürür. Bu, hangi format okunuyorsa o formattan bağımsız olarak, yükleme sırasında kaynak çözümlemesini kontrol etme veya kesme noktasıdır.
Dil, Yön ve Kurtarma Ayarları
LoadOptions.LanguagePreferences, LanguagePreferences bir nesnedir ve DefaultEditingLanguage (bir EditingLanguage enum değeri), bir belgenin açıkça bir dil belirtmediği durumlarda FOSS’un varsaydığı dili Aspose.Words ayarlar; AddEditingLanguage(language) ve AddEditingLanguages(languages) belgenin kullanabileceği ek dilleri kaydeder. DocumentDirection (aynı zamanda doğrudan TxtLoadOptions üzerinde bulunur) yükleme sırasında metin akış yönünü kontrol etmek için LeftToRight, RightToLeft ve Auto değerlerine sahip bir enumdur. LoadOptions.RecoveryMode, DocumentRecoveryMode değerini alır; bu değer, loader’ın bozuk ya da kısmen hasarlı bir belgeyle karşılaştığında nasıl yanıt vereceğini kontrol eder.
İlerleme ve Uyarı Geri Çağrıları
Kaynak yüklemesinin ötesinde, LoadOptions.WarningCallback ve LoadOptions.ProgressCallback, sırasıyla yükleme sırasında karşılaşılan ölümcül olmayan sorunlar ve yükleme ilerlemesi hakkında bilgilendirilen geri çağırma uygulamalarını kabul eder — çağıran koda kurtarılabilir problemleri ortaya çıkarmak veya büyük belgelerde anket yapmadan ilerlemeyi raporlamak için kullanışlıdır.
İpuçları ve En İyi Uygulamalar
- Yükleme istisnasını yakalayıp yeniden denemek yerine
LoadOptions(password)‘ı (veyaLoadOptions.Password‘ı ayarlayın) — Aspose.Words FOSS, belgeyi tamamen ayrıştırabilmesi için önce parolaya ihtiyaç duyar. - Dil meta verisi eksik veya güvenilmez olan belgeleri yüklerken
LanguagePreferences.DefaultEditingLanguage‘ı ayarlayın; böylece sonraki dil-bağımlı işlemler öngörülebilir şekilde davranır. - Bu formatları yüklerken temel
LoadOptionsyerine format-özgü seçenek sınıfını (TxtLoadOptions,MarkdownLoadOptions) tercih edin; çünkü belirli alt sınıf, temel sınıfın sunmadığı formatla ilgili ayarları ortaya çıkarır. - Belge belleğe alındıktan sonra değil, yükleme sırasında dış kaynak çözümlemesini yönlendirmek, önbelleğe almak veya engellemek gerektiğinde
IResourceLoadingCallbackuygulayın. - Varsayılan kurtarma davranışına güvenmek yerine, güvenilmeyen veya üçüncü taraf kaynaklardan gelen belgeleri işleyen boru hatları için
LoadOptions.RecoveryMode‘ı kasıtlı olarak ayarlayın.
Yaygın Sorunlar
| Sorun | Neden | Düzeltme |
|---|---|---|
| Şifre korumalı bir belgeyi yüklemek bir istisna fırlatır | Şifre sağlanmadı veya yükleme zaten başladıktan sonra sağlandı | LoadOptions(password)‘ı (veya bir LoadOptions örneğinde Password‘i ayarlayarak) LoadOptions‘i kabul eden Document yapıcı aşırı yüklemesine iletin |
| Yüklenen bir metin dosyasındaki baştaki/sondaki boşluk karakterleri beklendiği gibi işlenmiyor | Varsayılan TxtLeadingSpacesOptions/TxtTrailingSpacesOptions davranışı, kaynak dosyanın boşluk kurallarına uymuyor | TxtLoadOptions.LeadingSpacesOptions / TrailingSpacesOptions değerini açıkça ayarlayın |
| Markdown satır sonları beklenen paragraf yapısına eşleşmiyor | MarkdownLoadOptions.PreserveEmptyLines veya SoftLineBreakCharacter kaynak Markdown’ın kurallarına uymuyor | Yüklemeden önce ilgili MarkdownLoadOptions özelliğini ayarlayın |
| Harici kaynak yüklemesi gözlemlenmemiş veya kontrol edilemez | LoadOptions.ResourceLoadingCallback üzerinde IResourceLoadingCallback kaydedilmedi | IResourceLoadingCallback uygulayın ve yüklemeden önce atayın |
FAQ
Şifre korumalı bir belgeyi nasıl yüklerim?
Şifre ile LoadOptions‘ı oluşturun — new LoadOptions(password) — ya da LoadOptions.Password‘yi ayarlayın, ardından new Document(fileName, loadOptions) ya da new Document(stream, loadOptions)‘e iletin.
Format-özgü bir LoadOptions alt sınıfına ihtiyacım var mı, yoksa temel sınıf yeterli mi?
Temel LoadOptions sınıfı, her format için ortak ayarları (parola, kodlama, geri aramalar) kapsar. TxtLoadOptions veya MarkdownLoadOptions gibi format-özel bir alt sınıfı, o formata özgü ayarlara ihtiyacınız olduğunda, örneğin metin dosyaları için boşluk işleme ya da Markdown için satır sonu kuralları gibi, kullanın.
Bir belge yüklendiği sırada başvurduğu kaynakları nasıl yakalar ya da yönlendiririm?
IResourceLoadingCallback öğesini uygulayın ve yüklemeden önce LoadOptions.ResourceLoadingCallback öğesine atayın. Geri arama, her kaynak için bir ResourceLoadingArgs alır ve yükleyicinin nasıl ilerleyeceğine karar veren bir ResourceLoadingAction döndürür.
Aspose.Words FOSS’un yüklü bir belge için varsaydığı dili nasıl kontrol ederim?
Yüklemeden önce LoadOptions.LanguagePreferences.DefaultEditingLanguage öğesini bir EditingLanguage değeri olarak ayarlayın; belgenin içerebileceği ek dilleri kaydetmek için AddEditingLanguage/AddEditingLanguages öğelerini kullanın.
Yükleyici bozuk bir belgeyle karşılaşırsa ne olur?
Davranış, kaynak belgedeki yapısal sorunlara yükleyicinin nasıl yanıt vereceğini belirleyen bir DocumentRecoveryMode değeri olan LoadOptions.RecoveryMode tarafından kontrol edilir.
API Reference Özeti
| Sınıf/Yöntem | Açıklama |
|---|---|
LoadOptions | Belgenin nasıl yükleneceğini kontrol eden temel seçenekler nesnesi |
Document(fileName, loadOptions) / Document(stream, loadOptions) | Yükleme sırasında LoadOptions uygulayan yapıcı aşırı yüklemeleri |
TxtLoadOptions | Düz metin belgelerine özgü yükleme seçenekleri |
MarkdownLoadOptions | Markdown belgelerine özgü yükleme seçenekleri |
IResourceLoadingCallback | Yükleme sırasında dış kaynak çözümlemesini yakalamak için geri çağırma arayüzü |
ResourceLoadingArgs / ResourceLoadingAction | Kaynağa özgü olay verileri ve yükleyiciye döndürülen eylem |
LanguagePreferences | Yükleme sırasında varsayılan ve ek düzenleme dillerini yapılandırır |
DocumentDirection | Metin akış yönünü kontrol eden enum (LeftToRight, RightToLeft, Auto) |
DocumentRecoveryMode | Bir belge hatalı olduğunda yükleyici davranışını kontrol eder |