Belgeleri Kaydetme ve Dışa Aktarma

Belgeleri Kaydetme ve Dışa Aktarma

Belgeleri Kaydetme ve Dışa Aktarma

Document.Save bir belgeyi hedef formatta bir dosyaya veya akışa yazar. Format ya bir dosya uzantısından çıkarılır, SaveFormat değeri olarak açıkça verilir ya da bir SaveOptions alt sınıfı — OoxmlSaveOptions, MarkdownSaveOptions veya TxtSaveOptions — tarafından format-özel kontrol için yönlendirilir. Bu kılavuz Save aşırı yüklemelerini, SaveFormat enumunu, OOXML kaydetme seçeneklerini, Markdown ve düz metin dışa aktarmayı ve dönüştürmeden önce bir formatın tespit edilmesini kapsar.


Document.Save ile Kaydetme

En basit çağrı, Document.Save(fileName), hedef formatı dosyanın uzantısından çıkarır. Save(fileName, saveFormat), uzantı ne olursa olsun formatı açıkça belirler ve Save(fileName, saveOptions) (veya eşleşen Stream aşırı yüklemeleri) format-özel ayarlar için bir SaveOptions alt sınıfını kabul eder. SaveOptions.CreateSaveOptions(saveFormat), verilen bir SaveFormat için varsayılanları zaten ayarlanmış doğru seçenekler alt sınıfını döndüren statik bir fabrikadır.


SaveFormat ile Bir Format Seçme

SaveFormat enumu, kütüphanenin tanıdığı her kaydetme-formatı tanımlayıcısını listeler. Document.Save, bu sürümün temel belge formatlarına — DOCX, DOCM, DOTX, DOTM ve Düz OPC (makro-etkin ve şablon varyantları dahil) — ayrıca Markdown ve düz metne tam olarak hem okur hem yazar. FileFormatUtil.SaveFormatToExtension(saveFormat) ve ExtensionToSaveFormat(extension), enum ile bir dosya uzantısı dizesi arasında dönüşüm yapar.

SaveFormat değerlerinden bazıları API bütünlüğü için enumda bulunur ancak bu sınırlı, açık kaynak sürümünün çalışır bir okuyucu veya yazar uygulamadığı formatlara karşılık gelir — bunlardan birine kaydetmeye çalışmak, kaynak belgeyle eşdeğer olmayan bir çıktı üretir. Güvenilir çift yönlü (round-tripping) işlem için yukarıda adlandırılan formatları kullanın.


OOXML Seçenekleri: DOCX, DOCM, DOTX, DOTM ve Flat OPC

OoxmlSaveOptions, Open XML formatlarından herhangi birine kaydetmeyi yapılandırır. SaveFormat özelliği, hangi belirli varyantın yazılacağını seçer; Password, kaydedilen dosyaya bir açma parolası ayarlar (Document.Protect‘ün düzenleme kısıtlamalarından bağımsız olarak); Compliance, OOXML katılık seviyesini seçer; ve CompressionLevel / Zip64Mode, temel ZIP paketlemesini kontrol eder. new OoxmlSaveOptions(saveFormat) ile ya da SaveOptions.CreateSaveOptions(saveFormat) aracılığıyla bir tane oluşturun.


Markdown’a Dışa Aktarma

MarkdownSaveOptions, bir Markdown dışa aktarımını kontrol eder: ListExportMode ve LinkExportMode, listelerin ve köprülerin nasıl oluşturulacağını yönetir, ImagesFolder / ImagesFolderAlias, çıkarılan görsellerin nereye yazılacağını ve nasıl referans verileceğini kontrol eder, ExportImagesAsBase64 onları satır içi gömer, ve TableContentAlignment, oluşturulan tablo işaretlemesini etkiler. Bir MarkdownSaveOptions örneğini Document.Save(fileName, saveOptions)‘e .md dosya adıyla iletin, ya da SaveFormat‘unu açıkça ayarlayın.


Düz Metne Dışa Aktarma

TxtSaveOptions (temel TxtSaveOptionsBase aracılığıyla, MarkdownSaveOptions ile paylaşılır) düz metin dışa aktarımını kontrol eder: Encoding karakter kodlamasını ayarlar, ParagraphBreak satır sonu dizgisini ayarlar, MaxCharactersPerLine uzun satırları kaydırır, SimplifyListLabels liste işaretlerini/sayılarını düz karakterlere normalleştirir, ve PreserveTableLayout tablo sütunlarını boşluklarla hizalı tutmaya çalışır.


Dönüştürmeden Önce Bir Biçim Tespit Etme

Biçimini henüz bilmediğiniz bir dosyayı dönüştürmeden önce, FileFormatUtil.DetectFileFormat(fileName) tespit edilen LoadFormat ile bir FileFormatInfo döndürür. FileFormatUtil.LoadFormatToSaveFormat(loadFormat) ile birleştirerek, Document.Save‘e girişmeden önce bu sürümün desteklediği biçimler arasında bir tur dönüşünün mümkün olup olmadığını belirleyin.


İpuçları ve En İyi Uygulamalar

  • Biçim-özel davranışı, örneğin Markdown liste render’ı veya OOXML sıkıştırması gibi, kontrol etmeniz gerektiğinde, yalın Save(fileName, saveFormat) aşırı yüklemesi yerine Save(fileName, saveOptions) kullanın.
  • Açık şifre korumalı bir dosya için OoxmlSaveOptions.Password ayarlayın; bu, düzenlemeyi kısıtlayan ancak dosyayı şifrelemeyen Document.Protect öğesinden farklıdır.
  • Tek bir bütünleşik Markdown dosyası için MarkdownSaveOptions.ExportImagesAsBase64 seçin, ya da Markdown ile birlikte çıkarılmış resim dosyalarından oluşan bir klasör istediğinizde ImagesFolder seçin.
  • Hedef biçim çalışma zamanında belirlendiğinde, somut seçenek sınıfını manuel olarak seçmek yerine SaveOptions.CreateSaveOptions(saveFormat) çağırın.
  • Dönüştürmeden önce hedef biçimi FileFormatUtil ile doğrulayın; yalnızca dosya uzantısına dayanmak yerine, çünkü uzantı yanlış veya yanıltıcı olabilir.

Yaygın Sorunlar

SorunNedenDüzeltme
Save(fileName) yanlış formatı seçiyorDosya uzantısı hedeflenen formatla eşleşmiyorFormatı açıkça belirtmek için Save(fileName, saveFormat) veya Save(fileName, saveOptions) kullanın
Kaydedilen OOXML dosyası şifreyle açılamıyorOoxmlSaveOptions.Password kaydetmeden önce ayarlanmamıştıBir OoxmlSaveOptions oluşturun, Password‘i ayarlayın ve Save‘ye iletin
Markdown dışa aktarımı görüntü dosyalarını beklenmedik biçimde dağıtırVarsayılan MarkdownSaveOptions davranışı görüntüleri dosyalara çıkarırExportImagesAsBase64 = true‘ı tek bir bağımsız dosya için ayarlayın, ya da görüntülerin nereye gideceğini kontrol etmek için ImagesFolder‘ı ayarlayın
Düz metin dışa aktarımı tablo sütun hizalamasını kaybederTxtSaveOptions.PreserveTableLayout varsayılan ayarında bırakılmıştırKaydetmeden önce PreserveTableLayout = true ayarlayın.

FAQ

Belgeyi dosya uzantısı ne olursa olsun belirli bir biçimde nasıl kaydederim?

Açık bir SaveFormat değeriyle Save(fileName, saveFormat)‘ı çağırın veya eşleşen bir SaveOptions alt sınıfı ile Save(fileName, saveOptions)‘yi kullanın.

Bu sürüm hangi formatları hem okuyup hem de yazabilir?

DOCX, DOCM, DOTX, DOTM, Düz OPC (makro etkin ve şablon varyantları dahil), Markdown ve düz metin.

Kaydedilen bir dosyayı şifreyle nasıl korurum?

Password‘ı bir OoxmlSaveOptions örneğine ayarlayın ve Document.Save(fileName, saveOptions)‘ye geçirin.

Dışa aktarılan bir metin dosyasında satır sonlarını nasıl kontrol ederim?

Kaydetmeden önce bir TxtSaveOptions örneğine ParagraphBreak‘ı ayarlayın.

Bir dosyanın formatını dönüştürmeden önce nasıl kontrol edebilirim?

FileFormatUtil.DetectFileFormat(fileName)‘ı çağırın ve dönen FileFormatInfo.LoadFormat‘i okuyun.


API Reference Özeti

Sınıf/YöntemAçıklama
Document.SaveBelgeyi seçilen bir formatta dosyaya, akışa veya çıktı hedefine yazar.
SaveFormatKaydetme işlemi için hedef formatı tanımlayan enum.
SaveOptionsBiçim-özelinde kaydetme yapılandırması için soyut temel sınıf; CreateSaveOptions(saveFormat) eşleşen alt sınıfı döndürür.
OoxmlSaveOptionsDOCX, DOCM, DOTX, DOTM ve Flat OPC için seçenekler — parola, uyumluluk, sıkıştırma.
MarkdownSaveOptionsMarkdown dışa aktarma seçenekleri — liste/bağlantı işleme, görsel işleme.
TxtSaveOptions / TxtSaveOptionsBaseDüz metin dışa aktarma seçenekleri — kodlama, satır sonları, tablo düzeni.
FileFormatUtil.DetectFileFormatBir dosyanın formatını, yüklemeden veya dönüştürmeden önce algılar.
FileFormatUtil.SaveFormatToExtension / ExtensionToSaveFormatBir SaveFormat değeri ile dosya uzantısı arasında dönüştürür.

Ayrıca Bakınız

 Türkçe