تنسيقات ملفات معالجة الكلمات الأكثر شيوعًا والأكثر استخدامًا هي DOC و DOCX و ODT. يدعم Microsoft Word و OpenOffice Writer المشهوران هذه التنسيقات ونستخدم عادةً هذه التنسيقات لصياغة المستندات. لذلك ، بصفتنا مطورًا ، نحتاج على نطاق واسع إلى تحرير مستندات Word في تطبيقاتنا برمجيًا. في هذه المقالة ، سنناقش كيفية تحرير مستندات Word في C # باستخدام .NET API لتحرير المستندات.

فيما يلي المواضيع التي تمت مناقشتها بإيجاز في هذه المقالة:

.NET API لأتمتة وتحرير مستندات Word

في هذه المقالة ، سأستخدم GroupDocs.Editor for .NET في أمثلة C # ، وهي واجهة برمجة تطبيقات لتحرير المستندات وتسمح للمطورين بتحميل ، وتحرير ، وحفظ تنسيقات المستندات المختلفة باستخدام محررات WYSIWYG HTML. بالإضافة إلى تنسيقات مستندات معالجة الكلمات ، تدعم واجهة برمجة التطبيقات تحرير جداول البيانات والعروض التقديمية وتنسيقات HTML و XML و TXT و DSV و TSV و CSV.

قم بتنزيل مثبت DLL أو MSI من قسم التنزيلات أو قم بتثبيت API في تطبيق .NET عبر NuGet.

PM> Install-Package GroupDocs.Editor

تحرير مستندات Word في C

بعد إعداد API ، يمكنك التحرك بسرعة نحو تحرير مستند Word. ستتيح لك الخطوات التالية تحرير مستند معالجة الكلمات.

  • قم بتحميل مستند Word.
  • قم بالتحرير وفقًا للخيارات.
  • احفظ المستند المحرر.

قم بتحميل مستند Word

أولاً ، قم بتحميل المستند عن طريق توفير مسار المستند وكلمة المرور ، إذا كان المستند محميًا.

using (FileStream fs = File.OpenRead(inputFilePath))
{
    Options.WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
    loadOptions.Password = "password-if-any";
}

قم بتحرير مستند Word

بعد التحميل ، يمكنك تحرير المستند الذي تم تحميله وفقًا لمتطلباتك. هنا أقوم باستبدال جميع تكرارات كلمة “مستند” بـ “المستند المحرر” في مستند Word باستخدام رمز C # أدناه.

    using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
    {
        Options.WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
        editOptions.FontExtraction = FontExtractionOptions.ExtractEmbeddedWithoutSystem;
        editOptions.EnableLanguageInformation = true;
        editOptions.EnablePagination = true;
        using (EditableDocument beforeEdit = editor.Edit(editOptions))
        {
            string originalContent = beforeEdit.GetContent();
            List<IHtmlResource> allResources = beforeEdit.AllResources;
            string editedContent = originalContent.Replace("document", "edited document");
        }
    }

احفظ مستند Word المحرر باستخدام الخيارات

أخيرًا ، أثناء حفظ محتوى المستند الذي تم تحريره ، يمكنك تعيين المزيد من الخيارات المختلفة. تشمل هذه الخيارات ؛ ترقيم الصفحات أو تعيين كلمة المرور أو الإعدادات المحلية أو الحماية أو إعدادات تحسين الذاكرة. قمت بتعيين الخيارات المذكورة أعلاه في الكود المذكور أدناه وحفظ المستند المحرر كملف DOCX محمي بكلمة مرور وقراءة فقط.

using (EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResources))
{
    Options.WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
    saveOptions.EnablePagination = true;
    saveOptions.Locale = System.Globalization.CultureInfo.GetCultureInfo("en-US");
    saveOptions.OptimizeMemoryUsage = true;
    saveOptions.Password = "password";
    saveOptions.Protection = new WordProcessingProtection(WordProcessingProtectionType.ReadOnly, "write\_password");
    using (FileStream outputStream = File.Create("filepath/editedDocument.docx"))
    {
        editor.Save(afterEdit, outputStream, saveOptions);
    }
}

كود كامل

من أجل راحتك ، أعرض مثال C # الكامل الموضح أعلاه ويقوم بتحرير مستند Word ثم حفظه بتنسيق DOCX.

// قم بتحرير مستند Word في C # باستخدام تحرير مستندات GroupDocs والأتمتة API
using (FileStream fs = File.OpenRead("filepath/document.docx"))
{   // Load Document
    Options.WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
    loadOptions.Password = "password-if-any";
    // تحرير المستند
    using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
    {
        Options.WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
        editOptions.FontExtraction = FontExtractionOptions.ExtractEmbeddedWithoutSystem;
        editOptions.EnableLanguageInformation = true;
        editOptions.EnablePagination = true;

        using (EditableDocument beforeEdit = editor.Edit(editOptions))
        {
            string originalContent = beforeEdit.GetContent();
            List<IHtmlResource> allResources = beforeEdit.AllResources;

            string editedContent = originalContent.Replace("document", "edited document");
            // حفظ المستند
            using (EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResources))
            {
                WordProcessingFormats docxFormat = WordProcessingFormats.Docx;
                Options.WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(docxFormat);
                            
                saveOptions.EnablePagination = true;
                saveOptions.Locale = System.Globalization.CultureInfo.GetCultureInfo("en-US");
                saveOptions.OptimizeMemoryUsage = true;
                saveOptions.Password = "password";
                saveOptions.Protection = new WordProcessingProtection(WordProcessingProtectionType.ReadOnly, "write_password");

                using (FileStream outputStream = File.Create("filepath/editedDocument.docx"))
                {
                    editor.Save(afterEdit, outputStream, saveOptions);
                }
            }
        }
    }
}

التالي هو مستند الإخراج الذي يتم فيه استبدال جميع التكرارات باستخدام الكود أعلاه.

تم تحرير مستند docx باستخدام محرر API

مستند الإخراج - يتم استبدال جميع التكرارات

استنتاج

في الختام ، ناقشنا تحرير مستندات Word في C # باستخدام واجهة برمجة تطبيقات تحرير المستندات لتطبيقات .NET. يمكنك استخدام API مع محرري WYSIWYG للتحرير المرئي لمستنداتك. بعد ذلك ، يمكنك المضي قدمًا لإنشاء محرر المستندات الخاص بك. وبالمثل ، يمكنك أيضًا دمج ميزة التحرير في تطبيق .NET الخاص بك.

لمزيد من التفاصيل والخيارات والأمثلة ، يمكنك زيارة التوثيق ومستودع جيثب. لمزيد من الاستفسارات ، اتصل بالدعم على المنتدى.

مقالات ذات صلة

أنظر أيضا