如何使用 Ruby 将 PDF 转换为可编辑的 Word 文档

如何使用Ruby 将 PDF 转换为可编辑的Word 文档

您可以使用 GroupDocs.Conversion Cloud API 以编程方式轻松地将任何 PDF 文档转换为可编辑的 Word 文档。 GroupDocs.Conversion 将允许您使用 Microsoft Word 更新 PDF 文档的内容。作为 Ruby on Rails 开发人员,您可以在云端以编程方式将 PDF 文件转换为 Word 文档(DOC 或 DOCX)。在本文中,我们将学习如何使用 Ruby 云 REST API 将 PDF 转换为可编辑的 Word 文档。

本博客教程应涵盖以下主题:

PDF 转换 REST API 和 Ruby SDK

要将 PDF 转换为 DOCX,我将使用 GroupDocs.Conversion 的 Ruby SDK Cloud REST API。它是一种独立于平台的文档和图像转换解决方案,无需依赖任何额外的工具或软件。它使您能够快速轻松地将任何 supp 的图像和文档转换为您需要的任何格式。您可以在 MS Word、PowerPoint, Excel、PDF、HTML、CAD 和光栅图像等 50 多种类型的文档和图像之间进行可靠的转换。GroupDocs.Conversion 还提供 Python、.NET、Java、PHP、Android 和 Node。 Node.js SDK 作为其 文档转换家族成员 用于 Cloud API。

您可以在 Ruby on Rails 应用程序控制台中使用以下命令在 Ruby 应用程序中安装 GroupDocs.Conversion Cloud:

gem install groupdocs_conversion_cloud

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

# 免费注册后,从 https://dashboard.groupdocs.cloud 获取您的 client_id 和 client_secret。
# 在你的 ruby 应用程序中为 http://api.groupdocs.cloud 加载 gem

require 'groupdocs_conversion_cloud'
@client_id = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
@client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# 在此处添加您的存储名称
@groupdocs_storage = "MyStorage"

使用 Ruby Cloud SDK 将 PDF 转换为可编辑的 Word 文档

您可以按照如下所示的简单步骤,以编程方式在云端将 PDF 文件转换为可编辑的 Word 文档:

  1. 上传PDF文件到云端
  2. 转换 使用 Ruby 将 PDF 转换为 DOCX
  3. 下载转换后的DOCX文件

上传 PDF 文件

首先,使用以下代码示例将 PDF 文件上传到云存储:

# API 初始化:创建转换 API 的实例
@fileApi = GroupDocsConversionCloud::FileApi.from_keys(@client_id, @client_secret)

# 上传文件到云存储

@pdffile = "#{Rails.root}/public/groupdocs-files/four-pages.pdf"
@fileStream = File.new(@pdffile, "r")

@request = GroupDocsConversionCloud::UploadFileRequest.new('conversion/four-pages.pdf', @fileStream, @groupdocs_storage)
@response = @fileApi.upload_file(@request)

@fileStream.close()

puts("File Uploading completed." + (@response).to_s )

因此,上传的 PDF 文件将在云端仪表板的 文件部分 中可用。接下来,按照以下步骤以编程方式将 PDF 转换为 DOCX 文档:

  • 首先,创建一个 ConvertApi 的实例
  • 创建 ConvertSettings 的实例
  • 设置 PDF 文件路径并将“docx”分配给格式。
  • 创建 PdfLoadOptions 的实例
  • 设置所需的 loadOptions,如下面的代码所示。
  • 创建 DocxConvertOptions 的实例
  • 设置所需的 convertOptions,如下面的代码所示。
  • 现在将转换选项和输出文件夹路径设置为设置对象。
  • 创建 ConvertDocumentRequest 的实例
  • 通过以转换请求对象作为参数调用 convert\document() 方法进行转换。

使用 Ruby 将 PDF 转换为 DOCX

以下代码示例显示了如何使用 Ruby 中的 REST API 将 PDF 转换为 Word 文档。

# API 初始化:创建转换 API 的实例
@fileApi = GroupDocsConversionCloud::ConvertApi.from_keys(@client_id, @client_secret)

@settings = GroupDocsConversionCloud::ConvertSettings.new()
@settings.storage_name = @groupdocs_storage;
@settings.file_path = "conversion/four-pages.pdf"
@settings.format = "docx"

@loadOptions = GroupDocsConversionCloud::PdfLoadOptions.new()
@loadOptions.password = "password"
@loadOptions.hide_pdf_annotations = true
@loadOptions.remove_embedded_files = false
@loadOptions.flatten_all_fields = true

@settings.load_options = @loadOptions

@convertOptions = GroupDocsConversionCloud::DocxConvertOptions.new()
@convertOptions.from_page = 1
@convertOptions.pages_count = 1

@settings.convert_options = @convertOptions
@settings.output_path = "conversion"

@request = GroupDocsConversionCloud::ConvertDocumentRequest.new(@settings)

@response = @fileApi.convert_document(@request)
puts("Document converted successfully: " + (@response).to_s)
使用 Ruby 中的 REST API 将 PDF 转换为可编辑的 Word

使用 Ruby 中的 REST API 将 PDF 转换为可编辑的 Word

下载转换后的 DOCX 文件

上面的代码示例将转换后的 DOCX 文件保存在云存储中。现在,您还可以使用以下代码示例下载它:

# API 初始化:创建转换 API 的实例
@fileApi = GroupDocsConversionCloud::FileApi.from_keys(@client_id, @client_secret)

# 下载文件请求

@request = GroupDocsConversionCloud::DownloadFileRequest.new("conversion/four-pages.docx", @groupdocs_storage)
@response = @fileApi.download_file(@request)
    
puts("File download successfully completed." + (@response).to_s )

使用高级选项将 PDF 转换为 Word

您还可以按照以下步骤使用高级选项将 Word 文档转换为 ruby 中的 PDF 文件:

  • 首先,创建 ConvertApi 的一个实例。
  • 现在,使用 ConvertSettings 创建 ConvertDocumentRequest
  • 然后,将结果文件的输入PDF文件路径和格式设置为“docx”
  • 现在,创建 PdfLoadOptions 的实例。
  • 为 loadOptions 和其他选项设置密码
  • 接下来,创建 DocxConvertOptions 的实例
  • 提供加载\选项和输出\路径设置。
  • 最后,通过使用 ConvertDocumentRequest 调用 convert\document() 方法来转换 PDF

以下代码示例显示了如何使用高级转换选项将 PDF 转换为 Word 文档。请按照前面提到的步骤上传 Pdf 文件,然后下载 word 文件。

# 完整的示例和数据文件,请访问 https://github.com/groupdocs-conversion-cloud/groupdocs-conversion-cloud-ruby-samples

# API 初始化:创建转换 API 的实例
@fileApi = GroupDocsConversionCloud::转变Api.from_keys(@client_id, @client_secret)
 
# 准备转换设置
@settings = GroupDocsConversionCloud::转变Settings.new
@settings.file_path = "conversion/four-pages.pdf"
@settings.format = "docx"
 
loadOptions = GroupDocsConversionCloud::PdfLoadOptions.new
loadOptions.password = ""
loadOptions.hide_pdf_annotations = true
loadOptions.remove_embedded_files = false
loadOptions.flatten_all_fields = true
 
@settings.load_options = loadOptions
@settings.convert_options = GroupDocsConversionCloud::Docx转变Options.new
@settings.output_path = "conversion"
 
# 转变
result = @fileApi.convert_document(GroupDocsConversionCloud::转变DocumentRequest.new(@settings))

puts("File converted successfully completed.")

因此,PDF 文件将使用 ruby 应用程序中的高级文件选项转换为 Word DOCX 文件。

在线试用

如何在线将 PDF 转换为 Word?请尝试以下免费的在线 PDF 到 DOCX 转换工具,它是使用上述 API 开发的,适用于任何具有现代浏览器(如 Chrome 和 Firefox)的设备。

结论

在本文中,我们学习了如何在云上的 ruby 中将 PDF 转换为 Word DOCX 文档。您还学习了如何使用 Ruby 使用高级选项将 PDF 转换为 Word 文档。本文还介绍了如何以编程方式将 PDF 文件上传到云端,然后从云端下载转换后的 DOCX 文件。您可以使用 文档 了解有关 GroupDocs.Conversion Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以通过任何现代浏览器直接查看我们的 API 并与之交互。

问一个问题

如果您对我们的 PDF 到 DOCX 转换器有任何疑问,请随时在 论坛 上询问我们。

也可以看看

对于支持的文档转换,我们推荐以下相关链接: