العمل مع الإجراءات في 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.

إنشاء رابط إلى الصفحات في نفس ملف 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. تظهر مقتطفات الشيفرة التالية كيفية تحديد صفحة كإجراء فتح المستند.