أساسيات Aspose.PDF DOM API

مقدمة إلى DOM API

نموذج كائن المستند (DOM) هو شكل من أشكال تمثيل المستندات المهيكلة كنموذج موجه للكائنات. DOM هو معيار اتحاد شبكة الويب العالمية (W3C) الرسمي لتمثيل المستندات المهيكلة بطريقة محايدة للمنصة واللغة.

بعبارات بسيطة، DOM هو شجرة من الكائنات التي تمثل هيكل بعض المستندات. Aspose.PDF for C++ تستخدم أيضاً فكرة DOM لتمثيل هيكل مستند PDF من حيث الكائنات. ومع ذلك، يتم التلاعب بجوانب DOM (مثل عناصره) ضمن نحو لغة البرمجة المستخدمة. يتم تحديد الواجهة العامة لدوم في واجهة برمجة التطبيقات الخاصة به (API).

مقدمة إلى مستندات PDF

تنسيق المستندات المحمولة (PDF) هو معيار مفتوح لتبادل المستندات. مستند PDF هو مزيج من النص والبيانات الثنائية. إذا قمت بفتحه في محرر نصوص، سترى الكائنات الأولية التي تحدد هيكل ومحتوى المستند.

الهيكل المنطقي لملف PDF هو هرمي ويحدد التسلسل الذي تقوم به تطبيقات العرض برسم صفحات المستند ومحتوياتها. يتكون PDF من أربعة مكونات: الكائنات، هيكل الملف، هيكل المستند وتيارات المحتوى.

هيكل مستند PDF

نظرًا لأن هيكل ملف PDF هو هرمي، فإن Aspose.PDF for C++ يصل أيضًا إلى العناصر بنفس الطريقة. يُظهر التسلسل الهرمي التالي كيفية تنظيم مستند PDF بشكل منطقي وكيفية بنائه باستخدام Aspose.PDF لـ C++ DOM API.

هيكل مستند PDF

الوصول إلى عناصر مستند PDF

كائن الوثيقة هو في المستوى الجذري لنموذج الكائنات. يسمح لك Aspose.PDF لـ C++ DOM API بإنشاء كائن وثيقة ثم الوصول إلى جميع الكائنات الأخرى في التسلسل الهرمي. يمكنك الوصول إلى أي من المجموعات مثل الصفحات أو عنصر فردي مثل الصفحة وما إلى ذلك. يوفر DOM API نقاط دخول وخروج فردية للتعامل مع مستند PDF كما هو موضح أدناه:

  • فتح مستند PDF
  • الوصول إلى هيكل مستند PDF بأسلوب DOM
  • تحديث البيانات في مستند PDF
  • التحقق من صحة مستند PDF
  • تصدير مستند PDF إلى تنسيقات مختلفة
  • وأخيراً، حفظ مستند PDF المحدث

كيفية استخدام Aspose.PDF الجديد لـ C++ API

ستشرح هذه الموضوع الجديد في Aspose.PDF لـ C++ API وتوجهك للبدء بسرعة وسهولة. يرجى ملاحظة أن التفاصيل المتعلقة باستخدام الميزات الخاصة ليست جزءًا من هذه المقالة.

يتكون Aspose.PDF لـ C++ من جزئين:

  • Aspose.PDF لـ C++ DOM API
  • Aspose.PDF.Facades

ستجد تفاصيل كل من هذه المجالات أدناه.

Aspose.PDF لـ C++ DOM API

يتعلق Aspose.PDF لـ C++ DOM API ببنية مستند PDF، مما يساعدك على العمل مع مستندات PDF ليس فقط على مستوى الملف والمستند، ولكن أيضًا على مستوى الكائنات. لقد وفرنا المزيد من المرونة للمطورين للوصول إلى جميع عناصر وكائنات مستند PDF. باستخدام فئات Aspose.PDF DOM API، يمكنك الوصول البرمجي إلى عناصر المستند والتنسيق. يتكون هذا DOM API الجديد من مساحات الأسماء المختلفة كما يلي:

مرجع مساحة الأسماء Aspose::Pdf

تقدم مساحة الأسماء هذه فئة Document التي تسمح لك بفتح وحفظ مستند PDF.

مرجع مساحة الأسماء Aspose::Pdf::Text

تقدم مساحة الأسماء هذه فئات تساعدك في العمل مع النص وجوانبه المختلفة، على سبيل المثال Font، FontCollection، FontRepository، FontSource، TextAbsorber، TextFragment، TextFragmentAbsorber، TextFragmentCollection، TextFragmentState، TextSegment و TextSegmentCollection إلخ.

Aspose::Pdf::Collections Namespace Reference

يوفر مساحة الاسم هذه الفئة AsposeHashDictionary.

Aspose::Pdf::CommonData Namespace Reference

Aspose::Pdf::Diagnostics Namespace Reference

Aspose::Pdf::Drawing Namespace Reference

توفر مساحة الاسم هذه الفئات: Curve, Circle, Arc, Rectangle, Graph وغيرها، لإضافة عناصر رسومية إلى ملف PDF الخاص بك.

Aspose::Pdf::Engine Namespace Reference

توفر مساحة الاسم هذه الفئات: Addressing، Interactive، Security، CommonData، IO، Presentation.

Aspose::Pdf::GroupProcessor Namespace Reference

توفر مساحة الاسم هذه الفئات: ExtractorFactory - تمثل مصنع لإنشاء كائنات IPdfTypeExtractor، وفئات IDocumentPageTextExtractor، وIDocumentTextExtractor، وIPdfTypeExtractor - تمثل واجهة للتفاعل مع المستخرج.

Aspose::Pdf::Interchange Namespace Reference

Aspose::Pdf::LogicalStructure Namespace Reference

توفر مساحة الاسم هذه الفئات: AnnotationElement، AttributeOwnerStandard، CaptionElement، DocumentElement، FormElement، GroupingElement، ILSTextElement، PrivateElement، WarichuWTElement، وغيرها.

Aspose::Pdf::Operators Namespace Reference

يوفر فضاء الأسماء هذا فئات للمشغلين التاليين: BasicSetColorAndPatternOperator، BlockTextOperator، SetCharWidthBoundingBox، SetColorStroke، SetHorizontalTextScaling، SetTextRenderingMode، TextShowOperator، إلخ.

Aspose::Pdf::Optimization Namespace Reference

يوفر فضاء الأسماء هذا فئتين - ImageCompressionOptions و OptimizationOptions.

Aspose::Pdf::PageModel Namespace Reference

Aspose::Pdf::PdfAOptionClasses Namespace Reference

يوفر فضاء الأسماء هذا فئتين: FontEmbeddingOptions - يتطلب معيار PDF/A أن يتم تضمين جميع الخطوط في المستند. تتضمن هذه الفئة إشارات لحالات عندما لا يمكن تضمين بعض الخطوط بسبب غيابها على جهاز الكمبيوتر الوجهة. ToUnicodeProcessingRules - تصف هذه الفئة القواعد التي يمكن استخدامها لحل خطأ Adobe Preflight “لا يمكن تعيين النص إلى Unicode”.

Aspose::Pdf::Sanitization Namespace Reference

يوفر فضاء الأسماء هذا فئتين: Details_SanitizationException و IRecovery.

Aspose::Pdf::Tagged Namespace Reference

يوفر مساحة الاسم هذه فئات Details_TaggedException - تمثل استثناءً لمحتوى TaggedPDF الخاص بالمستند. ITaggedContent - تمثل واجهة للعمل مع محتوى TaggedPdf الخاص بالمستند؟ و TaggedPdfExceptionCode.

Aspose::Pdf::Validation Namespace Reference

Aspose::Pdf::XfaConverter Namespace Reference

يوفر مساحة الاسم هذه فئة XfaParserOptions - فئة للتعامل مع تغليف البيانات ذات الصلة.

Aspose::Pdf::Annotations Namespace Reference

التعليقات التوضيحية هي جزء من الميزات التفاعلية لمستند PDF. لقد خصصنا مساحة اسم للتعليقات التوضيحية. تحتوي مساحة الاسم هذه على فئات تساعدك على العمل مع التعليقات التوضيحية، على سبيل المثال، Annotation، AnnotationCollection، CircleAnnotation و LinkAnnotation إلخ.

Aspose::Pdf::Forms Namespace Reference

تحتوي مساحة الاسم هذه على فئات تساعدك على العمل مع نماذج PDF وحقول النماذج، على سبيل المثال Form، Field، TextBoxField و OptionCollection إلخ.

Aspose::Pdf::Devices Namespace Reference

يمكننا إجراء عمليات مختلفة على مستندات PDF مثل تحويل مستند PDF إلى تنسيقات صور مختلفة. ومع ذلك، فإن مثل هذه العمليات لا تنتمي إلى كائن المستند ولا يمكننا تمديد فئة المستند لمثل هذه العمليات. لهذا السبب قمنا بتقديم مفهوم الجهاز في واجهة برمجة التطبيقات الجديدة للـ DOM.

##### Aspose::Pdf::Facades مرجع الفضاء الاسمي

يمكنك استخدام فضاء الاسم Aspose.PDF.Facades. يوفر هذا الفضاء الاسمي فئات مثل AutoFiller - يمثل فئة لاستقبال البيانات من قاعدة بيانات أو مصدر بيانات آخر. Bookmark, Form, Stamp, PdfConverter والمزيد من الفئات.