دمج ملفات PDF باستخدام .NET 5

كل ما عليك فعله هو استدعاء طريقة Concatenate من فئة PdfFileEditor وسيتم دمج جميع ملفات PDF المدخلة الخاصة بك معًا وسيتم إنشاء ملف PDF واحد. دعنا ننشئ تطبيقًا لممارسة دمج ملفات PDF. سنقوم بإنشاء تطبيق باستخدام Visual Studio.NET 2019.

كيفية دمج ملفات PDF بطرق مختلفة

في النموذج، هناك ثلاثة صناديق نصية (textBox1، textBox2، textBox3) تحتوي على تسميات روابطها الخاصة (linkLabel1، linkLabel2، linkLabel3) لتصفح ملفات PDF. عند النقر على “تصفح” رابط التسمية، سيظهر مربع حوار إدخال ملف (inputFileDialog1) يمكّننا من اختيار ملفات PDF (التي سيتم دمجها).

private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
    if (openFileDialog1.ShowDialog()==DialogResult.OK)
    {
        textBox1.Text=openFileDialog1.FileName;
    }
}

يظهر عرض تطبيق نموذج Windows لتوضيح فئة PdfFileEditor لدمج ملفات PDF.

دمج ملفات PDF

بعد اختيار ملف PDF والنقر على زر OK. يتم تعيين الاسم الكامل للملف مع المسار إلى صندوق النص المعني.

اختر ملف PDF

وبالمثل، يمكننا اختيار ملفين أو ثلاثة ملفات PDF مدخلة للدمج كما هو موضح أدناه:

اختر ملفين أو ثلاثة ملفات PDF مدخلة

سيأخذ صندوق النص الأخير (textBox4) مسار الوجهة لملف PDF الناتج مع اسمه حيث سيتم إنشاء هذا الملف الناتج.

مسار الوجهة لملف PDF الناتج

طريقة الدمج

طريقة Concatenate()

يمكن استخدام طريقة Concatenate() بثلاث طرق. دعنا نلقي نظرة فاحصة على كل منها:

الطريقة 1

  • Concatenate(string firstInputFile, string secInputFile, string outputFile)

تكون هذه الطريقة جيدة فقط إذا كنت بحاجة إلى دمج ملفين PDF فقط. توفر الحجتان الأوليان (firstInputFile و secInputFile) الأسماء الكاملة للملفات مع مسار تخزينهما لملفي PDF المدخلين اللذين سيتم دمجهما. توفر الحجة الثالثة (outputFile) الاسم المطلوب مع مسار ملف PDF الناتج.

دمج ملفين PDF باستخدام أسماء الملفات

private void button1_Click(object sender, System.EventArgs e)
{
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    pdfEditor.Concatenate(textBox1.Text,textBox2.Text,textBox4.Text);
}

الطريقة 2

  • Concatenate(Stream firstInputStream, Stream secInputStream, Stream outputStream)

على غرار الطريقة السابقة، تتيح هذه الطريقة أيضًا دمج ملفين PDF. توفر الحجتان الأوليان (firstInputStream و secInputStream) ملفي PDF المدخلين كتيارات (التيار هو مصفوفة من البتات/البايتات) التي سيتم دمجها. توفر الحجة الثالثة (outputStream) تمثيل التيار لملف PDF الناتج المطلوب.

دمج ملفين PDF باستخدام تيارات الملفات

private void button2_Click(object sender, System.EventArgs e)
{
    using (var pdf1 = new FileStream(textBox1.Text, FileMode.Open))
    {
        using (var pdf2 = new FileStream(textBox2.Text, FileMode.Open))
        {
            using (var outputStream = new FileStream(textBox4.Text, FileMode.Create))
            {
                var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
                pdfEditor.Concatenate(pdf1, pdf2, outputStream);
            }
        }
    }
}

الطريقة 3

  • Concatenate(Stream inputStreams[], Stream outputStream)

إذا كنت ترغب في دمج أكثر من ملفين PDF، فإن هذه الطريقة ستكون خيارك النهائي. توفر الحجة الأولى (inputStreams[]) ملفات PDF المدخلة في شكل مصفوفة من التيارات التي سيتم دمجها. توفر الحجة الثانية (outputStream) تمثيل التيار لملف PDF الناتج المطلوب.

دمج عدة ملفات PDF باستخدام مصفوفة من التيارات

private void button3_Click(object sender, System.EventArgs e)
{
    using (var pdf1 = new FileStream(textBox1.Text, FileMode.Open))
    {
        using (var pdf2 = new FileStream(textBox2.Text, FileMode.Open))
        {
            using (var pdf3 = new FileStream(textBox3.Text, FileMode.Open))
            {
                var pdfStreams = new Stream[] { pdf1, pdf2, pdf3 };
                using (var outputStream = new FileStream(textBox4.Text, FileMode.Create))
                {
                    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
                    pdfEditor.Concatenate(pdfStreams, outputStream);
                }
            }
        }
    }
}