استبدال النص في المستند وحفظه – GroupDocs.Editor .NET
مقدمة
إذا كنت بحاجة إلى replace text in document برمجياً، فإن GroupDocs.Editor لـ .NET يوفّر لك طريقة نظيفة وعالية الأداء للقيام بذلك. في هذا الدرس سنستعرض تحميل ملف Word، استبدال سلسلة نصية، ثم حفظ النتيجة بعدة صيغ شائعة مثل RTF، DOCM، والنص العادي. سواءً كنت تبني خدمة أتمتة مستندات أو تضيف ميزة إصلاح سريع لأداة داخلية، فإن الخطوات أدناه ستمكّنك من البدء خلال دقائق.
إجابات سريعة
- ما هي أبسط طريقة لاستبدال النص؟ قم بتحميل الملف باستخدام
Editor، عدّل الـ HTML، ثم استدعِSaveعلىEditableDocument. - ما الصيغ التي يمكنني الحفظ إليها؟ تدعم RTF، DOCM، وTXT مباشرةً.
- هل أحتاج إلى تثبيت كامل لـ Office؟ لا – يعمل GroupDocs.Editor بالكامل على الخادم.
- ما إصدارات .NET المطلوبة؟ .NET Framework 4.6.1 أو أحدث، .NET Core 3.1 +، .NET 5/6 كلها مدعومة.
- هل الترخيص إلزامي للإنتاج؟ نعم، الترخيص التجاري يزيل حدود التقييم؛ نسخة تجريبية مجانية متاحة.
ما هو “replace text in document”؟
“Replace text in document” يشير إلى العثور برمجياً على سلسلة معينة داخل ملف واستبدالها بمحتوى جديد دون تحرير يدوي. هذه العملية أساسية للتحديثات الجماعية، القوالب، أو توليد المستندات بناءً على البيانات. تمكّن المطورين من أتمتة تخصيص المستندات، تطبيق تغييرات تنظيمية عبر ملفات متعددة، ودمج توليد المحتوى الديناميكي ضمن سير عمل أكبر.
لماذا تستخدم GroupDocs.Editor لـ .NET؟
يدعم GroupDocs.Editor أكثر من 30 صيغة إدخال وإخراج — بما في ذلك DOCX، RTF، TXT، HTML، PDF، وODT — مع معالجة ملفات تصل إلى 500 ميغابايت دون تحميل المستند بالكامل في الذاكرة. تعمل الـ API على Windows، Linux، وmacOS، ما يمنحك مرونة عبر المنصات ومعدل نجاح 99.9 % على التخطيطات المعقدة، وفقاً للمعايير الداخلية.
المتطلبات المسبقة
- بيئة التطوير: Visual Studio (أي نسخة حديثة).
- .NET Framework: 4.6.1 أو أحدث (أو .NET Core 3.1 +).
- GroupDocs.Editor لـ .NET: حمّل أحدث نسخة هنا.
- معرفة أساسية بـ C#: الإلمام بالفئات، الأساليب، ومعالجة السلاسل.
للاستخدام التفصيلي، راجع التوثيق الرسمي.
استيراد مساحات الأسماء
للبدء، استورد مساحات الأسماء المطلوبة لتحرير وحفظ المستندات.
فئة Editor هي نقطة الدخول لجميع عمليات معالجة المستندات.
// Placeholder for import statements – keep unchanged
```csharp
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
الآن بعد أن أصبحت البيئة جاهزة، دعنا نتعمق في الخطوات العملية لـ **replace text in document**.
## كيفية استبدال النص في المستند باستخدام GroupDocs.Editor؟
قم بتحميل الملف المصدر باستخدام `Editor`، استخرج تمثيله بصيغة HTML، نفّذ عملية `Replace` بسيطة على سلسلة HTML، ثم أنشئ `EditableDocument` جديداً من الـ HTML المعدل. أخيراً، استدعِ الدالة المناسبة `Save` للصيغة المستهدفة.
### الخطوة 1: تحميل المستند
كائن `EditableDocument` يحتفظ بالتمثيل داخل الذاكرة للملف الذي تقوم بتحريره.
فئة `Editor` تقوم بتحميل ملف وتعيد `EditableDocument` يمكنك التلاعب به.
```csharp
// Placeholder for loading code – keep unchanged
```csharp
string inputFilePath = "Your Sample Document";
Editor editor = new Editor(inputFilePath, delegate { return new Options.WordProcessingLoadOptions(); });
EditableDocument defaultWordProcessingDoc = editor.Edit();
### الخطوة 2: تعديل المستند
نظرًا لأن GroupDocs.Editor يعمل مع لقطة HTML، يمكنك التعامل مع المستند كنص عادي لإجراء استبدالات بسيطة.
طريقة `EditableDocument.GetHtml()` تستخرج الـ HTML؛ بعد تعديل السلسلة تنشئ `EditableDocument` جديداً من الـ HTML المحدث.
```csharp
// Placeholder for modification code – keep unchanged
```csharp
string allEmbeddedInsideString = defaultWordProcessingDoc.GetEmbeddedHtml();
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
EditableDocument editedDoc = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);
### الخطوة 3: حفظ المستند
يوفر GroupDocs.Editor طرق `Save` مخصصة لكل صيغة مدعومة. فيما يلي ثلاثة أهداف شائعة.
#### حفظ كـ RTF
طريقة `SaveAsRtf` تكتب المحتوى المعدل إلى صيغة Rich Text Format، مع الحفاظ على معظم التنسيق.
```csharp
// Placeholder for RTF save code – keep unchanged
```csharp
string outputRtfPath = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), "editedDoc.rtf");
WordProcessingSaveOptions rtfSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Rtf);
editor.Save(editedDoc, outputRtfPath, rtfSaveOptions);
#### حفظ كـ DOCM
DOCM هو صيغة Word المدعومة بالماكرو؛ استخدم `SaveAsDocm` عندما تحتاج إلى الحفاظ على قدرات الماكرو.
```csharp
// Placeholder for DOCM save code – keep unchanged
```csharp
string outputDocmPath = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), "editedDoc.docm");
WordProcessingSaveOptions docmSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docm);
using (FileStream outputStream = File.Create(outputDocmPath))
{
editor.Save(editedDoc, outputStream, docmSaveOptions);
}
#### حفظ كنص عادي
لإخراج خفيف الوزن، `SaveAsTxt` يزيل التنسيق ويعيد نصًا نقيًا.
```csharp
// Placeholder for TXT save code – keep unchanged
```csharp
string outputTxtPath = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), "editedDoc.txt");
TextSaveOptions textSaveOptions = new TextSaveOptions
{
Encoding = System.Text.Encoding.UTF8,
PreserveTableLayout = true
};
editor.Save(editedDoc, outputTxtPath, textSaveOptions);
### الخطوة 4: التنظيف
دائمًا قم بتحرير كائنات `EditableDocument` و`Editor` لتحرير مقبض الملفات والموارد غير المدارة.
نمط `Dispose` يضمن حذف الملفات المؤقتة واستعادة الذاكرة.
```csharp
// Placeholder for cleanup code – keep unchanged
```csharp
editedDoc.Dispose();
defaultWordProcessingDoc.Dispose();
editor.Dispose();
## المشكلات الشائعة والحلول
| المشكلة | سبب حدوثها | الحل |
|-------|----------------|-----|
| **النص غير مستبدل** | قد يحتوي HTML على أحرف مشفّرة (` `, `<span>`). | استخدم `HtmlAgilityPack` لتحديد العقدة الدقيقة قبل الاستبدال. |
| **الملف المحفوظ معطوب** | لم يتم تفريغ تدفق الإخراج قبل الإغلاق. | استدعِ `editableDocument.Save(...);` ثم `editableDocument.Dispose();`. |
| **انخفاض الأداء على الملفات الكبيرة** | تحميل الـ HTML بالكامل لمستند من 300 صفحة يستهلك الذاكرة. | فعّل `LoadOptions.UseMemoryMapping = true` لتدفق أجزاء من الملف. |
| **فقدان التنسيق عند حفظ كـ TXT** | صيغة TXT تزيل كل التنسيقات حسب التصميم. | إذا كنت تحتاج تنسيقًا أساسيًا، ففكّر في الحفظ كـ RTF بدلاً من ذلك. |
## الأسئلة المتكررة
**س: ما صيغ الملفات التي يدعمها GroupDocs.Editor؟**
ج: يدعم GroupDocs.Editor أكثر من 30 صيغة، بما في ذلك DOCX، RTF، TXT، HTML، PDF، وODT. راجع القائمة الكاملة في التوثيق الرسمي.
**س: هل يمكنني تجربة GroupDocs.Editor قبل الشراء؟**
ج: نعم، يمكنك الحصول على نسخة تجريبية مجانية [هنا](https://releases.groupdocs.com/).
**س: هل هناك دعم إذا واجهت مشاكل؟**
ج: بالتأكيد — زر منتدى الدعم [هنا](https://forum.groupdocs.com/c/editor/20) للحصول على مساعدة من المجتمع وفريق المنتج.
**س: كيف أحصل على ترخيص مؤقت للتقييم؟**
ج: اطلب ترخيصًا مؤقتًا [هنا](https://purchase.groupdocs.com/temporary-license/).
**س: أين يمكنني شراء النسخة الكاملة من GroupDocs.Editor؟**
ج: يمكنك شراء النسخة الكاملة [هنا](https://purchase.groupdocs.com/buy).
---
**آخر تحديث:** 2026-05-27
**تم الاختبار مع:** GroupDocs.Editor 2.10 for .NET
**المؤلف:** GroupDocs
## دروس ذات صلة
- [كيفية تحرير وحفظ مستندات Word باستخدام GroupDocs.Editor لـ .NET: دليل شامل](/editor/net/word-processing-documents/editing-word-docs-groupdocs-editor-net/)
- [تحويل Word إلى HTML باستخدام GroupDocs.Editor .NET: دليل خطوة بخطوة](/editor/net/document-saving/convert-word-to-html-groupdocs-editor-dotnet/)
- [تحرير المستندات بفعالية مع GroupDocs.Editor .NET: تحويل HTML إلى مستندات قابلة للتحرير](/editor/net/document-editing/edit-documents-groupdocs-editor-net/)