Word Belgelerini .NET içinde Nasıl Yüklenir
Word Belgelerini .NET içinde Nasıl Yüklenir
Aspose.Words FOSS for .NET, bir nesneyi oluşturduğunuz anda bir belgeyi belleğe okur Document nesne — kütüphanedeki her yükleme yolu bu üzerinden akar Documentyapıcısının aşırı yüklemeleri ve LoadOptions class. Bu kılavuz, bir belgeyi dosyadan veya akıştan nasıl yükleyeceğinizi, bir şifre veya format-özel ayarları nasıl sağlayacağınızı ve yükleme sırasında dış bir kaynağa ya da hatalı olabilecek bir belgeye rastlandığında ne olacağını nasıl kontrol edeceğinizi gösterir. Aspose.Words FOSS for .NET, bir paket beslemesinden kurulmak yerine doğrudan bir projede kaynak koddan derlenir ve başvurulur — bkz. Kurulum kılavuzu aşağıdaki görevleri yapmadan önce derleme adımları için.
Adım Adım Kılavuz
Adım 1: Bir Belgeyi Dosyadan veya Akıştan Yükle
Document beş kurucuya sahiptir. Document() bir belgeyi yüklemek yerine yeni, boş bir belge oluşturur. Document(fileName) doğrudan diskteki bir yoldan yükler ve Document(stream) herhangi bir okunabilir Stream‘den yükler — kaynak bir dosya olmadığında, örneğin içerik zaten bellek içinde ya da bir ağ bağlantısı üzerinden alındığında faydalıdır. İkisi de, ikinci bir argüman kabul eden bir eşlikçi aşırı yüklemeye sahiptir; bu argüman Document(fileName, loadOptions) ve Document(stream, loadOptions) olup, bu kılavuzdaki diğer tüm görevlerin giriş noktasıdır.
Adım 2: Şifre Koruması Olan Bir Belgeyi Yükle
Parolayı LoadOptions içinde oluşturun ve Document(fileName, loadOptions)‘i (veya akış aşırı yüklemesini) çağırmadan önce bunu yapın. new LoadOptions(password), LoadOptions.Password‘ü doğrudan ayarlar; alternatif olarak, parametresiz bir LoadOptions() örneğinde Password‘ü ayarlayıp ardından geçirin. Parolayı baştan sağlayın, önce yükleyip bir hataya yanıt vermek yerine — Aspose.Words .NET için FOSS, korumalı bir dosyayı ayrıştırmak için parolaya ihtiyaç duyar, bu yüzden kurtarılacak kısmen yüklenmiş bir durum yoktur.
Adım 3: Metin ve Markdown Kaynakları için Biçim-Özel Seçenekleri Uygulayın
Düz metin ve Markdown kaynakları, temel LoadOptions‘ın ortaya koymadığı ayarları kabul eder. TxtLoadOptions, düz metinde numaralı listeleri tanımak için AutoNumberingDetection ve DetectNumberingWithWhitespaces‘ü, çıplak URL’leri bağlantılara dönüştürmek için DetectHyperlinks‘ü, metin akış yönü için DocumentDirection (LeftToRight, RightToLeft veya Auto)‘i ve her satırın başlangıcı ve sonundaki boşlukları yönetmek için ayrı LeadingSpacesOptions/TrailingSpacesOptions (tür TxtLeadingSpacesOptions/TxtTrailingSpacesOptions) ekler. MarkdownLoadOptions, Markdown’ın satır sonu kurallarının paragraflara ve satırlara nasıl eşleneceğini kontrol etmek için PreserveEmptyLines, ImportUnderlineFormatting ve SoftLineBreakCharacter‘yı ekler. Her iki alt sınıf da LoadOptions‘den türetilir, bu yüzden bir şifre ya da kaynak-yükleme geri çağrısı her ikisinde de ayarlanırsa temel sınıfta olduğu gibi davranır — Document(fileName, loadOptions)‘e biçim-özel örneği, düz bir LoadOptions‘e gönderdiğiniz gibi tam olarak geçirin.
Adım 4: Yükleme Sırasında Dış Kaynakları Yönlendirin veya Yakalayın
LoadOptions.ResourceLoadingCallback‘ı, belge tarafından başvurulan dış kaynağın yükleme sırasında nasıl çözüleceğini kontrol etmeniz gerektiğinde IResourceLoadingCallback‘in bir uygulamasına ayarlayın. Onun ResourceLoading(args) yöntemi, kaynağın ResourceType‘ını (Image, Font, CssStyleSheet veya Document) tanımlayan bir ResourceLoadingArgs alır, Uri ve OriginalUri ile birlikte ve bir ResourceLoadingAction döndürür — kaynağı normal şekilde yüklemek için Default, atlamak için Skip, ya da ResourceLoadingArgs.SetData(data) aracılığıyla sağlanan verileri yerine koymak için UserProvided.
Adım 5: Dil Varsayılanlarını ve Kurtarma Davranışını Ayarlayın
Bir belgenin dil meta verileri eksik veya güvenilmez olduğunda, yüklemeden önce LoadOptions.LanguagePreferences.DefaultEditingLanguage‘ı bir EditingLanguage değere ayarlayın ve LanguagePreferences üzerinde AddEditingLanguage(language) veya AddEditingLanguages(languages)‘ü kullanarak belgenin içerebileceği ek dilleri kaydedin. Bozuk olabilecek kaynaklar için, LoadOptions.RecoveryMode‘i bir DocumentRecoveryMode değere ayarlayın — None ile herhangi bir kurtarma denemesi olmadan yükleyin, ya da TryRecover ile yükleyicinin bazı yapısal sorunları aşmasını, yüklemenin tamamen başarısız olmasını engelleyin.
Yaygın Sorunlar ve Çözümler
Şifre korumalı bir belgeyi yüklemek, şifre sağlandıktan sonra hâlâ bir istisna fırlatıyor. Şifrenin tam olarak … üzerine ayarlandığını doğrulayın. LoadOptions örnek gönderilen Document(fileName, loadOptions) (veya akış aşırı yüklemesi) — aracılığıyla new LoadOptions(password) veya ayarlayarak Password sonrasında — ve bunun, yapıcıya gerçekten geçirilen nesne olduğundan emin olun. A LoadOptions oluşturulmuş ama hiçbir zaman teslim edilmemiş Document yük üzerinde hiçbir etkisi yoktur.
Metin veya Markdown’a özgü ayarlar uygulanmıyor gibi görünüyor. Şunun doğru olduğundan emin olun. TxtLoadOptions or MarkdownLoadOptions örnek — temel değil LoadOptions — şuna geçirildi Document yapıcı. Yalnızca alt sınıf, format-özel özellikleri ortaya çıkarır; temel sınıfı geçirmek derlenir fakat sessizce onları yok eder.
Harici kaynaklar yakalanmıyor veya yönlendirilmiyor. ResourceLoadingCallback aynı üzerinde ayarlanmalıdır LoadOptions şuna geçirilen nesne Document yapıcıya, ve yükleme çağrısından önce atanması gerekir. Yükleme zaten tamamlandıktan sonra atanması hiçbir etki yaratmaz.
Bozuk bir belge, ayarlamadan sonra da yüklenemiyor. RecoveryMode. DocumentRecoveryMode.TryRecover yükleyicinin bir belgedeki bazı yapısal sorunların etrafından dolanmasını sağlar, ancak daha şiddetli bozulma hâlâ belgenin başarılı bir şekilde yüklenmesini engelleyebilir.
Bir belge şuradan yüklendiğinde Stream yolu kullanarak yüklendiğinde aynı dosyadan farklı davranır. Akışın konumunun başlangıçta olduğunu doğrulayın, ardından ona geçmeden önce Document(stream) or Document(stream, loadOptions) — içeriğinin ortasından bırakılan bir akış yalnızca kalan baytları yükler.
Sıkça Sorulan Sorular
Herhangi bir özel seçenek olmadan bir belgeyi nasıl yüklerim?
Bir dosya yolunu veya bir Stream‘ı doğrudan Document(fileName) veya Document(stream)‘ye iletin — LoadOptions yalnızca bir şifre, biçim-özel ayarlar veya bir geri arama gerektiğinde gereklidir.
LoadOptions, TxtLoadOptions ve MarkdownLoadOptions arasındaki fark nedir?
TxtLoadOptions ve MarkdownLoadOptions, LoadOptions‘den türetilir ve sırasıyla düz-metin ve Markdown kaynaklarına özgü ayarlar ekler. Her genel LoadOptions özelliği — şifre, kodlama, geri aramalar — her iki alt sınıfta da kullanılabilir.
Bir belgeyi doğrudan bir bayt dizisinden yükleyebilir miyim?
Baytları bir MemoryStream içine sarın ve bu akışı Document(stream) veya Document(stream, loadOptions)‘ye iletin — bayt dizisini doğrudan kabul eden bir yapıcı (constructor) yoktur.
Yükleyici harici bir kaynağı çözemediğinde ne olacağını nasıl kontrol edebilirim?
IResourceLoadingCallback‘ı uygulayın ve LoadOptions.ResourceLoadingCallback‘e atayın. Yüklemenin başarısız olmasına izin vermek yerine kaynağı atlamak için ResourceLoading(args)‘ten ResourceLoadingAction.Skip döndürün.
RecoveryMode‘ı ayarlamak, iyi yapılandırılmış bir belgenin nasıl yüklendiğini değiştirir mi?
No. DocumentRecoveryMode yalnızca yükleyici gerçekten yapısal sorunlarla karşılaştığında davranışı değiştirir — iyi biçimlendirilmiş bir belge, ayara bakılmaksızın aynı şekilde yüklenir.