如何使用 Python 在线从 PDF 文件中提取页面

在 Python 中在线从 PDF 文件中提取页面

在某些情况下,您可能需要从 PDF 文档中提取 PDF 页,或者可能需要将大型 PDF 文档分成较小的 PDF 文件。作为 Python 开发人员,您可以轻松地在线从 PDF 文件中提取特定页面,或者以编程方式按页面范围提取 PDF 页面。在本文中,您将学习如何使用 REST API 在 Python 中在线从 PDF 文件中提取页面。

本文将涵盖以下主题:

文档提取器 REST API 和 Python SDK

为了在线从 PDF 文件中提取 PDF 页面,我将使用 GroupDocs.Merger Cloud API 的 Python SDK。它是一个功能丰富的高性能 Cloud SDK。此 Python API 使您能够将 PDF 页面从单个文档提取到多个文件中。 SDK 提供重新排列、删除、交换、旋转或更改整个页面或首选页面范围的页面方向的功能。它还支持对任何支持的文件格式(如 PDF、Word、PowerPoint, Excel 工作表等)进行其他操作。目前,它支持 .NET、Java、PHP、Ruby、Android 和 Node.js SDK 作为其文档合并 Cloud API 的家庭成员。

您可以在控制台中使用以下命令将 GroupDocs.Merger-Cloud 安装到您的 Python 项目中:

pip install groupdocs_merger_cloud

在开始执行步骤和可用代码示例之前,请从 仪表板 获取您的客户端 ID 和客户端密码。获得 ID 和密码后,添加如下所示的代码:

# 导入groupdocs合并SDK
import groupdocs_merger_cloud

# 免费注册后,从 https://dashboard.groupdocs.cloud 获取 app_sid 和 app_key。
app_sid = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
app_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# 获取文件 API 配置 
configuration = groupdocs_merger_cloud.Configuration(app_sid, app_key)
configuration.api_base_url = "https://api.groupdocs.cloud"
storage_name = "LocalStorage"

如何使用 REST API 在 Python 中从 PDF 中提取特定页面

我们的 PDF 拆分器 API 允许您预览要拆分的页面。您只需提供要提取的页数即可选择页面。立即将您的 PDF 分成单独的页面,或从新的 PDF 文档中提取特定页面。按照下面提到的简单步骤从在线 PDF 文件中提取 PDF 页面:

  1. 上传 PDF文件到云端。
  2. 提取 Python 中按页码排列的 PDF 页面。
  3. 下载 提取的文件。

上传文件

首先,使用下面给出的代码片段将多页 PDF 文档上传到云端:

# 将 PDF 文件上传到云存储
# 创建文件 API 的实例
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)

# 调用上传文件请求
request = groupdocs_merger_cloud.UploadFileRequest("python-testing\sample-file.pdf", "H:\\groupdocs-cloud-data\\sample-file.pdf", storage_name)

# 上传PDF文件到云端
response = file_api.upload_file(request)
print(response.uploaded)

因此,PDF 文件将上传到 Cloud Storage,并可在仪表板的 文件部分 中找到。我们会在上传后 24 小时内从云端永久删除您的所有文件。

使用 Python 按页码提取特定页面

要以编程方式从 PDF 文档中提取特定页面或多页,请按照以下步骤操作:

  • 首先,创建一个 PagesApi 实例
  • 其次,提供 ExtractOptions 实例
  • 现在,使用 FileInfo 实例设置输入文件路径
  • 接下来,设置输出目录路径
  • 然后,提供以逗号分隔的页码以提取
  • 接下来,将模式设置为页面
  • 接下来,创建 ExtractRequest 实例
  • 最后,通过调用 pagesApi.extract() 类获取结果

以下代码示例展示了如何使用 REST API 从 PDF 文档中提供特定页码来提取页面:

# 如何使用 REST API 在 Python 中从 PDF 中提取特定页面
try:
    # 创建页面 API 的实例
    pagesApi = groupdocs_merger_cloud.PagesApi.from_keys(app_sid, app_key)
     
    options = groupdocs_merger_cloud.ExtractOptions()
    options.file_info = groupdocs_merger_cloud.FileInfo("python-testing/sample-file.pdf")
    options.output_path = "python-testing"
    options.pages = [2, 4, 7]        
     
    result = pagesApi.extract(groupdocs_merger_cloud.ExtractRequest(options))
    print("Successfully extracted certain pages of PDF document: " + result[0].path)
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))

下载提取的 PDF 页面文件

上面的代码示例会将提取的页面保存在云中单独的 PDF 文件中。您可以使用以下代码示例下载它们:

# API初始化以下载转换后的文件
import shutil
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)

# 创建下载文件请求
request = groupdocs_merger_cloud.DownloadFileRequest("python-testing\sample-file.pdf", storage_name)

# 下载转换后的文件
response = file_api.download_file(request)

# 将下载的文件移动到您的目录
shutil.move(response, "H:\\groupdocs-cloud-data\\")

使用 REST API 在 Python 中按页面范围从 PDF 中提取页面

请按照下面提到的步骤通过以编程方式提供页面范围来从 PDF 文档中提取页面。

  • 首先,创建一个 PagesApi 实例
  • 接下来,设置 ExtractOptions
  • 使用 FileInfo 实例设置输入文件路径
  • 接下来,设置输出目录路径
  • 通过设置要提取的起始页码和结束页码来提供页面范围
  • 现在,将模式间隔设置为页面
  • 将 rangemode 设置为 EvenPages 或 OddPages
  • 接下来,创建 ExtractRequest 实例
  • 最后调用pagesApi.extract()方法得到结果

以下代码示例展示了如何使用 REST API 通过提供 PDF 文档的页面范围来提取页面。请按照前面提到的步骤上传文件。

# 如何使用 REST API 在 Python 中按页面范围从 PDF 中提取页面
try:
    # 创建文档 API 的实例
    pagesApi = groupdocs_merger_cloud.PagesApi.from_keys(app_sid, app_key)
     
    options = groupdocs_merger_cloud.ExtractOptions()
    options.file_info = groupdocs_merger_cloud.FileInfo("python-testing\sample-file.pdf")
    options.output_path = "python-testing"
    options.start_page_number = 1
    options.end_page_number = 10
    options.range_mode = "EvenPages" # or set range_mode to "OddPages"
    options.mode = "Pages" # Mode Intervals
     
    result = pagesApi.extract(groupdocs_merger_cloud.ExtractRequest(options))
    print("Successfully extract selected pages from PDF by page range interval: " + result[0].path)
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))

免费在线 PDF 页面提取器

如何免费从pdf中提取页面?请尝试以下使用上述 API 开发的免费在线 PDF 提取工具

加起来

这使我们得出了博客文章的结论。我希望你已经学会了:

  • 如何在 Python 中从 PDF 文档中提取特定页面;
  • 以编程方式上传 PDF 文件,然后从云端下载提取的文件;
  • 如何使用 Python 使用页面范围提取 PDF 文件页面;

您可以使用 文档 了解有关 GroupDocs.Merger Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。

在我们的 入门页面 上,您可能会发现更多详细信息。

此外,Groupdocs.cloud 不断更新新主题。因此,随时了解最新的 API 信息。

问一个问题

您可以通过我们的免费支持论坛 询问有关 PDF 页面提取软件 API 的问题

常见问题

如何在 Python 中从 PDF 文件中提取页面?

请点击 此链接 了解有关如何使用 Python 从 PDF 文件中提取页面的 Python 代码片段。

如何使用 REST API 在线从 PDF 文档中提取页面?

创建 PagesApi 的实例,设置 ExtractOptions 的值,并使用 ExtractRequest 调用 pagesApi.extract() 方法以在线保存选定的 PDF 文件页面。

如何安装 PDF 页面提取器免费下载库?

从 PDF 中提取页面的一种简单方法是使用 Python SDK。您可以安装 PDF 提取器 Python 库,以编程方式从 PDF 文件中提取多个页面。

如何在 Windows 中离线提取 PDF 页面?

请访问此链接 下载适用于 windows 的 PDF 提取软件。这个 PDF 提取器免费下载软件将在 Windows 中快速拆分 PDF 页面,只需单击一下。

也可以看看