نقل صفحات PDF في بايثون

نقل صفحة من وثيقة PDF إلى أخرى

يتيح لك Aspose.PDF for Python نقل صفحة (وليس نسخها فقط) من ملف PDF إلى آخر. يقوم بإزالة الصفحة المحددة من المستند الأصلي ثم إضافتها إلى ملف PDF جديد.

فكر في الأمر على أنه قطع صفحة من كتاب ولصقها في كتاب آخر - لم تعد الصفحة موجودة في الملف الأصلي بعد النقل.

  1. افتح مستند PDF المصدر باستخدام Document فئة.
  2. حدد صفحة معينة لنقلها (في هذه الحالة، الصفحة 2) - يشير هذا إلى Page.
  3. قم بإنشاء مستند PDF جديد (قم بإنشاء مثيل آخر) Document).
  4. أضف الصفحة المحددة إلى مستند PDF الجديد باستخدام مستند الوجهة PageCollection (على سبيل المثال, another_document.pages.add(page)).
  5. احذف الصفحة من المستند الأصلي عبر PageCollection (على سبيل المثال, document.pages.delete(index)).
  6. احفظ كلا المستندين.

يوضح لك مقتطف الشفرة التالي كيفية نقل صفحة واحدة.

import aspose.pdf as ap

def move_page_from_one_document_to_another(
    input_file_name: str, output_file_name: str
) -> None:

    document = ap.Document(input_file_name)
    page = document.pages[2]
    another_document = ap.Document()
    another_document.pages.add(page)
    document.pages.delete(2)
    document.save(input_file_name.replace(".pdf", "_new.pdf"))
    another_document.save(output_file_name)

نقل صفحات متعددة من وثيقة PDF إلى أخرى

على عكس النسخ، تقوم هذه العملية بنقل الصفحات المحددة - إزالتها من الملف المصدر وحفظها في PDF جديد.

  1. إنشاء مستند وجهة جديد فارغ (Document).
  2. حدد صفحات متعددة (في هذه الحالة، الصفحتان 1 و 3) من المستند المصدر PageCollection.
  3. قم بالتمرير عبر الصفحات المحددة وأضف كل منها إلى مستند الوجهة PageCollection.
  4. احفظ مستند الوجهة الذي يحتوي على الصفحات المنقولة.
  5. احذف الصفحات المنقولة من المستند المصدر باستخدام PageCollection.
  6. احفظ المستند المصدر المعدل باسم ملف جديد للحفاظ على كلا الإصدارين.

يعرض مقتطف الشفرة التالي كيفية نقل صفحات متعددة.

import aspose.pdf as ap

def move_multiple_pages_from_one_document_to_another(
    input_file_name: str, output_file_name: str
) -> None:
    src_document = ap.Document(input_file_name)
    dst_document = ap.Document()
    pages = [1, 2]
    for page_index in pages:
        page = src_document.pages[page_index]
        dst_document.pages.add(page)
    # Save output files
    dst_document.save(output_file_name)
    src_document.pages.delete(pages)
    src_document.save(input_file_name.replace(".pdf", "_new.pdf"))

نقل صفحة إلى موقع جديد في نفس وثيقة PDF

يوضح كيفية نقل صفحة معينة إلى موضع مختلف داخل نفس المستند - وهي حاجة شائعة عند إعادة تنظيم تخطيطات PDF أو تحريرها.

  1. قم بتحميل مستند PDF المُدخل باستخدام Document فئة.
  2. حدد الصفحة التي تريد نقلها (الصفحة 2) - هذه هي Page.
  3. قم بإضافته إلى نهاية المستند باستخدام المستند PageCollection.
  4. احذف الصفحة الأصلية من موقعها السابق عبر PageCollection.
  5. احفظ المستند المعدل كملف جديد.
import aspose.pdf as ap

def move_page_in_new_location_in_same_document(
    input_file_name: str, output_file_name: str
) -> None:
    src_document = ap.Document(input_file_name)

    page = src_document.pages[2]
    src_document.pages.add(page)
    src_document.pages.delete(2)

    # Save output file
    src_document.save(output_file_name)

موضوعات الصفحة ذات الصلة