1. 产品
  2.   字处理
  3.   Ruby
  4.   Docx
 
  

用于 Word 文档处理的开源 Ruby 库 

免费的 Ruby API,使软件开发人员能够生成和编辑 Microsoft Word 文件、管理页眉和页脚、插入和编辑表格等等。

Docx 是一个开源 JavaScript API,它提供了在自己的 JavaScript 应用程序中轻松生成和管理 Word Docx 文件的能力。该库可以在 Node 和浏览器上顺利运行。该库非常稳定且易于使用。只需几行代码,开发人员就可以创建和操作 Word 文档,而无需任何外部依赖。

DocX API 包含对与处理 Word 文档相关的几个重要功能的支持,例如创建 Word 文档、修改 DOCX 文件、向 Word 文件添加段落、添加和管理页眉和页脚、插入和编辑表格、项目符号和编号支持、目录创建、设置文档边距、设置页面大小、文本对齐、管理字体和字体大小、文档部分创建等等。

Previous Next

开始使用 Docx

推荐的安装方式是使用 npm。请对您的应用程序的 Gemfile 使用以下命令

通过 npm 安装文档

 gem install docx

通过 Ruby 写入现有 DOCX 文件

Ruby Docx 库使软件开发人员能够打开现有的 DOCX 文件并更新他们自己的 Ruby 应用程序中的文件内容。要打开文件,您需要提供现有 DOCX 文件的正确路径。一旦您可以访问文档,您就可以轻松地添加单行文本或段落、替换文本、删除不需要的内容、修改现有文本等等。一切都正确完成后,您可以将文档保存到指定路径。

如何通过Ruby API写到现有的DOCX个文件

require 'docx'
doc = Docx::Document.open('example.docx')
doc.bookmarks['example_bookmark'].insert_text_after("Hello world.")
# Insert multiple lines of text at our bookmark
doc.bookmarks['example_bookmark_2'].insert_multiple_lines_after(['Hello', 'World', 'foo'])
# Remove paragraphs
doc.paragraphs.each do |p|
  p.remove! if p.to_s =~ /TODO/
end
# Substitute text, preserving formatting
doc.paragraphs.each do |p|
  p.each_text_run do |tr|
    tr.substitute('_placeholder_', 'replacement value')
  end
end
# Save document to specified path
doc.save('example-edited.docx')

通过 Ruby 库读取 Docx 文件

开源 Ruby Docx 库提供了使用几行 Ruby 代码访问和读取 MS Word DOCX 文件的功能。开发人员可以轻松地为我们现有的 Docx 文件创建文档对象,并且只需几行 Ruby 代码即可检索和显示文件的内容。您可以轻松显示特定段落或书签。您还可以显示缓冲区中的文件。

通过Ruby打开现有的Docx文件

require 'docx'
# Create a Docx::Document object for our existing docx file
doc = Docx::Document.open('example.docx')
# Retrieve and display paragraphs
doc.paragraphs.each do |p|
  puts p
end
# Retrieve and display bookmarks, returned as hash with bookmark names as keys and objects as values
doc.bookmarks.each_pair do |bookmark_name, bookmark_object|
  puts bookmark_name
end

读取 Word DOCX 文件中的表格

开源 Ruby DOCX 库使软件开发人员能够使用 Ruby 命令访问和读取 DOCX 文件中的表。只需几行代码,您就可以轻松访问表格的行、列和单元格。该库支持遍历表、基于行的迭代和基于列的迭代。

如何通过Ruby API读取Word文档中的表

require 'docx'
# Create a Docx::Document object for our existing docx file
doc = Docx::Document.open('tables.docx')
first_table = doc.tables[0]
puts first_table.row_count
puts first_table.column_count
puts first_table.rows[0].cells[0].text
puts first_table.columns[0].cells[0].text
# Iterate through tables
doc.tables.each do |table|
  table.rows.each do |row| # Row-based iteration
    row.cells.each do |cell|
      puts cell.text
    end
  end
  table.columns.each do |column| # Column-based iteration
    column.cells.each do |cell|
      puts cell.text
    end
  end
end
 中国人