يتم استخدام الأرشيفات مثل ZIP و RAR و TAR و GZIP و BZIP2 بشكل شائع لتخزين أكثر من ملف ومجلد واحد في حاوية واحدة. سبب رئيسي آخر لملفات الأرشيف هو تقليل الحجم الإجمالي للملف باستخدام خوارزميات الضغط. يمكنك التعامل مع ملفات الأرشيف بنفس الطريقة تمامًا مثل تحليل البيانات واستخراجها من المستندات ذات تنسيقات الملفات المختلفة. يمكنك استخراج النص والصور وحتى البيانات الوصفية من الملفات المضغوطة داخل الأرشيفات. في هذه المقالة ، سنناقش كيفية استخراج بيانات أرشيفات ZIP باستخدام C # مع تطبيقات .NET.

يتم تناول الموضوعات التالية أدناه:

NET API لاستخراج بيانات ملفات ZIP

يوفر GroupDocs.Parser حل تحليل المستندات للمطورين. سأستخدم .NET API الخاص به لاستخراج بيانات ملفات ZIP ضمن أمثلة C # من هذه المقالة. تسمح API كذلك باستخراج النصوص والصور والبيانات الوصفية من قائمة طويلة من تنسيقات المستندات المدعومة مثل مستندات معالجة الكلمات والعروض التقديمية وجداول البيانات ورسائل البريد الإلكتروني وقواعد البيانات والكتب الإلكترونية وغيرها الكثير.

يمكنك تنزيل DLLs أو مثبّت MSI من قسم التنزيلات أو تثبيت API عن طريق إضافة حزمتها إلى تطبيق .NET عبر NuGet.

PM> Install-Package GroupDocs.Parser

كيفية استخراج بيانات ملفات ZIP في C

يدعم GroupDocs.Parser for .NET استخراج البيانات من تنسيقات ملفات ضغط متنوعة مثل ZIP و RAR و TAR و BZIP2 و GZIP. بعد استرداد مجموعة الملفات من الملف المضغوط ، يمكنك أيضًا استخراج أي نوع من البيانات من كل ملف.

توضح الخطوات التالية كيفية استخراج بيانات ملفات ZIP واسترداد النص من كل ملف مغلق في C #.

  • قم بتحميل أرشيف ZIP باستخدام فئة Parser.
  • الحصول على المرفقات باستخدام طريقة GetContainer
  • اجتياز مجموعة المرفقات.
  • لكل مرفق ، يمكنك الحصول على نوع مختلف من البيانات باستخدام الطرق الخاصة بفئة المحلل اللغوي.

يوضح كود المصدر كيفية استخراج بيانات ملفات ZIP باستخدام C #. في هذا المثال ، سوف أقوم باستخراج النص بالكامل من جميع الملفات داخل أرشيف ZIP.

// استخراج بيانات أرشيفات ZIP في C #
using (Parser parser = new Parser(@"path/sample.zip"))
{
    // استخرج المرفقات من الحاوية
    IEnumerable<ContainerItem> attachments = parser.GetContainer();

    // كرر على مجموعة من الكيانات
    foreach (ContainerItem item in attachments)
    {
        // اطبع FILE INFO
        Console.WriteLine("-----------------------------------");
        Console.WriteLine("Name: " + item.Name);
        Console.WriteLine("File Size: " + item.Size + " Bytes");
        Console.WriteLine("-----------------------------------");

        try
        {
            using (Parser attachmentParser = item.OpenParser())
            {
                // قم باستخراج نص الكيان المضغوط
                using (TextReader reader = attachmentParser.GetText())
                {
                    Console.WriteLine(reader == null ? "No text" : reader.ReadToEnd());
                }
            }
        }
        catch (UnsupportedDocumentFormatException)
        {
            Console.WriteLine("Isn't supported.");
        }
    }
}

يُظهر إخراج كود المصدر أعلاه النص الذي تم استرداده من أحد ملفات PDF داخل ملف ZIP.

 -----------------------------------
 Name: sample.pdf
 File Size: 33370 Bytes
 -----------------------------------

 Heading

 This is the first paragraph of the sample document that contains some sample
 text, bulleted list, numbered list and more.

    •  Bullet Item 1
    •  Bullet Item 2
    •  Bullet Item 3
 
 This is the second paragraph of the sample document and after this, there is a
 numbered list: 

    1. Numbered Item 1
    2. Numbered Item 2
    3. Numbered Item 3 

احصل على ترخيص API مجاني

يمكنك الحصول على ترخيص مؤقت مجاني من أجل استخدام واجهة برمجة التطبيقات بدون قيود التقييم.

استنتاج

لتلخيص ذلك ، تعلمت كيفية استخراج بيانات أرشيفات ZIP باستخدام C # داخل تطبيق .NET الخاص بك. وبشكل أكثر تحديدًا ، يمكنك الآن استخراج البيانات من ملفات ZIP و RAR و TAR و GZIP و BZIP. يمكنك حتى إنشاء تطبيق .NET لاستخراج البيانات الخاص بك للملفات المضغوطة. لمزيد من التفاصيل أو التعرف على API ، قم بزيارة الوثائق. للاستفسارات ، اتصل بنا عبر المنتدى.

أنظر أيضا