Cara Mengekspor dan Menyimpan Dokumen Word di .NET
Panduan ini menunjukkan cara mengekspor dan menyimpan dokumen Word dengan Aspose.Words FOSS untuk .NET: menyimpan dengan format yang diperkirakan atau eksplisit, mengonfigurasi opsi penyimpanan OOXML, mengekspor ke Markdown, mengekspor ke teks biasa, dan mendeteksi format file sebelum mengkonversinya. Aspose.Words FOSS untuk .NET tersedia melalui NuGet atau dengan membangun dari sumber.
Panduan Langkah demi Langkah
Langkah 1: Dapatkan Library
Klon repositori dan bangun Aspose.Words.sln dalam konfigurasi Release, lalu tambahkan referensi proyek ke Aspose.Words.csproj dari proyek .NET Anda sendiri, seperti dijelaskan dalam Panduan Instalasi. Tambahkan using Aspose.Words; di bagian atas setiap file yang menyimpan dokumen.
Langkah 2: Simpan dengan Format yang Diperkirakan atau Eksplisit
Document.Save(fileName) memperkirakan format target dari ekstensi file. Save(fileName, saveFormat) membuat format menjadi eksplisit terlepas dari ekstensi dengan menerima nilai enum SaveFormat, dan Save(fileName, saveOptions) (atau overload Stream yang cocok) menerima subclass SaveOptions untuk kontrol spesifik format. SaveOptions.CreateSaveOptions(saveFormat) adalah pabrik statis yang mengembalikan subclass opsi yang cocok dengan nilai default yang sudah diatur untuk SaveFormat tertentu. Edisi ini menyimpan secara lengkap baik ke maupun dari DOCX, DOCM, DOTX, DOTM, dan Flat OPC (beserta varian makro-aktif dan templatnya), serta Markdown dan teks biasa.
Langkah 3: Konfigurasikan Opsi Ekspor OOXML
OoxmlSaveOptions mengkonfigurasi penyimpanan ke semua varian Open XML. Properti SaveFormat memilih DOCX, DOCM, DOTX, DOTM, atau Flat OPC secara spesifik; Password menetapkan kata sandi pembukaan pada file yang disimpan, terlepas dari pembatasan penyuntingan Document.Protect; Compliance memilih tingkat ketatnya OOXML; dan CompressionLevel / Zip64Mode mengontrol pengemasan ZIP yang mendasarinya. Bangun satu dengan new OoxmlSaveOptions(saveFormat) atau melalui SaveOptions.CreateSaveOptions(saveFormat).
Langkah 4: Ekspor ke Markdown
MarkdownSaveOptions mengendalikan ekspor Markdown: ListExportMode dan LinkExportMode mengatur cara daftar dan tautan hiperteks ditampilkan, ImagesFolder / ImagesFolderAlias mengontrol ke mana gambar yang diekstrak disimpan dan bagaimana mereka direferensikan, ExportImagesAsBase64 menyematkannya secara inline alih-alih menulis file terpisah, dan TableContentAlignment memengaruhi markup tabel yang dihasilkan. Berikan sebuah instance MarkdownSaveOptions ke Document.Save(fileName, saveOptions) dengan nama file .md, atau atur SaveFormatnya secara eksplisit.
Langkah 5: Ekspor ke Teks Biasa
TxtSaveOptions (melalui basis bersama TxtSaveOptionsBase, yang juga digunakan oleh MarkdownSaveOptions) mengendalikan ekspor teks biasa: Encoding menentukan pengkodean karakter, ParagraphBreak menentukan string akhir baris, MaxCharactersPerLine membungkus baris panjang, SimplifyListLabels menormalkan peluru dan nomor daftar menjadi karakter biasa, dan PreserveTableLayout menjaga kolom tabel tetap rata menggunakan spasi.
Langkah 6: Deteksi Format Sebelum Mengonversi
Sebelum mengonversi file dengan format yang tidak diketahui, FileFormatUtil.DetectFileFormat(fileName) mengembalikan FileFormatInfo dengan LoadFormat yang terdeteksi. Padukan dengan FileFormatUtil.LoadFormatToSaveFormat(loadFormat) untuk memeriksa apakah format tersebut dapat melakukan round-trip melalui format yang didukung edisi ini sebelum memanggil Document.Save. Beberapa anggota enum SaveFormat ada untuk melengkapi API tetapi nama format ini pada edisi sumber terbuka yang diperkecil tidak memiliki pembaca atau penulis yang berfungsi; tetap gunakan keluarga DOCX/DOCM/DOTX/DOTM/Flat OPC serta Markdown dan teks biasa untuk output yang dapat diandalkan.
Masalah Umum dan Solusi
Save(fileName) menulis format yang salah. Ekstensi file tidak cocok dengan format yang dimaksud. Gunakan Save(fileName, saveFormat) or Save(fileName, saveOptions) untuk membuat format menjadi eksplisit alih-alih bergantung pada ekstensi.
File OOXML yang disimpan tidak dapat dibuka dengan kata sandi. OoxmlSaveOptions.Password tidak diatur sebelum penyimpanan. Buat sebuah OoxmlSaveOptions, atur Password, dan berikan ke Save.
Ekspor Markdown menyebarkan file gambar secara tak terduga. Default MarkdownSaveOptions perilaku mengekstrak gambar ke file terpisah. Atur ExportImagesAsBase64 = true untuk satu file Markdown yang mandiri, atau atur ImagesFolder untuk mengontrol ke mana gambar ditempatkan.
Ekspor teks biasa kehilangan penyelarasan kolom tabel. TxtSaveOptions.PreserveTableLayout dibiarkan pada nilai default. Atur PreserveTableLayout = true sebelum menyimpan.
Pertanyaan yang Sering Diajukan
Bagaimana cara menyimpan ke format tertentu terlepas dari ekstensi file?
Panggil Save(fileName, saveFormat) dengan nilai SaveFormat yang eksplisit, atau Save(fileName, saveOptions) dengan subclass SaveOptions yang cocok.
Format apa yang dapat melakukan round-trip kedua arah dalam edisi ini?
DOCX, DOCM, DOTX, DOTM, Flat OPC (plus varian yang mendukung makro dan templatnya), Markdown, dan teks biasa.
Bagaimana cara melindungi file yang disimpan dengan kata sandi sehingga tidak dapat bahkan dibuka?
Setel Password pada instance OoxmlSaveOptions dan berikan ke Document.Save(fileName, saveOptions).
Bagaimana cara mengontrol akhir baris dalam file teks yang diekspor?
Setel ParagraphBreak pada instance TxtSaveOptions sebelum menyimpan.
Bagaimana cara memeriksa format file sebelum mengonversinya?
Panggil FileFormatUtil.DetectFileFormat(fileName) dan baca FileFormatInfo.LoadFormat yang dikembalikan.