Объединение PDF-файлов с помощью REST API в Python

Вы можете легко объединить два или более PDF-документа в один PDF-файл программно в облаке. Это может быть полезно при совместном использовании или печати нескольких документов, объединенных в один файл, вместо обработки всех файлов по одному. Как разработчик Python, вы можете объединить два или более PDF-файла в один файл в своих приложениях Python. В этой статье вы узнаете, как объединять PDF-файлы с помощью REST API в Python.

В этой статье должны быть раскрыты следующие темы:

Слияние PDF REST API и Python SDK

Для объединения двух или более файлов PDF я буду использовать API Python SDK of GroupDocs.Merger Cloud. Он позволяет объединить два или более документов в один или разделить один исходный документ на несколько результирующих документов. Это также позволяет вам сдвигать, удалять, обменивать, поворачивать или изменять ориентацию страницы как книжную или альбомную для всего или предпочтительного диапазона страниц. SDK поддерживает слияние и разделение всех популярных форматов документов, таких как Word, Excel, PowerPoint, Visio, OneNote, PDF, HTML и т. д.

Вы можете установить GroupDocs.Merge Cloud в свое приложение Python с помощью следующей команды в консоли:

pip install groupdocs_merger_cloud

Прежде чем выполнять указанные шаги, получите свой идентификатор клиента и секрет на панели управления. Получив свой идентификатор и секрет, добавьте код, как показано ниже:

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

configuration = groupdocs_merger_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Объединение PDF-файлов с помощью REST API в Python

Вы можете программно объединить два или более PDF-файла в облаке, выполнив простые шаги, указанные ниже:

  1. Загрузить файлы PDF в облако
  2. Объединить несколько файлов PDF с помощью Python
  3. Скачать объединенный файл

Загрузите PDF-файлы

Во-первых, загрузите файлы PDF в облако, используя приведенный ниже пример кода:

# Создать экземпляр API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)

# загрузить образцы файлов
for filename in glob.iglob("C:\\Files\\upload\\*.pdf", recursive=True):
    destFile = filename.replace("C:\\Files\\upload", "", 1)           
    # проверить, существует ли уже файл
    fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
    if not fileExistsResponse.exists:
        # создать запрос на загрузку файла
        request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
        # загрузить файл
        file_api.upload_file(request)

В результате загруженные PDF-файлы будут доступны в разделе файлов вашей панели инструментов в облаке.

Объединение нескольких PDF-файлов с помощью Python

Вы можете легко объединить несколько PDF-файлов в один файл программно, выполнив шаги, указанные ниже:

  • Создайте экземпляр DocumentApi
  • Создайте экземпляр JoinItem
  • Укажите путь к входному файлу для первого элемента JoinItem в FileInfo.
  • Создайте еще один экземпляр JoinItem
  • Укажите путь к входному файлу для второго элемента JoinItem в FileInfo.
  • Добавьте больше JoinItems для объединения более двух файлов
  • Создайте экземпляр JoinOptions
  • Добавьте разделенный запятыми список созданных элементов соединения
  • Установить путь к выходному файлу
  • Создайте экземпляр JoinRequest с помощью JoinOptions.
  • Получите результаты, вызвав метод join() DocumentAPI с JoinRequest.

В следующем фрагменте кода показано, как объединить несколько файлов PDF с помощью REST API в Python.

# инициализация API
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# исходный файл 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("ten-pages_1.pdf")

# исходный файл 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("ten-pages_2.pdf")

# определить параметры соединения
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "Output/joined.pdf"

# создать запрос на присоединение
request = groupdocs_merger_cloud.JoinRequest(options)

# объединить файлы
result = documentApi.join(request)

Загрузите объединенный файл

Приведенный выше пример кода сохранит объединенный PDF-файл в облаке. Вы можете загрузить его, используя следующий пример кода:

# Инициализация API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)

# создать запрос на скачивание файла
request = groupdocs_merger_cloud.DownloadFileRequest("Output/joined.pdf", my_storage)
# Загрузка файла
response = file_api.download_file(request)

# Переместите загруженный файл в свой рабочий каталог
shutil.move(response, "C:\\Files\\")

Объединение определенных страниц нескольких PDF-файлов с помощью Python

Вы можете легко объединить определенные страницы из нескольких файлов PDF в один файл программно, выполнив шаги, указанные ниже:

  • Создайте экземпляр DocumentApi.
  • Создайте экземпляр JoinItem
  • Укажите путь к входному файлу для первого элемента JoinItem в FileInfo.
  • Определите список номеров страниц для объединения
  • Создайте еще один экземпляр JoinItem
  • Укажите путь к входному файлу для второго элемента JoinItem в FileInfo.
  • Определить номер начальной страницы и номер конечной страницы
  • Определить режим диапазона страниц
  • Создайте экземпляр JoinOptions
  • Добавьте разделенный запятыми список созданных элементов соединения
  • Установить путь к выходному файлу
  • Создайте экземпляр JoinRequest с помощью JoinOptions.
  • Получите результаты, вызвав метод join() DocumentAPI с помощью JoinRequest.

В следующем фрагменте кода показано, как объединить определенные страницы из нескольких PDF-файлов с помощью REST API в Python.

# инициализация API
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# исходный файл 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("Output/joined.pdf")
# номера страниц конкретных страниц для слияния
item1.pages = [1,2]

# исходный файл 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("ten-pages.pdf")
# номер стартовой страницы
item2.start_page_number = 2
# номер последней страницы
item2.end_page_number = 4
# режим диапазона страниц
item2.range_mode = "OddPages"

# определить параметры соединения
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "Output/joined-pages.pdf"

# создать запрос на присоединение
request = groupdocs_merger_cloud.JoinRequest(options)

# объединить страницы
result = documentApi.join(request)

Попробуйте онлайн

Попробуйте следующий бесплатный онлайн-инструмент для слияния PDF-файлов, разработанный с использованием вышеуказанного API. https://products.groupdocs.app/merger/pdf

Заключение

В этой статье вы узнали, как объединить несколько файлов PDF в облаке. Вы также узнали, как объединить определенные страницы нескольких документов PDF в один файл с помощью Python. Кроме того, вы узнали, как программно загружать PDF-файлы в облако, а затем загружать объединенный файл из облака. REST API слияния PDF также предоставляет SDK для .NET, Java, PHP, Ruby, Android и Node.js в качестве членов семейства слияния документов для Cloud API. Вы можете узнать больше о GroupDocs.Merge Cloud API, используя документацию. Мы также предоставляем раздел Справочник по API, который позволяет вам визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также