دمج ملفات PDF في بايثون

دمج أو دمج ملفات PDF متعددة في ملف PDF واحد في Python

يعد دمج ملفات PDF استعلامًا شائعًا جدًا بين المستخدمين. يمكن أن يكون هذا مفيدًا عندما يكون لديك العديد من ملفات PDF التي تريد مشاركتها أو تخزينها معًا كمستند واحد.

يمكن أن يساعدك دمج ملفات PDF في تنظيم مستنداتك وإفساح المجال للتخزين على جهاز الكمبيوتر الخاص بك ومشاركة العديد من ملفات PDF مع الآخرين من خلال دمجها في مستند واحد.

إن دمج PDF في Python عبر .NET ليس بالمهمة السهلة دون استخدام مكتبة طرف ثالث. توضح هذه المقالة كيفية دمج ملفات PDF متعددة في مستند PDF واحد باستخدام Aspose.PDF لـ Python عبر .NET.

دمج ملفات PDF باستخدام بايثون وDOM

لربط ملفين من ملفات PDF:

  1. قم بإنشاء مستند جديد.
  2. دمج ملفات PDF
  3. احفظ المستند المدمج

دمج مستندات PDF متعددة في ملف واحد:

import sys
import aspose.pdf as ap
from os import path


def merge_two_documents(infile1, infile2, outfile):
    document1 = ap.Document(infile1)
    document2 = ap.Document(infile2)
    document1.pages.add(document2.pages)
    document1.save(outfile)

إلحاق نطاق صفحات من ملف PDF إلى آخر

انسخ وألحق نطاقًا محددًا من الصفحات من مستند PDF المصدر إلى مستند PDF الوجهة باستخدام Aspose.PDF لـ Python.

  1. افتح ملفات PDF باستخدام فئة المستند.
  2. تحقق مما إذا كان المستند المصدر يحتوي على صفحات.
  3. تحقق من نطاق الصفحات.
  4. تخطي العملية إذا كانت صفحة البداية أكبر من صفحة النهاية.
  5. قم بالتكرار من خلال نطاق الصفحات.
  6. قم بإلحاق صفحات بالمستند الوجهة.
import sys
import aspose.pdf as ap
from os import path


def _append_page_range(source_document, destination_document, start_page, end_page):
    total_pages = len(source_document.pages)
    if total_pages == 0:
        return

    start = max(1, start_page)
    end = min(end_page, total_pages)
    if start > end:
        return

    for page_number in range(start, end + 1):
        destination_document.pages.add(source_document.pages[page_number])

دمج مستندات PDF متعددة في مستند واحد

يشرح مقتطف الشفرة هذا كيفية دمج ملفات PDF متعددة في مستند واحد:

  1. قم بإنشاء مستند إخراج فارغ.
  2. قم بالتكرار من خلال ملفات الإدخال.
  3. قم بتحميل كل مستند مصدر.
  4. حدد نطاق الصفحات.
  5. قم بإلحاق صفحات بمستند الإخراج.
  6. كرر ذلك لجميع المستندات.
  7. احفظ ملف PDF المدمج.
import sys
import aspose.pdf as ap
from os import path


def merge_multiple_documents(input_files, outfile):
    output_document = ap.Document()

    for input_file in input_files:
        source_document = ap.Document(input_file)
        _append_page_range(
            source_document, output_document, 1, len(source_document.pages)
        )

    output_document.save(outfile)

دمج نطاقات الصفحات المحددة من ملفات PDF متعددة

  1. قم بتحميل مستندات PDF المصدر.
  2. قم بإنشاء مستند إخراج.
  3. حدد نطاقات الصفحات لكل مستند.
  4. قم بإلحاق صفحات من المستند الأول.
  5. قم بإلحاق صفحات من المستند الثاني.
  6. ادمج الصفحات بالترتيب المطلوب.
  7. احفظ ملف PDF المدمج.
import sys
import aspose.pdf as ap
from os import path


def merge_selected_page_ranges(infile1, infile2, outfile):
    document1 = ap.Document(infile1)
    document2 = ap.Document(infile2)
    output_document = ap.Document()

    _append_page_range(document1, output_document, 1, 2)
    _append_page_range(document2, output_document, 2, 3)

    output_document.save(outfile)

إدراج ملف PDF واحد في آخر في موضع محدد

  1. قم بتحميل القاعدة وإدراج المستندات.
  2. قم بإنشاء مستند إخراج.
  3. حدد إجمالي الصفحات في المستند الأساسي.
  4. تحقق من صحة فهرس الإدراج.
  5. قم بإلحاق الصفحات قبل نقطة الإدراج.
  6. قم بإلحاق جميع الصفحات من مستند الإدراج.
  7. قم بإلحاق الصفحات المتبقية من المستند الأساسي.
  8. احفظ ملف PDF الناتج.
import sys
import aspose.pdf as ap
from os import path


def merge_insert_document_at_position(infile1, infile2, insert_after_page, outfile):
    base_document = ap.Document(infile1)
    insert_document = ap.Document(infile2)
    output_document = ap.Document()

    base_total_pages = len(base_document.pages)
    insert_index = max(0, min(insert_after_page, base_total_pages))

    _append_page_range(base_document, output_document, 1, insert_index)
    _append_page_range(insert_document, output_document, 1, len(insert_document.pages))
    _append_page_range(
        base_document, output_document, insert_index + 1, base_total_pages
    )

    output_document.save(outfile)

دمج ملفات PDF عن طريق الصفحات البديلة

يوضح هذا المثال كيفية دمج مستندين PDF عن طريق تبديل صفحاتهما باستخدام Aspose.PDF لـ Python.

  1. قم بتحميل مستندات PDF المدخلة.
  2. قم بإنشاء مستند إخراج.
  3. احصل على عدد الصفحات في كل مستند.
  4. احسب الحد الأقصى لعدد الصفحات.
  5. قم بالتكرار من خلال أرقام الصفحات.
  6. قم بإلحاق الصفحات بالتناوب.
  7. تعامل مع عدد الصفحات غير المتكافئ.
  8. احفظ ملف PDF المدمج.
import sys
import aspose.pdf as ap
from os import path


def merge_alternating_pages(infile1, infile2, outfile):
    document1 = ap.Document(infile1)
    document2 = ap.Document(infile2)
    output_document = ap.Document()

    document1_pages = len(document1.pages)
    document2_pages = len(document2.pages)
    max_pages = max(document1_pages, document2_pages)

    for page_number in range(1, max_pages + 1):
        if page_number <= document1_pages:
            output_document.pages.add(document1.pages[page_number])
        if page_number <= document2_pages:
            output_document.pages.add(document2.pages[page_number])

    output_document.save(outfile)

دمج ملفات PDF مع فواصل الأقسام والإشارات المرجعية

قم بدمج مستندات PDF متعددة في ملف واحد مع أقسام منظمة وإشارات مرجعية للتنقل باستخدام Aspose.PDF لـ Python.

  1. قم بإنشاء مستند إخراج.
  2. قم بالتكرار من خلال ملفات الإدخال.
  3. قم بتحميل المستند المصدر.
  4. أضف صفحة فاصلة.
  5. قم بإنشاء إشارة مرجعية للقسم.
  6. قم بإلحاق صفحات المستند المصدر.
  7. تتبع صفحة المحتوى الأولى.
  8. إضافة إشارة مرجعية للمحتوى المتداخل (اختياري).
  9. كرر ذلك لجميع المستندات.
  10. احفظ ملف PDF المدمج.
import sys
import aspose.pdf as ap
from os import path


def merge_with_section_separators_and_bookmarks(input_files, outfile):
    output_document = ap.Document()

    for section_index, input_file in enumerate(input_files, start=1):
        source_document = ap.Document(input_file)
        source_page_count = len(source_document.pages)

        separator_page = output_document.pages.add()
        separator_page.paragraphs.add(
            ap.text.TextFragment(
                f"Section {section_index}: {path.basename(input_file)}"
            )
        )

        section_bookmark = ap.OutlineItemCollection(output_document.outlines)
        section_bookmark.title = f"Section {section_index}"
        section_bookmark.action = ap.annotations.GoToAction(separator_page)
        output_document.outlines.append(section_bookmark)

        first_content_page_number = len(output_document.pages) + 1
        _append_page_range(source_document, output_document, 1, source_page_count)

        if source_page_count > 0 and first_content_page_number <= len(
            output_document.pages
        ):
            content_bookmark = ap.OutlineItemCollection(output_document.outlines)
            content_bookmark.title = f"Section {section_index} Content"
            content_bookmark.action = ap.annotations.GoToAction(
                output_document.pages[first_content_page_number]
            )
            section_bookmark.append(content_bookmark)

    output_document.save(outfile)

مثال مباشر

عملية دمج Aspose.PDF هو تطبيق ويب مجاني عبر الإنترنت يسمح لك بالتحقيق في كيفية عمل وظيفة دمج العروض التقديمية.

عملية دمج Aspose.PDF

موضوعات المستندات ذات الصلة