دمج ملفات PDF باستخدام .NET 5
كل ما عليك فعله هو استدعاء طريقة دمج من فئة 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;
}
}
يتم عرض واجهة تطبيق نموذج ويندوز لعرض فئة PdfFileEditor لدمج ملفات PDF.
بعد اختيار ملف PDF والضغط على زر OK، يتم تخصيص الاسم الكامل للملف مع المسار إلى مربع النص المرتبط.
وبالمثل، يمكننا اختيار ملفين أو ثلاثة ملفات PDF للإدخال لدمجها كما هو موضح أدناه:
سيأخذ مربع النص الأخير (textBox4) مسار الوجهة لملف PDF الناتج باسمه حيث سيتم إنشاء هذا الملف الناتج.
دالة Concatenate()
يمكن استخدام دالة Concatenate() بثلاث طرق. دعونا نلقي نظرة أقرب على كل منها:
الطريقة 1
- Concatenate(string firstInputFile, string secInputFile, string outputFile)
هذه الطريقة جيدة فقط إذا كنت بحاجة لدمج ملفي PDF فقط. أول حجتين (firstInputFile و secInputFile) توفران الأسماء الكاملة للملفات مع مسار التخزين الخاص بملفي PDF اللذين سيتم دمجهما. الحجة الثالثة (outputFile) توفر اسم الملف المطلوب مع المسار الخاص بملف PDF الناتج.
private void button1_Click(object sender, System.EventArgs e)
{
PdfFileEditor pdfEditor = new PdfFileEditor();
pdfEditor.Concatenate(textBox1.Text,textBox2.Text,textBox4.Text);
}
النهج 2
- Concatenate(System.IO.Stream firstInputStream, System.IO.Stream secInputStream, System.IO.Stream outputStream)
مماثل للنهج أعلاه، هذا النهج يسمح أيضًا بدمج ملفي PDF. أول وسيطين (firstInputStream و secInputStream) يوفران ملفي PDF المدخلين كتيارات (التيار هو مجموعة من البتات/البايتات) التي سيتم دمجها. الوسيط الثالث (outputStream) يوفر تمثيل التيار لملف PDF المطلوب كخرج.
private void button2_Click(object sender, System.EventArgs e)
{
FileStream pdf1 = new FileStream(textBox1.Text,FileMode.Open);
FileStream pdf2 = new FileStream(textBox2.Text,FileMode.Open);
FileStream outputPDF = new FileStream(textBox4.Text,FileMode.Create);
PdfFileEditor pdfEditor = new PdfFileEditor();
pdfEditor.Concatenate(pdf1,pdf2,outputPDF);
outputPDF.Close();
}
النهج الثالث
- Concatenate(System.IO.Stream inputStreams[], System.IO.Stream outputStream)
إذا كنت ترغب في دمج أكثر من ملفي PDF، فإن هذا النهج سيكون خيارك الأمثل. First argument (inputStreams[]) يوفر ملفات PDF المدخلة في شكل مصفوفة من التدفقات التي سيتم دمجها. Second argument (outputStream) يوفر تمثيل التدفق لملف PDF المطلوب.
private void button3_Click(object sender, System.EventArgs e)
{
FileStream pdf1 = new FileStream(textBox1.Text,FileMode.Open);
FileStream pdf2 = new FileStream(textBox2.Text,FileMode.Open);
FileStream pdf3 = new FileStream(textBox3.Text,FileMode.Open);
Stream[] pdfStreams = new Stream[]{pdf1,pdf2,pdf3};
FileStream outputPDF = new FileStream(textBox4.Text,FileMode.Create);
PdfFileEditor pdfEditor = new PdfFileEditor();
pdfEditor.Concatenate(pdfStreams,outputPDF);
outputPDF.Close();
}