Ruby библиотека с отворен код за обработка на Word документи 

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

Docx е JavaScript API с отворен код, който предоставя възможност за лесно генериране и управление на Word Docx файлове в тяхното собствено JavaScript приложение. Библиотеката може безпроблемно да работи за Node, както и в браузъра. Библиотеката е много стабилна и лесна за използване. Само с няколко реда код разработчиците могат да създават и манипулират текстови документи без никакви външни зависимости.

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 с отворен код предоставя функционалност за достъп и четене на DOCX файлове на MS word с помощта на няколко реда 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 документи чрез 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
 Български