كيفية تحرير DOCX وتحويل الصيغ باستخدام GroupDocs.Editor

إدارة وتحويل مستندات Word بسهولة داخل بيئة .NET الخاصة بك باستخدام GroupDocs.Editor .NET. في هذا البرنامج التعليمي ستكتشف كيفية تحرير docx، وتحويلها إلى صيغ مثل RTF و DOCM والنص العادي، وت automatisation سير عمل المستندات لتحقيق أقصى إنتاجية.

إجابات سريعة

  • ما المكتبة المطلوبة؟ GroupDocs.Editor for .NET (20.10+).
  • هل يمكنني تحويل DOCX إلى RTF؟ نعم – استخدم WordProcessingSaveOptions مع WordProcessingFormats.Rtf.
  • هل يدعم الحفظ كملف TXT؟ بالتأكيد، عبر TextSaveOptions.
  • هل أحتاج إلى ترخيص؟ النسخة التجريبية تعمل للتطوير؛ الترخيص يفتح جميع الميزات.
  • كيف يمكن التعامل مع العديد من الملفات؟ دمج الشيفرة مع async/await أو Parallel.ForEach للمعالجة الدفعية.

ما هو “كيفية تحرير docx” باستخدام GroupDocs.Editor؟

يقوم GroupDocs.Editor بتحميل ملف DOCX، ويعرض محتواه كـ HTML قابل للتحرير، ويسمح لك بتعديل هذا الـ HTML برمجياً، ثم يحفظ النتيجة بأي صيغة مدعومة. يلغي هذا النهج الحاجة إلى تفاعل Office ويعمل على أي منصة .NET من جانب الخادم.

لماذا تستخدم GroupDocs.Editor لأتمتة سير عمل المستندات؟

  • من جانب الخادم فقط – لا حاجة لتثبيت Office.
  • صيغ إخراج متعددة – RTF، DOCM، TXT، HTML، PDF، إلخ.
  • أداء عالي – API خفيف الوزن مصمم لسيناريوهات الدفعات.
  • تحكم كامل – تحرير، استبدال أو حقن أجزاء HTML قبل الحفظ.

المتطلبات المسبقة

  • مكتبة GroupDocs.Editor (الإصدار 20.10 أو أحدث)
  • .NET Framework 4.7.2 + أو .NET 5/6
  • Visual Studio (أي إصدار حديث)
  • معرفة أساسية بـ C# وإلمام بملفات الإدخال/الإخراج

تثبيت GroupDocs.Editor

يمكنك إضافة الحزمة عبر .NET CLI، أو Package Manager Console، أو واجهة NuGet.

dotnet add package GroupDocs.Editor
Install-Package GroupDocs.Editor

الحصول على الترخيص

ابدأ بنسخة تجريبية مجانية أو اطلب مفتاح ترخيص مؤقت. للاستخدام في الإنتاج، اشترِ ترخيصًا لفتح المعالجة غير المحدودة.

كيفية تحميل وتحرير مستند DOCX

أولاً، وجه الـ Editor إلى ملف المصدر الخاص بك، ثم استرجع الـ HTML القابل للتحرير، أجرِ التغييرات المطلوبة، وأخيرًا أنشئ EditableDocument جديدًا من العلامات المعدلة.

using (Editor editor = new Editor("YOUR_DOCUMENT_DIRECTORY/sample.docx", new Options.WordProcessingLoadOptions()))
{
    // Your document manipulation code here
}

شرح خطوة بخطوة للكود

  1. تحديد مسار ملف الإدخال
string inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
  1. إنشاء كائن Editor
using GroupDocs.Editor;
using GroupDocs.Editor.Options;

Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions());
  1. تحرير HTML المستند
EditableDocument defaultWordProcessingDoc = editor.Edit();
string allEmbeddedInsideString = defaultWordProcessingDoc.GetEmbeddedHtml();
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
  1. إنشاء EditableDocument جديد من الـ HTML المعدل
EditableDocument editedDoc = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);
  1. تحرير (Dispose) الكائنات المؤقتة
editedDoc.Dispose();
defaultWordProcessingDoc.Dispose();
editor.Dispose();

كيفية تحويل Word إلى RTF

حفظ المستند المعدل كـ RTF سهل باستخدام خيارات الحفظ المناسبة.

string outputRtfPath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "editedDoc.rtf");
WordProcessingSaveOptions rtfSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Rtf);
using (Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions()))
{
    editor.Save(editedDoc, outputRtfPath, rtfSaveOptions);
}
editor.Dispose();

كيفية حفظ DOCX كـ DOCM باستخدام Stream

عند الحاجة إلى صيغة DOCM المدعومة بالماكرو، يمكنك الكتابة مباشرة إلى FileStream.

string outputDocmPath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "editedDoc.docm");
WordProcessingSaveOptions docmSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docm);
using (Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions()))
{
    using (FileStream outputStream = File.Create(outputDocmPath))
    {
        editor.Save(editedDoc, outputStream, docmSaveOptions);
    }
}
editor.Dispose();

كيفية تحويل DOCX إلى TXT (نص عادي)

استخراج النص العادي مفيد للفهرسة أو البحث أو إشعارات البريد الإلكتروني.

string outputTxtPath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "editedDoc.txt");
TextSaveOptions textSaveOptions = new TextSaveOptions()
{
    Encoding = Encoding.UTF8,
    PreserveTableLayout = true
};
using (Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions()))
{
    editor.Save(editedDoc, outputTxtPath, textSaveOptions);
}
editor.Dispose();

حالات الاستخدام الشائعة والسيناريوهات الواقعية

  • إنشاء تقارير تلقائيًا: تحويل تقارير Word التحليلية إلى TXT لتوزيعها عبر البريد الإلكتروني.
  • منصات التحرير التعاوني: السماح للمستخدمين بتحرير أجزاء HTML وتخزين النتيجة كـ DOCM أو RTF.
  • أرشفة المستندات: ترحيل ملفات DOCX القديمة إلى DOCM لدعم الماكرو مع الحفاظ على المحتوى.
  • خدمات الويب: تحويل DOCX → PDF/RTF مباشرةً دون ملفات مؤقتة.

نصائح الأداء لمعالجة دفعات مستندات Word

  • تحرير (Dispose) فورًا: استدعِ دائمًا Dispose() على كائنات Editor والمستند.
  • تحميل بحكمة: اختر LoadOptions الأكثر تحديدًا لتجنب التحليل غير الضروري.
  • التوازي بأمان: استخدم Parallel.ForEach مع مثيلات Editor منفصلة لكل خيط.
  • تجنب السلاسل الكبيرة في الذاكرة: عند معالجة مستندات ضخمة، استخدم الـ streams بدلاً من سلاسل HTML الكاملة.

الأسئلة المتكررة

س: هل يمكنني تحرير DOCX محمي بكلمة مرور؟
ج: نعم. قدّم كلمة المرور عبر WordProcessingLoadOptions.Password عند إنشاء الـ Editor.

س: هل يمكن تحويل العديد من الملفات في تشغيل واحد؟
ج: بالتأكيد. غلف منطق الملف الفردي داخل حلقة أو استخدم Parallel.ForEach للمعالجة المتزامنة.

س: هل يدعم GroupDocs.Editor .NET Core؟
ج: المكتبة تعمل مع .NET 5، .NET 6، و .NET Core 3.1 بالإضافة إلى .NET Framework الكامل.

س: ماذا يحدث للماكروهات عند الحفظ كـ DOCM؟
ج: يتم الحفاظ على الماكروهات عند استخدام صيغة الحفظ Docm؛ تُحذف عند التحويل إلى RTF/TXT.

س: كيف يمكنني استكشاف خطأ “OutOfMemoryException” أثناء وظائف الدفعات الكبيرة؟
ج: عالج الملفات على دفعات أصغر، حرّر الكائنات فورًا، وفكّر في زيادة حد الذاكرة للتطبيق.

الخلاصة

الآن لديك سير عمل كامل وجاهز للإنتاج لتحرير docx وتحويلها إلى RTF أو DOCM أو نص عادي باستخدام GroupDocs.Editor .NET. باتباع الخطوات أعلاه يمكنك أتمتة سير عمل المستندات، معالجة الدفعات، وتكامل تحويل الصيغ بسلاسة في أي تطبيق .NET.


آخر تحديث: 2026-04-07
تم الاختبار مع: GroupDocs.Editor 20.10 (latest at time of writing)
المؤلف: GroupDocs