قم بتثبيت ملف fileformat.words مفتوح المصدر لـ .NET ، تعرف على كيفية قراءة ملف DOCX في C# بشكل برمجي. توفر واجهة برمجة التطبيقات هذه طرقًا لإنشاء عارض ملف Word.

كيف يمكنني فتح ملف docx في C#

نظرة عامة

ليس من السهل بناء برامج أعمال تتعامل مع إنشاء الملفات والتلاعب بشكل كبير. تعد ساعات الوقت والرجل عوامل مهمة ولكن اختيار مكتبات الطرف الثالث ذات الصلة تلعب دورًا حيويًا في مرحلة التطوير. لذلك ، دعنا نذهب من خلال مكتبة .NET مفتوحة المصدر تقدم مجموعة واسعة من الطرق لمعالجة الملفات 2 برمجيًا. لا يتيح لك واجهة برمجة التطبيقات هذه فقط إنشاء/تحرير ملفات Word ولكن يمكنك أيضًا قراءة ملفات مستندات العمل/DOCX. نحن نتحدث عن fileformat.words هي مجموعة كاملة من الميزات اللازمة لمعالجة مستندات الكلمات برمجيًا. ومع ذلك ، فإن منشور المدونة هذا سيجيب على سؤالك (أي. كيف يمكنني فتح ملف docx في C#؟ ). علاوة على ذلك ، ستتمكن من إنشاء قارئ ملفات الكلمات بحلول نهاية هذه المقالة. سنغطي النقاط التالية في هذا الدليل:

عارض ملف Word - تثبيت API

يرجى زيارة هذا الرابط للذهاب من خلال عملية التثبيت بالتفصيل. خلاف ذلك ، من السهل جدًا التثبيت ، ما إذا كان يمكنك تثبيته باستخدام Nuget Package أو عن طريق تشغيل الأمر التالي في Nuget Package Manager.

Install-Package FileFormat.Words

كيف يمكنني فتح ملف docx في C#

بمجرد تثبيت واجهة برمجة تطبيقات .NET مفتوحة المصدر ، يمكنك البدء في كتابة الرمز على الفور. دعنا نبني مكون قارئ ملفات Word لبرنامج عملك. هناك طرق وخصائص متعددة لقراءة ملف docx/docs ، لكننا سنستخدم بعض الأساليب/الخصائص البارزة. يمكنك اتباع الخطوات التالية ومقتطف الرمز:

  • تهيئة مثيل لفئة document وتحميل ملف docx/docs.
  • إنشاء كائن من الجسم.
  • استدعاء طريقة getDocumentTables.count () التي تُرجع إجمالي عدد الجداول في المستند.
  • الخاصية getDocumentTables تُرجع الخاصية خصائص الجدول.
  • الخاصية fruesableTablehers تُرجع رؤوس الجدول.
  • استدعاء الخاصية NumberOfrows للوصول إلى صفوف الجدول.
  • استخدم خاصية numberOfColumns لجلب عدد الأعمدة.
  • الوصول إلى عدد الخلايا باستخدام خاصية numberOfCells.
  • يتم استخدام خاصية Tableborder لقراءة نمط الحدود.
  • استخدم خاصية tableposition للحصول على موضع الجدول.
  • استدعاء طريقة stractimagesfromdocument للحصول على جميع الصور من مستند كلمة.
  • استدعاء طريقة getParagraphs لاسترداد جميع فقرات المستند.
  • يتم استخدام خاصية linesspacing لمعرفة التباعد بين السطور.
  • تستخدم الخاصية 20 لمعرفة قيمة المسافة البادئة.
  • احصل على نص الفقرة عن طريق استدعاء الخاصية النص.
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialize an instance of the Document class and load the Docx/Docs file. 
            using (Document doc1 = new Document("/Docs.docx"))
            {
                // Instantiate an object of the Body class.
                Body body1 = new Body(doc1);
                // Invoke the getDocumentTables method that returns the total number of tables in a document.
                Console.WriteLine("Total Number of Tables " + body1.getDocumentTables.Count());
                int i = 0;
                // The getDocumentTables property returns the table properties.
                foreach (Table props in body1.getDocumentTables)
                {
                    // The ExistingTableHeaders property returns the table headers.
                    foreach (string tableHeader in props.ExistingTableHeaders)
                    {
                        i++;
                        Console.WriteLine("Header"+i+": "+tableHeader);
                    }
                    // Call NumberOfRows property to access the table rows.
                    Console.WriteLine("Number of rows "+props.NumberOfRows);
                    // Use NumberOfColumns property to fetch number of columns.
                    Console.WriteLine("Number of columns " + props.NumberOfColumns);
                    // Access the number of cells using NumberOfCells property.
                    Console.WriteLine("Number of cells " + props.NumberOfCells);
                    Console.WriteLine("Cell width " + props.CellWidth);
                    // The TableBorder property is used to read the border style.
                    Console.WriteLine("Border style " + props.TableBorder);
                    // Use the TablePosition property to get the position of the table.
                    Console.WriteLine("Table position " + props.TablePosition);
                    Console.WriteLine(" ");
                }

                // Invoke the ExtractImagesFromDocument method to get all the images from a Word document.
                List<Stream> imageParts = Image.ExtractImagesFromDocument(doc1);
                int imageCount = imageParts.Count;
                Console.WriteLine($"Total number of images: {imageCount}");
                // Call the GetParagraphs method to retrieve all the document paragraphs.
                List<Paragraph> paras = body1.GetParagraphs();

                Console.WriteLine("The number of Paragraphs " + paras.Count());
                foreach (Paragraph p in paras)
                {
                    // The LinesSpacing property is used to know the spacing between the lines.
                    Console.WriteLine("Line spacing "+p.LinesSpacing);
                    // The Indent property is used to know the value of indentation.
                    Console.WriteLine("Indent value "+p.Indent);
                    // Get the text of the paragraph by calling the Text property.
                    Console.WriteLine(p.Text);
                }

            }

        }

    }
}

يقرأ مقتطف الكود أعلاه ملف كلمة يحتوي على فقرة واحدة وجدول واحد وصورة. ومع ذلك ، يمكنك رؤية الإخراج في الصورة أدناه:

قارئ ملف الكلمات

الخاتمة

نحن ننهي منشور المدونة هذا هنا. نأمل أن يكون لديك إجابة على سؤالك (أي. كيف يمكنني فتح ملف docx في C#؟ ). بالإضافة إلى ذلك ، مررنا بمقتطف الكود الذي يقرأ مستند Word موجود برمجيًا. الآن ، يمكنك بسهولة إنشاء وحدة نمطية تعمل مثل عارض ملف Word****. علاوة على ذلك ، لا تنس زيارة الوثائق من fileformat.words لـ .NET. أخيرًا ، يواصل fileformat.com كتابة منشورات المدونة على مواضيع أخرى. علاوة على ذلك ، يمكنك متابعتنا على منصات الوسائط الاجتماعية الخاصة بنا ، بما في ذلك Facebook و LinkedIn و Twitter.

المساهمة

نظرًا لأن fileformat.words for .NET هو مشروع مفتوح المصدر وهو متاح على github. لذلك ، فإن مساهمة المجتمع موضع تقدير كبير.

اطرح سؤالاً

يمكنك إخبارنا بأسئلتك أو استفساراتك في المنتدى.

أسئلة يتم طرحها بشكل متكرر-الأسئلة الشائعة

** كيف أفتح ملف docx بدون كلمة؟** يمكنك فتح ملفات docx/docs باستخدام مكتبة .NET مفتوحة المصدر fileformat.words. علاوة على ذلك ، يمكنك إنشاء وحدة قارئ ملفات Word لتطبيق عملك باستخدام هذا Library.

انظر أيضًا