编辑 PDF 页面

在当今的数字世界中,PDF 文档已成为共享和存储信息的主要内容。但是,有时您可能需要对 PDF 文件进行修改,例如添加或删除页面。无论您是想插入其他页面以提供更多内容,删除不必要的页面以简化文档,还是重新排列页面顺序以改善流程,能够执行这些操作都至关重要。在本文中,我们将探讨如何使用 Python Cloud SDK 添加和删除 PDF 页面,为您提供知识和工具,以便根据您的特定需求高效管理和自定义 PDF 文档。

PDF处理SDK

Aspose.PDF Cloud 是一个基于 REST 的 API,提供执行 PDF 创建和处理功能。无需安装 Adobe Acrobat 或其他软件,您可以在云中执行所有操作。根据本文的范围,我们将使用 Aspose.PDF Cloud SDK for Python 进行 PDF 文件处理。此 SDK 是 REST API 的包装器,您可以从 PIPGitHub 存储库免费下载它。因此,请在终端/命令提示符上执行以下命令以安装最新版本的 SDK。

pip install asposepdfcloud

微软 Visual Studio

您也可以在Visual Studio项目内直接在Python项目中添加引用。请在Python环境窗口下搜索asposepdfcloud作为包。请按照下图中编号的步骤完成安装过程。

Aspose.PDF Cloud Python

图 1:- Aspose.PDF Cloud SDK for Python 包。

由于我们的 API 仅供授权人员访问,因此您还需要在 云仪表板 上创建一个帐户(如果您没有现有帐户)。使用您的 GitHub 或 Google 帐户登录,或单击 创建新帐户 按钮并提供所需信息。然后,登录仪表板并展开仪表板上的应用程序部分。现在向下滚动到客户端凭据部分以获取您的个性化客户端 ID 和客户端密钥详细信息。

客户端凭据Client credentials

图 2:- Aspose.Cloud 仪表板上的客户端凭证。

使用 Python 将页面添加到 PDF

请按照以下步骤使用 Python 代码片段将页面添加到 PDF 文档:

  • 首先,我们需要创建一个 ApiClient 类的实例,并提供客户端 ID 客户端密钥作为参数。
  • 其次,创建一个 PdfApi 类的实例,该实例以 ApiClient 对象作为输入参数。
  • 现在调用 PdfApi 类的方法 putaddnewpage(..),该方法在文档末尾添加一个空白页。然后将生成的 PDF 保存在云存储中。
def addPage():
    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)

        #source image file
        input_file = 'URL2PDF.pdf'
        
        # 在 PDF 文档末尾添加页面
        response = pdf_api.put_add_new_page(name = input_file)
        print(response)

        # 在控制台中打印消息(可选)
        print('Blank page successfully added to PDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

使用 Python 从 PDF 中删除页面

API 还提供了从 PDF 文档中删除特定页面的功能。因此,为了满足此要求,请按照以下说明进行操作。

  • 首先,创建 ApiClient 类的实例,并提供客户端 ID 客户端密钥作为参数。
  • 其次,创建一个 PdfApi 类的对象,该对象以 ApiClient 对象作为输入参数。
  • 最后,调用 deletepage(…) 方法从 PDF 文档中删除特定页面。
def deletePage():
    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)

        #source image file
        input_file = 'URL2PDF.pdf'
        
        # 从 PDF 文档中删除第二页
        response = pdf_api.delete_page(name = input_file, page_number=2)
        print(response)

        # 在控制台中打印消息(可选)
        print('Page successfully deleted from PDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

使用 cURL 命令添加 PDF 页面

cURL 命令提供了一种通过命令行终端访问 REST API 的便捷方法。由于 Aspose.PDF Cloud 是按照 REST 架构开发的,因此我们也可以使用 cURL 命令来实现我们的要求。但是,由于只有授权用户才能访问 API,因此首先我们需要根据客户端凭据生成 JSON Web 令牌 (JWT)。因此,请执行以下命令来生成 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"

请执行以下命令,在PDF文档末尾添加一个空白页。

curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/URL2PDF.pdf/pages" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-d{}

使用 cURL 命令删除 PDF 页面

我们还可以使用 cURL 命令删除 PDF 页面。因此,请执行以下命令来删除 PDF 文件的第二页。

curl -v -X DELETE "https://api.aspose.cloud/v3.0/pdf/URL2PDF.pdf/pages/2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-d{}

结论

在本文中,我们讨论了如何使用 REST API 在 PDF 文档中添加或删除页面的详细信息和步骤。我们探索了使用 Python 代码片段或使用 cURL 命令来实现此要求的选项。Apsose.PDF Cloud SDK for Python 的完整源代码可通过 GitHub 下载。最后,如果您在使用 API 时遇到任何问题或有任何相关疑问,请随时通过 免费产品支持论坛 与我们联系。

相关文章

我们还建议您访问以下链接以了解更多信息: