معالج ملفات النص Aspose.Words لـ .NET
Aspose.Words Text File Processor for .NET هو API خفيف الوزن يركز على plain-text سيناريوهات .txt
, إجراء التحرير البرمجي (إدخال, حذف, استبدال) و **العودة إلى TXT ** مع التحكم الدقيق على **تشفير ** , **BOM ** ، و الخط النهايات – مثالية للخدمات, وظائف ETL, و CI/CD الأنابيب.
يعمل على ويندوز، لينكس، و macOS مع .NET Framework، .Net Core/5/6+، أو Mono.
تثبيت وإعداد
- تثبيت Aspose.Words من NuGet.
- قم بتقديم طلب الترخيص الخاص بك عند بدء التشغيل (انظر ترخيص معتدل ).
- مراجعة متطلبات النظام في دليل التثبيت .
**السيناريوهات المدعومة: ** مسارات الملفات و تدفقات (موصى بها على شبكة الإنترنت / السحابة).
بدء سريع
إنشاء ملف 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);
تحميل TXT مع الترميز الصريح، إضافة النص، حفظ ك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);
الخصائص والوظائف
إنشاء الوثيقة
- ابدأ من وثيقة نصية بيضاء في الذاكرة.
- إعداد استراتيجية التشفير الافتراضي و EOL عند التخزين.
- اختياريًا اكتب العنوان/الخطوة ** التعليقات** قبل نص الجسم.
تحميل TXT الحالي
- تحميل من path ، stream أو byte[] معcoding auto-detect أو التشفير القسري.
- الحفاظ على أو تطبيع فجوات الخط (CRLF / LF / CR) على الحمل و / أو حفظ.
- تدفق ملفات كبيرة جدا للحفاظ على الذاكرة مستقرة.
التلاعب النص
- نقل المحتوى من خلال نموذج مألوف Document → Section → Paragraph → Run.
- إدخال أو إضافة أو حذف النص في الأماكن الدقيقة - لا تقسيم اليدوي.
- أداء مجموعة العثور / استبدال في جميع أنحاء الوثيقة أو الصفوف المقطوعة.
- تقسيم / دمج الفقرات من قبل المحدودين المخصصين.
الادخار إلى TXT
- تخزين إلى ملف أو تدفق مع التشفير المختار (UTF‐8/UT F‐16/ASCII/إلخ.).
- التحكم في انبعاثات **BOM ** و ParagraphBreak (EOL) صراحة.
- إعادة كتابة أو الكتابة إلى تدفق الهدف الذي تديره.
التخزين & i18n
- الدعم الكامل Unicode.
- انخفاضات شفافة لصفحات رمز التراث عند القراءة.
- اكتشاف وحفظ قنبلة على الحمل ما لم يبالغ.
البث الأول APIs
- استخدام
Stream
→Stream
خدمة الويب و وظائف السحابة. - يمكن دمجها بسهولة مع S3/Blob SDKs و in-memory pipelines.
Performance
- لين نموذج الكائنات للنص المسطح.
- العملية السليمة تقلل من التخصيصات.
- قراءة آمنة: يكتب المزامنة عند مشاركة الموارد.
وصفات مشتركة
1) Regex العثور / استبدال (تجمع المساحات المتعددة)
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 إلى 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);
نصائح وأفضل الممارسات
- يفضل stream-based APIs للملفات الكبيرة وتطبيقات الويب.
- دائما إعداد الترميز على تحميل وتخزين لتجنب mojibake.
- تعديلات التردد في الذاكرة؛ ** حفظ مرة واحدة** للحد من I/O.
- قم بتطبيع EOL على الحمل، ثم تحويلها إلى الهدف Eol على التخزين.
- استخدم regex استبدال لتنظيفات معقدة في مسار واحد.
- في الخدمات الطويلة الأجل، مراقبة الاستخدام المقياس والتعامل مع حصة بحسن نية.
FAQ
**هل يحتفظ TXT بالجدول أو الصور أو الأنماط?**No. TXT هو نص مسطح؛ تنسيق متقدم يلصق.
**هل يمكنني الارتباط بالملف الحالي دون الإفراط في الكتابة?**افتح FileStream في وضع الإضافات واكتب النتيجة المحفوظة إليه.تأكد من إضافة خط جديد سابق إذا لزم الأمر.
**كيف يمكنني اختيار الخط النهائي?**إعداد TxtSaveOptions.ParagraphBreak
إلى "\r\n"
(ويندوز أو "\n"
(أو ماكس أو ماكوس).
**كيف يمكنني إيقاف تشغيل قنبلة UTF-8?**استخدام new UTF8Encoding(false)
في TxtSaveOptions.Encoding
.
**هل هناك حاجة إلى Office أو Notepad?**لا. Aspose.Words هي مستقلة.