使用 REST API 在 Ruby 中将 Word 文档转换为 PDF

如何使用 Ruby 将 Word 文档转换为 PDF

DOCX 是世界上最流行的文字处理器之一。但是,MS DOCX 会重新格式化文档,并且可以在不同的计算机系统上打开时进行更改。虽然 PDF 文件对移动设备友好,易于阅读且无法更改。这就是为什么用户在发送在线账单、交易历史和讲义等重要信息时将 word 文档转换为 ruby 中的 PDF 的原因。

现在您知道为什么要将 Word 文档转换为 PDF 文件了吧。您可以使用 Microsoft Office 提供的内置功能将 Word DOCX 转换为 PDF,但您可能需要以编程方式将 Word 文档 DOCX 转换为 PDF。使用 Groupdocs 转换 API 将您的 Word 文档转换为 PDF 是快速、简单和即时的。您所需要的只是稳定的互联网连接和您的文件。在本文中,我们将学习如何使用 REST API 在 Ruby 中将 Word 文档转换为 PDF。

本博客文章应涵盖以下主题:

Word 到 PDF 转换 REST API - Ruby API 安装

您可以使用 GroupDocs.Conversion Cloud 的 Ruby SDK 轻松地将 DOCX 文件 转换为 PDF。它可以帮助您快速可靠地将支持的文件格式的文档转换为其他文档格式 - 只需几秒钟,而且质量很高。 GroupDocs.Conversion Cloud REST API 允许您在范围广泛的支持的文件格式 中转换文档,而无需任何依赖软件。它兼容所有主要的办公软件,并且完全独立于操作系统。

GroupDocs.Conversion 提供高质量的文档转换解决方案。您可以在 此处 查看我们可用的 SDK 列表,以使用我们的云 REST API 将文档转换为新格式。您还可以使用 GroupDocs.Conversion Cloud API 参考 Swagger UI 直接从浏览器调用此 REST API。 rubygems 提供了 gem groupdocsconversioncloud。您可以安装 GroupDocs.Conversion Cloud API,使用此 gem 在 Rails 控制台中使用以下命令在 Ruby 应用程序中将 word 文档转换为 PDF:

gem install groupdocs_conversion_cloud

Addressable ~> 2.5.0, >= 2.5.0 是 groupdocsconversioncloud 的运行时依赖 gem。您还可以将转换 gem 复制到 Gemfile 中以与 GroupDocs.Conversion Cloud API 通信,然后运行 bundle install:

gem "groupdocs_conversion_cloud", "~> 22.3"
bundle install

接下来,您需要在向 GroupDocs Conversion Cloud API 发出任何请求之前添加一个 Client Id 和一个 Client Secret。这将用于调用 GroupDocs Cloud API 到您现有的项目中。您可以通过在 Groupdocs 仪表板 上创建一个新的 应用程序获取客户端凭据。获得客户端 ID 和客户端密码后,将它们添加到 ruby 代码片段中,如下所示:

# 免费注册后,从 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" 

使用 REST API 在 Ruby 中将 Word 文档转换为 PDF

您可以按照以下简单步骤在云端以编程方式将 Word 文档转换为 PDF:

  1. 上传DOCX文件到云端
  2. 转换 DOCX转PDF文件
  3. 下载转换后的PDF文件
  4. 删除 文件从云存储

1\。上传 DOCX 文件

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

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

# 上传文件到云存储

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

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

@fileStream.close()

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

因此,上传的 DOCX 文件将在云上的 仪表板文件部分 中可用。

2.使用 Ruby 将 DOCX 转换为 PDF

您可以按照以下步骤以编程方式将 DOCX 转换为 PDF 文件:

  • 首先,创建 FileApi 的实例。
  • 接下来,创建 ConvertSettings 的实例。
  • 然后,设置输入 DOCX 文件路径。
  • 提供输出文件的格式为“pdf”。
  • 现在,将输出目录路径提供为“转换”。
  • 接下来,使用提供的设置创建 ConvertDocumentRequest。
  • 最后,以 ConvertDocumentRequest 作为参数调用 convert\document() 方法。

以下代码片段显示了如何在 Ruby 中使用 REST API 将 DOCX 转换为 PDF。

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

# 准备转换文件设置
settings = GroupDocsConversionCloud::转变Settings.new
settings.file_path = "four-pages.docx"
settings.format = "pdf"
settings.output_path = "conversion"

# 转变
result = @fileApi.convert_document(GroupDocsConversionCloud::转变DocumentRequest.new(settings))

puts("Word file successfully converted to pdf file.")
使用 Ruby 将 DOCX 转换为 PDF

使用 Ruby 将 DOCX 转换为 PDF

3.下载转换后的文件

转换后的 PDF 文件已保存在云端。以下代码片段演示了如何使用 Ruby 下载文件:

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

# 下载文件请求

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

4\。从云存储中删除文件

您可以使用如下代码示例删除转换后的 PDF 文件:

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

# 从存储中删除文件请求

@request = GroupDocsConversionCloud::DeleteFileRequest.new("conversion/four-pages.docx", @groupdocs_storage)
@response = @fileApi.delete_file(@request)

puts("File successfully deleted from storage." + (@response).to_s )

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

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

  • 首先,创建 FileApi 的实例。
  • 现在,使用 ConvertSettings 创建 ConvertDocumentRequest
  • 然后,设置输入 DOCX 文件路径。
  • 将结果文件的格式提供为“pdf”。
  • 现在,创建 DocxLoadOptions 的实例。
  • 为 loadOptions 设置密码
  • 接下来,创建 PdfConvertOptions 的实例
  • 然后,设置各种转换选项,如中心\窗口、显示\文档\标题、边距、图像\质量和字体等。
  • 提供加载\选项、转换\选项和输出\路径设置。
  • 最后,通过使用 ConvertDocumentRequest 调用 convert\document() 方法来转换 DOCX

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

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

# 高级文件选项
# 准备并设置转换设置

settings = GroupDocsConversionCloud::ConvertSettings.new
settings.file_path = "four-pages.docx"
settings.format = "pdf"
 
loadOptions = GroupDocsConversionCloud::DocxLoadOptions.new
loadOptions.password = "password"

convertOptions = GroupDocsConversionCloud::PdfConvertOptions.new
convertOptions.center_window = true
convertOptions.compress_images = false
convertOptions.display_doc_title = true
convertOptions.dpi = 1024.0
convertOptions.fit_window = false
convertOptions.from_page = 1
convertOptions.grayscale = false
convertOptions.image_quality = 100
convertOptions.linearize = false
convertOptions.margin_top = 5
convertOptions.margin_left = 5
convertOptions.password = "password"
convertOptions.unembed_fonts = true
convertOptions.remove_unused_streams = true
convertOptions.remove_unused_objects = true
convertOptions.remove_pdfa_compliance = false
 
settings.load_options = loadOptions
settings.convert_options = convertOptions
settings.output_path = "advance_options"
 
# 转换文档 
result = @fileApi.convert_document(GroupDocsConversionCloud::ConvertDocumentRequest.new(settings))

puts("Word file successfully converted to pdf file with advance file options.")

因此,Word DOCX 文件将使用高级文件选项转换为 PDF 文件。

免费的 DOCX 到 PDF 在线转换器

如何在线将Word转PDF?我们的免费在线 PDF 转换器将从您的 Word 文档创建 PDF。此在线 PDF 转换器是使用 Groupdocs Conversion API 开发的,可保留文件的布局。 免费将文档 DOCX 转换为 PDF 与原始 PDF 文件完全相同。

结论

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

问一个问题

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

也可以看看

我们建议使用支持的文档转换的相关链接: