Bộ xử lý tệp văn bản Aspose.Words cho .NET
Aspose.Words Text File Processor cho .NET là một API nhẹ nhàng tập trung vào các kịch bản văn bản rộng .txt
, thực hiện chỉnh sửa lập trình (cài đặt, xóa, thay thế), và save back to TXT với kiểm soát chính xác về coding , BOM vàline endings – lý tưởng cho các dịch vụ, ETL jobs, và CI/CD pipelines.
Không yêu cầu Microsoft Office. hoạt động trên Windows, Linux, và macOS với .NET Framework, .Net Core/5/6+, hoặc Mono.
Cài đặt & Setup
- Cài đặt Aspose.Words từ NuGet.
- Yêu cầu giấy phép của bạn tại startup (xem Metered Licensing ).
- Đánh giá yêu cầu hệ thống trong Quản lý cài đặt .
**Các kịch bản được hỗ trợ: ** đường file và streams (được đề xuất cho web/cloud).
Khởi động nhanh
Tạo tệp TXT (UTF-8, 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);
Tải TXT với mã hóa rõ ràng, thêm văn bản, lưu như 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);
Tính năng và chức năng
Tài liệu tạo
- Bắt đầu từ một tài liệu văn bản trắng trong bộ nhớ.
- Thiết lập chiến lược mã hóa mặc định và EOL khi tiết kiệm.
- Tùy chọn viết tiêu đề/phút ** bình luận** trước khi viết văn bản cơ thể.
tải TXT hiện có
- Tải về từ **path ** , **stream ** hoặc **byte[] ** với coding auto-detect hay một mã hóa bắt buộc.
- Bảo tồn hoặc bình thường hóa các lỗ hổng đường dây (CRLF / LF / CR) trên tải và / hoặc tiết kiệm.
- Stream các tập tin rất lớn để giữ bộ nhớ ổn định.
Tác giả Manipulation
- Đi qua nội dung thông qua mô hình quen thuộc Document → Section → Paragraph → Run.
- Nhập, bổ sung, hoặc xóa văn bản ở các vị trí chính xác – không có thủ công đánh giá toán.
- Thực hiện ** bulk tìm / thay thế** trên toàn bộ tài liệu hoặc các ranh giới phân tán.
- Chia / pha trộn các đoạn bằng cách sử dụng tùy chỉnh.
Tiết kiệm TXT
- Lưu vào tệp hoặc **stream ** với lựa chọn coding (UTF‐8 / UDF‐16 / ASCII / vv.).
- Kiểm soát **BOM ** phát thải và ParagraphBreak (EOL) rõ ràng.
- Viết lại hoặc viết lên một dòng mục tiêu mà bạn quản lý.
Mã & i18n
- Hỗ trợ đầy đủ Unicode.
- Phản hồi minh bạch cho các trang mã di sản khi đọc.
- Khám phá và bảo tồn bom tải trừ khi quá tải.
Stream đầu tiên APIs
- Sử dụng
Stream
→Stream
cho các dịch vụ web và chức năng đám mây. - Kết hợp dễ dàng với SDK S3/Blob và ống bộ nhớ.
Performance
- Lean đối tượng mô hình cho văn bản thẳng.
- Các hoạt động nhẹ nhàng giảm thiểu các khoản phân bổ.
- Thread-safe đọc; đồng bộ viết khi chia sẻ tài nguyên.
Công thức chung
1) Regex tìm / thay thế (collapse nhiều không gian)
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 đến 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) Normalize Line Endings (CRLF → LF)
var d = new Document("crlf.txt");
var save = new Aspose.Words.Saving.TxtSaveOptions { ParagraphBreak = "\n" };
d.Save("lf.txt", save);
Tips & Thực hành tốt nhất
- Tốt nhất là API dựa trên dòng cho các tệp lớn và các ứng dụng web.
- Luôn đặt mã hóa trên tải & lưu để tránh mojibake.
- Batch chỉnh sửa trong bộ nhớ; save once để giảm I/O.
- Tiêu chuẩn hóa EOL trên tải, chuyển sang mục tiêu Eol trên tiết kiệm.
- Sử dụng regex thay thế để làm sạch phức tạp trong một bước.
- Trong các dịch vụ chạy dài, theo dõi sử dụng đo lường và xử lý quota một cách tốt lành.
FAQ
**TXT có bảo tồn bảng, hình ảnh hay phong cách không?**No. TXT là văn bản thẳng; định dạng tiên tiến được phẳng.
**Tôi có thể thêm vào một tệp hiện có mà không cần viết quá nhiều?**Mở một FileStream trong chế độ bổ sung và viết output được tiết kiệm cho nó. Hãy chắc chắn rằng bạn thêm một newline trước đó nếu cần thiết.
**Làm thế nào để tôi chọn dòng kết thúc?**thiết lập TxtSaveOptions.ParagraphBreak
để "\r\n"
(Windows hoặc "\n"
(Nhạc Chuông / MacOS).
**Làm thế nào để tắt UTF-8 BOM?**Sử dụng new UTF8Encoding(false)
trong TxtSaveOptions.Encoding
.
**Có cần Office hay Notepad++ không?**Lời bài hát: Aspose.Words Is Standalone.