Pemroses File Teks Aspose.Words untuk .NET
Aspose.Words Text File Processor untuk .NET adalah API ringan yang berfokus pada skenario teks yang luas .txt
, melakukan pengeditan programmatik (memasukkan, menghapus, menggantikan), dan menyelamatkan kembali ke TXT dengan kontrol yang tepat atas encoding , BOM danline endings – ideal untuk layanan, pekerjaan ETL, dan CI/CD pipa.
Tidak diperlukan Microsoft Office. bekerja pada Windows, Linux, dan macOS dengan .NET Framework, .Net Core/5/6+, atau Mono.
Instalasi dan Setup
- Instal Aspose.Words dari NuGet.
- Permohonan lisensi Anda di startup (lihat Lisensif Berukuran ).
- Persyaratan sistem ulasan dalam Panduan Pemasangan .
**Skenario yang disokong: ** jalur file dan streams (disarankan untuk web/cloud).
Mulai Cepat
Membuat file TXT (UTF-8 dan CRLF)
using Aspose.Words;
using Aspose.Words.Saving;
using System.Text;
var doc = new Document();
var builder = new DocumentBuilder(doc);
builder.Writeln("Paragraph 1.");
builder.Writeln("Paragraph 2.");
var txt = new TxtSaveOptions
{
Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: true), // with BOM
ParagraphBreak = "\r\n" // Windows EOL
};
doc.Save("Output.txt", txt);
Muat naik TXT dengan kode eksplisit, tambahkan teks, simpan sebagai LF
using Aspose.Words;
using Aspose.Words.Loading;
using Aspose.Words.Saving;
using System.Text;
var load = new TxtLoadOptions { Encoding = Encoding.UTF8 };
var doc = new Document("Input.txt", load);
var builder = new DocumentBuilder(doc);
builder.MoveToDocumentEnd();
builder.Writeln("");
builder.Writeln("Appended by Aspose.Words.");
var txt = new TxtSaveOptions
{
Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), // UTF‑8 no BOM
ParagraphBreak = "\n" // Unix EOL
};
doc.Save("Updated.txt", txt);
Fitur dan Fungsi
Penciptaan Dokumen
- Mulai dari dokumen teks putih dalam memori.
- Menetapkan **default encoding ** dan EOL strategi saat menyimpan.
- Opsi menulis header/footer komentar sebelum teks tubuh.
Mengisi TXT yang ada
- Muat turun dari path , stream atau byte[] dengancoding auto-detect atau coding paksa.
- Menjaga atau Normalisasi garis brek (CRLF / LF / CR) pada beban dan / atau penyimpanan.
- Stream file yang sangat besar untuk menjaga memori stabil.
Manipulasi teks
- Melintasi konten melalui model yang biasa Dokumen → Seksyen → Paragraf → Run.
- Masukkan, tambahkan, atau menghapus teks di lokasi yang tepat—tidak ada matematika offset manual.
- Melakukan ** bulk find/replace** di seluruh dokumen atau rangkaian yang tertutup.
- Membahagikan/menggabungkan paragraf dengan delimiters tersuai.
Menyelamatkan TXT
- Simpan ke file atau **stream ** dengan pilihan coding (UTF‐8/UTP‐16/ASCII/etc.).
- Mengontrol emisi **BOM ** dan ParagraphBreak (EOL) secara eksplisit.
- Tulis ulang atau tulis ke aliran sasaran yang Anda jalani.
Kode dan i18n
- Dukungan lengkap Unicode.
- Penurunan transparan untuk halaman kode warisan saat membaca.
- Mendeteksi dan menyimpan Bom di atas beban kecuali berlebihan.
Stream-Pertama API
- Penggunaan
Stream
→Stream
Untuk layanan web dan fungsi cloud. - Mudah diintegrasikan dengan SDK S3/Blob dan pipa in-memory.
Performance
- Model objek Lean untuk teks rata.
- Operasi ringan meminimalisir peruntukan.
- Thread-safe reading; Sinkronisasi menulis ketika berbagi sumber daya.
Resep Umum
1) Regex mencari/mengganti (collapse multiple spaces)
using System.Text.RegularExpressions;
using Aspose.Words;
using Aspose.Words.Replacing;
var doc = new Document("input.txt");
var opts = new FindReplaceOptions { MatchCase = false };
doc.Range.Replace(new Regex(@"\s{2,}"), " ", opts);
doc.Save("cleaned.txt");
2) Stream→Stream (Windows‐1252 hingga UTF‐8 LF)
using (var input = File.OpenRead("legacy.txt"))
using (var output = File.Create("normalized.txt"))
{
var load = new Aspose.Words.Loading.TxtLoadOptions
{
Encoding = Encoding.GetEncoding(1252)
};
var doc = new Document(input, load);
var save = new Aspose.Words.Saving.TxtSaveOptions
{
Encoding = new UTF8Encoding(false), // no BOM
ParagraphBreak = "\n"
};
doc.Save(output, save);
}
3) Normalisasi akhir garis (CRLF → LF)
var d = new Document("crlf.txt");
var save = new Aspose.Words.Saving.TxtSaveOptions { ParagraphBreak = "\n" };
d.Save("lf.txt", save);
Tips & Praktik Terbaik
- Lebih baik stream-based APIs untuk file besar dan aplikasi web.
- Selalu tetapkan kode pada load & save untuk menghindari mojibake.
- Batch edits dalam memori; save once untuk mengurangi I/O.
- Normalisasi EOL pada beban, konversi ke target Eol pada simpanan.
- Gunakan regex mengganti untuk pembersihan kompleks dalam satu pass.
- Dalam layanan jangka panjang, memantau penggunaan yang diukur dan mengendalikan kuota dengan baik.
FAQ
**Apakah TXT menyimpan tabel, gambar, atau gaya?**No. TXT adalah teks yang rata; format lanjutan dilapisi.
**Bolehkah saya melampirkan ke file yang ada tanpa menulis berlebihan?**Buka FileStream dalam mode lampiran dan tulis output yang disimpan ke dalamnya. pastikan Anda menambahkan newline sebelumnya jika perlu.
**Bagaimana saya memilih garis akhir?**Set yang TxtSaveOptions.ParagraphBreak
Untuk "\r\n"
(Windows atau "\n"
(Untuk MacOS dan Unix).
**Bagaimana saya mematikan UTF-8 BOM?**Penggunaan new UTF8Encoding(false)
dalam TxtSaveOptions.Encoding
.
**Apakah Office atau Notepad ++ diperlukan?**No. Aspose.Words adalah standalone.