الواجهات API
Facades API
توفر Facades API أغلفة مبسطة وموجهة للمهام حول نموذج الكائنات الأساسي Aspose.PDF FOSS لـ .NET. تستهدف كل فئة واجهة عملية PDF محددة — تعبئة النماذج، دمج الملفات، تحرير المحتوى، أو التوقيع الرقمي — وتكشف عن سير عمل BindPdf / Save.
ملء النماذج باستخدام واجهة Form
Form (في Aspose.Pdf.Facades) يربط بملف PDF موجود ويسمح لك بقراءة أو كتابة قيم حقول AcroForm دون التنقل في شجرة الصفحات.
using var form = new Form("input.pdf", "output.pdf");
form.FillField("FirstName", "Alice");
form.FillField("AcceptTerms", "Yes");
form.Save();لقراءة قيم الحقول:
using var form = new Form("input.pdf");
string name = form.GetField("FirstName");دمج وتقسيم ملفات PDF باستخدام PdfFileEditor
PdfFileEditor يقوم بدمج، تقسيم، استخراج، وحذف نطاقات الصفحات.
var editor = new PdfFileEditor();
// Concatenate two files
editor.Concatenate("file1.pdf", "file2.pdf", "merged.pdf");
// Extract pages 2-5
editor.Extract("source.pdf", 2, 5, "pages2to5.pdf");
// Split at page 3
editor.SplitFromFirst("source.pdf", 3, "first3.pdf");تحرير محتوى الصفحة باستخدام PdfContentEditor
PdfContentEditor يُعدِّل محتوى الصفحة الموجود — يضيف نصًا، يستبدل النص، أو يرفق إجراءات بالتعليقات التوضيحية.
var editor = new PdfContentEditor();
editor.BindPdf("input.pdf");
// Perform content edits
editor.Save("output.pdf");التوقيعات الرقمية باستخدام PdfFileSignature
PdfFileSignature يوقع مستندات PDF ويتحقق من التوقيعات الموجودة.
var sig = new PdfFileSignature();
sig.BindPdf("document.pdf");
// Sign or verify
sig.Save("signed.pdf");ختم الصفحات باستخدام PdfFileStamp
PdfFileStamp يضيف نصًا أو صورًا أو صفحات PDF أخرى كطوابع.
var stamp = new PdfFileStamp();
stamp.BindPdf("input.pdf");
// Add stamps
stamp.Save("stamped.pdf");
stamp.Close();تحويل الصفحات إلى صور باستخدام PdfConverter
PdfConverter يقوم بتحويل صفحات PDF إلى صيغ صور نقطية.
var converter = new PdfConverter();
converter.BindPdf("input.pdf");
converter.DoConvert();
// Iterate pages and save imagesنصائح وأفضل الممارسات
- دائمًا استدعِ
Close()أو استخدمusingلتحرير الموارد التي تحتفظ بها كائنات الواجهة. - استخدم
BindPdfمع مسار ملف للملفات الكبيرة لتجنب تحميل كل شيء في الذاكرة دفعة واحدة. - فضّل
TryConcatenateوTryAppendعلى نظائرهما غير Try للتعامل السلس مع الأخطاء. - تُفوّض الواجهات النموذج الأساسي
Documentداخليًا — انتقل إلى API الأساسي عندما تحتاج إلى تحكم دقيق. - تسمح واجهة
FormEditorبإضافة حقول نموذج جديدة إلى ملف PDF موجود، وليس مجرد تعبئة الحقول الحالية.
المشكلات الشائعة
| المشكلة | السبب | الحل |
|---|---|---|
Save() ينتج ملفًا فارغًا | BindPdf لم يتم استدعاؤه قبل الحفظ | دائمًا اربط ملف PDF المصدر قبل استدعاء Save |
| قيمة حقل النموذج لم تُكتب | اسم الحقل لا يتطابق مع اسم الحقل الداخلي في PDF | استخدم Form.FieldNames لسرد أسماء الحقول المتاحة |
| فشل الدمج بصمت | ملف الإدخال مشفر أو تالف | استخدم TryConcatenate وتحقق من قيمة الإرجاع |
| التوقيعات غير صالحة بعد التعديل | تم تعديل المحتوى بعد التوقيع | وقع المستند كخطوة نهائية |
الأسئلة المتكررة
ما الفرق بين Facades و core Document API؟
توفر الواجهات طرقًا عالية المستوى وموجهة للمهام (ملء نموذج، دمج ملفات).
توفر API الأساسية (Document، Page، Annotation) وصولًا منخفض المستوى إلى
كل كائن PDF. تستخدم الواجهات API الأساسية داخليًا.
هل يمكنني ربط عمليات facade متعددة؟
نعم. اربط المصدر نفسه، نفّذ العمليات، واحفظ مرة واحدة. أو احفظ نتيجة وسيطة
وأعد الربط للعملية التالية.
هل يدعم PdfFileEditor ملفات PDF المحمية بكلمة مرور؟
نعم. تتوفر إصدارات متعددة تقبل كلمات مرور المالك/المستخدم للملفات المشفرة.
ملخص مرجع API
| Class / Method | Description |
|---|---|
Form | واجهة AcroForm لقراءة وكتابة قيم الحقول |
Form.FillField | تعيين قيمة حقل نموذج حسب الاسم |
Form.GetField | قراءة قيمة حقل نموذج حسب الاسم |
FormEditor | إضافة أو تعديل حقول النموذج في ملف PDF موجود |
PdfFileEditor | دمج، تقسيم، استخراج، وحذف نطاقات صفحات PDF |
PdfFileEditor.Concatenate | دمج ملفين PDF أو أكثر في ملف واحد |
PdfFileEditor.Extract | استخراج نطاق صفحات إلى ملف PDF جديد |
PdfContentEditor | تعديل محتوى الصفحة (نص، تعليقات توضيحية، إجراءات) |
PdfFileSignature | توقيع والتحقق من التوقيعات الرقمية لملف PDF |
PdfFileStamp | إضافة نص أو طوابع صورة فوق الصفحات |
PdfConverter | تحويل صفحات PDF إلى صور نقطية |
FormattedText | وصف النص المنسق لعمليات الطوابع |
FontStyle | تعداد أنماط الخط (عريض، مائل، إلخ.) |
EncodingType | تعداد ترميز الأحرف |