واجهة برمجة تطبيقات مجانية C# .NET لاستخراج النصوص وتحليل PDF
مكتبة .NET رائدة مفتوحة المصدر لاستخراج النصوص، الصور، البيانات الوصفية، ومعلومات بنية PDF من ملفات PDF بسهولة. أضف صفحات جديدة، جداول، نصوص وأشكال إلى ملفات PDF.
ما هي مكتبة PdfPig؟
PdfPig هي مكتبة .NET مفتوحة المصدر مصممة لقراءة وتحليل واستخراج المحتوى من ملفات PDF في C#. تم تطويرها كنسخة من Apache PDFBox لنظام .NET وتُستخدم على نطاق واسع لاستخراج نصوص PDF، وتحليل المستندات، ومعالجة PDF على مستوى منخفض. تدعم .NET Standard وإصدارات متعددة من .NET، مما يجعلها مرنة للغاية لبيئات التطوير الحديثة. المكتبة مفيدة جدًا لفهرسة المستندات، ومحركات البحث، ومعالجة ما قبل الوثائق للذكاء الاصطناعي/التعلم الآلي، ومعالجة ما بعد OCR، وأتمتة الفواتير، وأدوات إمكانية الوصول إلى PDF وأنظمة استخراج البيانات.
ملفات PDF موجودة في كل مكان—العقود، التقارير، الفواتير، الكتب الإلكترونية، كشوف الحساب البنكية، الأوراق البحثية، والنماذج. استخراج المعلومات المهيكلة من ملفات PDF غالبًا ما يكون صعبًا لأن PDF هو أساسًا تنسيق عرض، وليس تنسيق مستند دلالي. يبسط PdfPig هذه المشكلة من خلال إعطاء المطورين إمكانية الوصول إلى النص الخام والكلمات، مواضع الأحرف ومربعات الحدود، الخطوط ومعلومات التنسيق، الصور والبيانات الوصفية وتفاصيل تخطيط المستند. على عكس العديد من مكتبات PDF التي تركز أساسًا على إنشاء ملفات PDF، يختص PdfPig بقراءة المستندات PDF الموجودة. وهذا يجعله خيارًا ممتازًا للمطورين الذين يبنون محركات بحث، خطوط أنابيب OCR، محللات الفواتير، محللات المستندات، أدوات الامتثال، أو أنظمة استخراج المحتوى.
البدء مع PdfPig
مكتبة PdfPig متاحة كحزمة NuGet. لذلك يُنصح بشدة باستخدام NuGet لتثبيت PdfPig في مشروعك. يرجى استخدام الأمر التالي للتثبيت الناجح.
تثبيت PdfPig عبر مدير الحزم NuGet
// Package Manager
Install-Package PdfPig
// .NET CLI
dotnet add package PdfPig
يمكنك أيضًا تثبيتها يدويًا؛ قم بتنزيل أحدث ملفات الإصدار مباشرةً من مستودع GitHub.
استخراج النص من مستندات PDF عبر .NET
أحد أكثر الاستخدامات شيوعًا لمكتبة PdfPig هو استخراج النص العادي من مستندات PDF. يمكن لمطوري البرمجيات فتح ملف PDF وقراءة النص صفحةً بصفحة أو استخراج المحتوى بالكامل. هذا مفيد بشكل خاص لفهرسة البحث، ومسح الكلمات المفتاحية، وتحليل المحتوى. إليك مثالًا بسيطًا يوضح كيف يمكن لمطوري البرمجيات استخراج النص من مستندات PDF داخل تطبيقات C# .NET. أولاً يفتح ملف PDF ويتجول عبر جميع الصفحات ثم يقرأ المحتوى النصي المستخرج.
كيفية استخراج النص من مستندات PDF عبر واجهة برمجة التطبيقات C#؟
using UglyToad.PdfPig;
using (var document = PdfDocument.Open("sample.pdf"))
{
foreach (var page in document.GetPages())
{
string text = page.Text;
Console.WriteLine(text);
}
}
النماذج التفاعلية واستخراج الملفات المدمجة
تدعم مكتبة PdfPig المفتوحة المصدر استخراج نماذج Acrobat التفاعلية (AcroForms) وقراءة الملفات المخفية داخل مرفقات PDF بشكل أصلي. تتيح للمطورين التحقق من تعريفات النماذج على مستوى عالمي، والتجول عبر عناصر النماذج التفاعلية المكتوبة (مثل مربعات الاختيار، حقول النص، أو أزرار الضغط)، والوصول إلى البيانات البايتية الخام للملفات المضمنة داخل تعليقات المستند لتوفير تكامل سلس بين الأنظمة.
كيفية استخراج بيانات النماذج التفاعلية عبر مكتبة C# .NET؟
using System;
using System.Collections.Generic;
using UglyToad.PdfPig;
using UglyToad.PdfPig.AcroForms;
class Program
{
static void ExtractInteractiveContent(string pdfPath)
{
using (PdfDocument document = PdfDocument.Open(pdfPath))
{
// Extracting Interactive Form Data
if (document.TryGetForm(out AcroForm form))
{
foreach (var field in form.Fields)
{
Console.WriteLine($"Form Field Name: {field.Information.Name} | Type: {field.Type}");
}
}
// Extracting Embedded Documents/Attachments
if (document.Advanced.TryGetEmbeddedFiles(out IReadOnlyList embeddedFiles))
{
foreach (var file in embeddedFiles)
{
Console.WriteLine($"Found Attachment: {file.Name} ({file.Bytes.Count} bytes)");
// File.WriteAllBytes(file.Name, file.Bytes.ToArray()); // Save attachment locally
}
}
}
}
}
دمج ملفات PDF متعددة بسلاسة عبر C#
بعيدًا عن استخراج المحتوى، يقدم PdfPig أدوات إدارة مستندات بسيطة. من خلال استخدام فئة PdfMerger، يمكن للمطورين دمج هياكل PDF مستقلة منفصلة في مصفوفة واحدة موحدة من بايتات الملف. يوفر هذا طريقة فعّالة لربط التقارير البرمجية، الفواتير، أو مستندات كشف حساب العملاء دون إضافة تبعيات خارجية ضخمة إلى خط أنابيب .NET الخاص بك. يوضح المثال التالي كيف يمكن للمستخدمين دمج مستندات PDF متعددة داخل تطبيقات .NET.
كيفية دمج ملفات PDF متعددة داخل تطبيقات C# .NET؟
using System.IO;
using UglyToad.PdfPig.Writer;
class Program
{
static void MergeDocuments(string firstPdf, string secondPdf, string outputPdf)
{
// Consolidate files into a single continuous byte sequence
byte[] mergedFileBytes = PdfMerger.Merge(firstPdf, secondPdf);
// Output the combined file stream directly to disk
File.WriteAllBytes(outputPdf, mergedFileBytes);
}
}
قراءة بيانات تعريف PDF والنماذج والتعليقات التوضيحية
بعيدًا عن استخراج النص، تضمّن مكتبة PdfPig المفتوحة المصدر ميزات تكشف عن بيانات تعريف المستند (العنوان، المؤلف، المنتج)، حقول النماذج التفاعلية، الروابط التشعبية، والإشارات المرجعية. هذه الميزات لا تقدر بثمن لأنظمة تصنيف المستندات، معالجة النماذج الآلية، وفهرسة المحتوى حيث تحتاج إلى كل من المحتوى والسياق.