Библиотека Ruby с открытым исходным кодом для обработки документов Word 

Бесплатный API Ruby, который позволяет разработчикам программного обеспечения создавать и редактировать файлы Microsoft Word, управлять верхними и нижними колонтитулами, вставлять и редактировать таблицы и многое другое.

Docx — это API JavaScript с открытым исходным кодом, который позволяет с легкостью создавать файлы Word Docx и управлять ими внутри собственного приложения JavaScript. Библиотека может без проблем работать как в узле, так и в браузере. Библиотека очень стабильна и проста в использовании. С помощью всего пары строк кода разработчики могут создавать текстовые документы и управлять ими без каких-либо внешних зависимостей.

DocX API включает поддержку нескольких важных функций, связанных с работой с документами Word, таких как создание документов Word, изменение файлов DOCX, добавление абзаца в файл Word, добавление и управление верхними и нижними колонтитулами, вставка и редактирование таблиц, поддержка маркеров и нумерации. , создание таблицы содержимого, установка полей документа, установка размера страницы, выравнивание текста, управление шрифтами и размерами шрифтов, создание разделов документа и многое другое.

Previous Next

Начало работы с Docx

Рекомендуемый способ установки — использование npm. Пожалуйста, используйте следующую команду для Gemfile вашего приложения

Установить документы через npm

 gem install docx

Запись в существующие файлы DOCX через Ruby

Библиотека Ruby Docx позволяет разработчикам программного обеспечения открывать существующие файлы DOCX и обновлять содержимое файла в своих собственных приложениях Ruby. Чтобы открыть файл, вам необходимо указать правильный путь к существующему файлу DOCX. Получив доступ к документам, вы можете легко добавлять одну строку текста или абзацы, заменять текст, удалять ненужное содержимое, изменять существующий текст и т. д. Как только все будет правильно завершено, вы можете сохранить документ по указанному пути.

Как написать существующим DOCX файлам через Ruby API

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')

Чтение файла Docx через библиотеку Ruby

Библиотека Ruby Docx с открытым исходным кодом предоставляет функциональные возможности для доступа и чтения файлов MS Word DOCX с использованием нескольких строк кода Ruby. Разработчики могут легко создать объект документа для нашего существующего файла Docx, а также получить и отобразить содержимое файла с помощью всего пары строк кода Ruby. Вы легко отображаете определенный абзац или закладку. Вы также можете отображать файлы из буфера.

Открыть и прочитать существующий Docx файл через Ruby API

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 с открытым исходным кодом дает разработчикам программного обеспечения возможность доступа и чтения таблиц внутри файла DOCX с помощью команд Ruby. Вы можете легко получить доступ к строкам, столбцам и ячейкам таблиц, написав всего пару строк кода. Библиотека поддерживает итерацию по таблицам, итерацию на основе строк и итерацию на основе столбцов.

Как читать таблицы в Word Documents через Ruby API

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
 Русский