العمل مع الإجراءات في PDF

تعمل مقتطفات الكود التالية أيضًا مع مكتبة Aspose.PDF.Drawing.

إضافة رابط في ملف PDF

من الممكن إضافة روابط إلى ملفات PDF، إما للسماح للقراء بالتنقل إلى جزء آخر من PDF، أو إلى محتوى خارجي.

لإضافة روابط ويب إلى مستندات PDF:

  1. أنشئ كائن من فئة Document.
  2. احصل على فئة Page التي تريد إضافة الرابط إليها.
  3. أنشئ كائن LinkAnnotation باستخدام كائنات Page وRectangle. يتم استخدام كائن المستطيل لتحديد الموقع على الصفحة حيث يجب إضافة الرابط.
  4. قم بتعيين خاصية Action إلى كائن GoToURIAction الذي يحدد موقع URI البعيد.
  5. لعرض نص الرابط، أضف سلسلة نصية في موقع مشابه للمكان الذي تم وضع كائن LinkAnnotation فيه.
  6. لإضافة نص حر:
  • قم بإنشاء كائن FreeTextAnnotation. يقبل أيضًا كائنات Page وRectangle كوسائط، لذا من الممكن توفير نفس القيم كما هو محدد ضد مُنشئ LinkAnnotation.
  • باستخدام خاصية Contents لكائن FreeTextAnnotation، حدد السلسلة التي يجب عرضها في ملف PDF الناتج.
  • اختياريًا، قم بتعيين عرض الحدود لكل من كائنات LinkAnnotation وFreeTextAnnotation إلى 0 حتى لا تظهر في مستند PDF.
  • بمجرد تعريف كائنات LinkAnnotation وFreeTextAnnotation، أضف هذه الروابط إلى مجموعة التعليقات التوضيحية لكائن Page.
  • أخيرًا، احفظ ملف PDF المحدث باستخدام طريقة Save لكائن Document.

تظهر مقتطفات الكود التالية كيفية إضافة رابط إلى ملف PDF.

سيناريو شائع آخر هو العثور على نص معين في المستند باستخدام TextFragmentAbsorber وتعيين منطقته كروابط إلى الموقع. أدناه مقتطف كود ينفذ ذلك.

إنشاء رابط إلى الصفحات في نفس ملف PDF

تقدم Aspose.PDF for .NET ميزة رائعة لإنشاء PDF وكذلك التلاعب به. كما أنها توفر ميزة إضافة روابط إلى صفحات PDF ويمكن أن يوجه الرابط إما إلى صفحات في ملف PDF آخر، أو عنوان URL على الويب، أو رابط لتشغيل تطبيق، أو حتى رابط إلى صفحات في نفس ملف PDF. لإضافة روابط محلية (روابط إلى صفحات في نفس ملف PDF)، تمت إضافة فئة تسمى LocalHyperlink إلى مساحة أسماء Aspose.PDF وهذه الفئة تحتوي على خاصية تسمى TargetPageNumber، والتي تستخدم لتحديد الصفحة المستهدفة/الوجهة للرابط.

لإضافة الرابط المحلي، نحتاج إلى إنشاء TextFragment بحيث يمكن ربط الرابط بـ TextFragment. تحتوي فئة TextFragment على خاصية تسمى Hyperlink والتي تستخدم لربط مثيل LocalHyperlink. تظهر مقتطفات الكود التالية الخطوات لتحقيق هذا المتطلب.

الحصول على وجهة رابط PDF (URL)

تمثل الروابط كتعليقات توضيحية في ملف PDF ويمكن إضافتها أو تحديثها أو حذفها. تدعم Aspose.PDF for .NET أيضًا الحصول على الوجهة (URL) للرابط في ملف PDF.

للحصول على عنوان URL للرابط:

  1. أنشئ كائن Document.
  2. احصل على Page التي تريد استخراج الروابط منها.
  3. استخدم فئة AnnotationSelector لاستخراج جميع كائنات LinkAnnotation من الصفحة المحددة.
  4. مرر كائن AnnotationSelector إلى طريقة Accept لكائن Page.
  5. احصل على جميع التعليقات التوضيحية المحددة في كائن IList باستخدام خاصية Selected لكائن AnnotationSelector.
  6. أخيرًا، استخرج إجراء LinkAnnotation كـ GoToURIAction.

تظهر مقتطفات الكود التالية كيفية الحصول على وجهات الروابط (URL) من ملف PDF.

الحصول على نص الرابط

لدى الرابط جزئين: النص الذي يظهر في المستند، ووجهة URL. في بعض الحالات، يكون النص بدلاً من URL هو ما نحتاجه.

يمثل النص والتعليقات التوضيحية/الإجراءات في ملف PDF كيانات مختلفة. النص على الصفحة هو مجرد مجموعة من الكلمات والأحرف، بينما تجلب التعليقات التوضيحية بعض التفاعل مثل ذلك الموجود في الرابط.

للعثور على محتوى URL، تحتاج إلى العمل مع كل من التعليق والنص. لا يحتوي كائن Annotation على النص بنفسه ولكنه يقع تحت النص على الصفحة. لذا للحصول على النص، يعطي التعليق حدود URL، بينما يعطي كائن النص محتويات URL. يرجى الاطلاع على مقتطف الكود التالي.

إزالة إجراء فتح المستند من ملف PDF

كيفية تحديد صفحة PDF عند عرض المستند يشرح كيفية إخبار مستند بفتح صفحة مختلفة عن الصفحة الأولى. عند دمج عدة مستندات، وإذا كان واحد أو أكثر منها يحتوي على إجراء GoTo محدد، فمن المحتمل أنك تريد إزالتها. على سبيل المثال، إذا كنت تجمع بين مستندين وكان الثاني يحتوي على إجراء GoTo يأخذك إلى الصفحة الثانية، فسيتم فتح المستند الناتج على الصفحة الثانية من المستند الثاني بدلاً من الصفحة الأولى من المستند المدمج. لتجنب هذا السلوك، قم بإزالة أمر الفتح.

لإزالة إجراء الفتح:

  1. قم بتعيين خاصية OpenAction لكائن Document إلى null.
  2. احفظ ملف PDF المحدث باستخدام طريقة Save لكائن Document.

تظهر مقتطفات الكود التالية كيفية إزالة إجراء فتح المستند من ملف PDF.

كيفية تحديد صفحة PDF عند عرض المستند

عند عرض ملفات PDF في عارض PDF مثل Adobe Reader، عادةً ما تفتح الملفات على الصفحة الأولى. ومع ذلك، من الممكن تعيين الملف ليفتح على صفحة مختلفة.

تسمح لك فئة XYZExplicitDestination بتحديد صفحة في ملف PDF تريد فتحها. عند تمرير قيمة كائن GoToAction إلى خاصية OpenAction لفئة Document، يفتح المستند في الصفحة المحددة ضد كائن XYZExplicitDestination. تظهر مقتطفات الكود التالية كيفية تحديد صفحة كإجراء فتح المستند.