Формы PDF являются одними из самых известных типов файлов, в которых вы можете вводить информацию, выбирать элементы из раскрывающихся списков, а также проверять поля по мере необходимости. В настоящее время PDF поддерживает два различных метода интеграции данных и форм PDF, а именно AcroForms (также известные как формы Acrobat) и формы XML Forms Architecture (XFA).Чтобы заполнить формы, вы можете либо заполнить форму онлайн, либо сохранить копию формы на своем компьютере и использовать Adobe Acrobat Reader для заполнения формы. После заполнения формы вам будет интересно использовать данные, заполненные внутри документов, и для этой цели вам может потребоваться экспортировать их в форматы XML, FDF и XFDF. В этой статье мы обсудим подробности того, как мы можем программно экспортировать PDF в XML с помощью Python, а также другие поддерживаемые форматы.

API обработки PDF-файлов

Aspose.PDF Cloud — это отмеченный наградами REST API, предлагающий возможности создания, редактирования и преобразования различных форматов файлов в формат PDF. В то же время он также поддерживает функцию экспорта файлов PDF в XLSX, PPTX, DOCX, EPUB, HTML и т. д., а также различные другие поддерживаемые форматы.

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

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

Теперь, чтобы реализовать возможности обработки PDF в приложении Python, мы создали Aspose.PDF Cloud SDK для Python, который является оболочкой вокруг Aspose.PDF Cloud. Поэтому при использовании этого SDK вы получаете все возможности обработки PDF в своем приложении Python. Теперь, чтобы начать работу с этим SDK, первым шагом является его установка. SDK доступен для бесплатной загрузки через репозитории PIP и GitHub. Просто выполните следующую команду в терминале/командной строке, чтобы установить последнюю версию SDK в системе.

pip install asposepdfcloud

Бесплатная учетная запись Cloud Dashboard

Следующий важный шаг — бесплатная подписка на наши облачные сервисы через панель управления Aspose.Cloud. Цель этой подписки — разрешить доступ к нашим сервисам обработки файлов только авторизованным лицам. Если у вас есть учетная запись GitHub или Google, просто зарегистрируйтесь или нажмите кнопку Создать новую учетную запись и укажите необходимую информацию. Теперь войдите в панель управления, используя учетные данные, разверните раздел «Приложения» на панели управления и прокрутите вниз до раздела «Учетные данные клиента», чтобы увидеть данные Client ID и Client Secret.

Учетные данные клиента

Изображение 1: Учетные данные клиента на панели управления Aspose.Cloud.

Экспорт PDF в XML с помощью Python

Пожалуйста, следуйте инструкциям, указанным ниже, чтобы экспортировать PDF в XML с помощью Python. Мы предоставили два API для выполнения этого требования

| API | Тип | URL | Описание |

| ——————- | —– | —– | ———— |

| /pdf/{name}/export/xml | GET | GetExportFieldsFromPdfToXmlInStorage | Экспорт полей из PDF в хранилище в XML-файл. |

| /pdf/{name}/export/xml | PUT | PutExportFieldsFromPdfToXmlInStorage | Экспорт полей из PDF в хранилище в XML-файл в хранилище. |

  • Во-первых, создайте экземпляр класса ApiClient, указав в качестве аргументов Client ID и Client Secret.
  • Во-вторых, создайте экземпляр класса PdfApi, который принимает объект ApiClient в качестве входного аргумента.
  • Теперь вызовите метод putexportfieldsfrompdftoxmlinstorage(..), чтобы экспортировать данные формы PDF в XML и сохранить полученный файл в облачном хранилище.
def exportPDFtoXML():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # создать экземпляр PdfApi, передав PdfApiClient в качестве аргумента
        pdf_api = PdfApi(pdf_api_client)

        # исходный PDF-файл
        input_file = 'FormData-Filled.pdf'

        # результирующее имя XML
        outputXML = 'exportedData.xml'
        
        # Экспорт данных PDF-формы в XML и сохранение вывода в облачном хранилище.
        response = pdf_api.put_export_fields_from_pdf_to_xml_in_storage(name = input_file, xml_output_file_path=outputXML)
        
        # распечатать ответ на консоли
        print(response)
        
        # вывести сообщение в консоль (необязательно)
        print('PDF Form data successfully exported to XML !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
Предварительный просмотр экспорта PDF в XML

Изображение 2:- Данные PDF, экспортированные в XML.

Экспорт PDF в FDF с помощью Python

Чтобы экспортировать данные формы PDF в формат FDF и сохранить вывод в облачном хранилище, следуйте инструкциям ниже.

  • Создайте экземпляр класса ApiClient, указав в качестве аргументов Client ID и Client Secret.
  • Теперь создайте экземпляр класса PdfApi, который принимает объект ApiClient в качестве входного аргумента.
  • Наконец, вызовите метод putexportfieldsfrompdftofdfinstorage(..), чтобы экспортировать данные формы PDF в FDF и сохранить полученный файл в облачном хранилище.
def exportPDFtoFDF():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # создать экземпляр PdfApi, передав PdfApiClient в качестве аргумента
        pdf_api = PdfApi(pdf_api_client)

        # исходный PDF-файл
        input_file = 'FormData-Filled.pdf'

        # результирующее имя FDF
        outputFDF = 'exportedData.fdf'
        
        # Экспорт данных PDF-формы в формат FDF и сохранение вывода в облачном хранилище.
        response = pdf_api.put_export_fields_from_pdf_to_fdf_in_storage(name = input_file, fdf_output_file_path=outputFDF)
        
        # распечатать ответ на консоли
        print(response)
        
        # вывести сообщение в консоль (необязательно)
        print('PDF Form data successfully exported to FDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

Пожалуйста, перейдите по следующим ссылкам, чтобы загрузить исходный FormData-Filled.pdf и экспортированный exportedData.fdf.

Экспорт PDF в XFDF с помощью Python

Файл XFDF — это файл Acrobat Forms Document, в котором хранится информация, используемая файлом PDF, поэтому файл XFDF вставляет эти данные непосредственно в PDF. Поэтому у нас может возникнуть необходимость экспортировать данные из одной формы PDF и заполнить другие формы PDF. Поэтому в этом разделе мы рассмотрим шаги по экспорту данных формы PDF в формат XFDF.

  • Создайте экземпляр класса ApiClient, указав в качестве аргументов Client ID и Client Secret.
  • Теперь создайте экземпляр класса PdfApi, который принимает объект ApiClient в качестве входного аргумента.
  • Наконец, вызовите метод putexportfieldsfrompdftoxfdfinstorage(..), чтобы экспортировать данные формы PDF в XFDF и сохранить полученный файл в облачном хранилище.
def exportPDFtoXFDF():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # создать экземпляр PdfApi, передав PdfApiClient в качестве аргумента
        pdf_api = PdfApi(pdf_api_client)

        # исходный PDF-файл
        input_file = 'FormData-Filled.pdf'

        # результирующее имя XFDF
        outputXFDF = 'exportedData.xfdf'
        
        # Экспортируйте данные формы PDF в XFDF и сохраните вывод в облачном хранилище.
        response = pdf_api.put_export_fields_from_pdf_to_xfdf_in_storage(name = input_file, xml_output_file_path=outputXFDF)
        
        # распечатать ответ на консоли
        print(response)
        
        # вывести сообщение в консоль (необязательно)
        print('PDF Form data successfully exported to XFDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

Пример выходных данных, сгенерированных в приведенном выше коде, можно загрузить с exportedData.xfdf.

Экспорт PDF в XFDF

Изображение 3:- Данные PDF, экспортированные в XFDF

PDF в XML с использованием команд cURL

REST API также можно получить доступ с помощью команд cURL, и к ним можно получить доступ с помощью терминального приложения на любой платформе. Поскольку Aspose.PDF Cloud разработан в соответствии с архитектурой REST, к нему также можно получить доступ с помощью команды cURL. Однако перед выполнением любой операции нам необходимо сгенерировать JSON Web Token (JWT) на основе ваших индивидуальных учетных данных клиента, указанных на панели управления Aspose.Cloud. Это обязательно, поскольку наши API доступны только зарегистрированным пользователям. Пожалуйста, выполните следующую команду, чтобы сгенерировать JWT-токен.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

После генерации токена JWT выполните следующую команду для экспорта данных формы PDF в формат XML.

curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/FormData-Filled.pdf/export/xml?xmlOutputFilePath=FormDataExported.xml" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-d{}

Заключение

В этой статье мы изучили детали и шаги по экспорту данных форм PDF в форматы XML, FDF и XFDF. Эти требования могут быть выполнены с использованием фрагментов кода Python, а также с использованием команд cURL. Мы также рекомендуем изучить Руководство разработчика, чтобы узнать о других интересных функциях, предлагаемых API. Кроме того, полный исходный код Aspose.PDF Cloud SDK для Python доступен для загрузки через GitHub. Если у вас возникнут какие-либо проблемы при использовании API или у вас возникнут дополнительные вопросы, свяжитесь с нами через Бесплатный форум поддержки продукта.

Похожие статьи

Мы также рекомендуем посетить следующие ссылки, чтобы узнать больше о: