Atvērtā pirmkoda Ruby bibliotēka Word dokumentu apstrādei
Bezmaksas Ruby API, kas programmatūras izstrādātājiem ļauj ģenerēt un rediģēt Microsoft Word failus, pārvaldīt galvenes un kājenes, ievietot un rediģēt tabulas un daudz ko citu.
Docx ir atvērtā pirmkoda JavaScript API, kas nodrošina iespēju viegli ģenerēt un pārvaldīt Word Docx failus savā JavaScript lietojumprogrammā. Bibliotēka var nevainojami darboties gan Node, gan pārlūkprogrammā. Bibliotēka ir ļoti stabila un ērti lietojama. Izmantojot tikai dažas koda rindiņas, izstrādātāji var izveidot Word dokumentus un manipulēt ar tiem bez jebkādām ārējām atkarībām.
DocX API ir iekļāvis atbalstu vairākām svarīgām funkcijām, kas saistītas ar darbu ar Word dokumentiem, piemēram, Word dokumentu izveidi, DOCX failu modificēšanu, rindkopas pievienošanu Word failam, galveņu un kājenju pievienošanu un pārvaldību, tabulu ievietošanu un rediģēšanu, aizzīmju un numerācijas atbalstu. , Satura izveides tabula, iestatiet dokumenta piemales, iestatiet lapas izmēru, teksta līdzinājumu, pārvaldiet fontus un fontu izmērus, izveidojiet dokumentu sadaļas un daudz ko citu.
Darba sākšana ar Docx
Ieteicamais instalēšanas veids ir npm izmantošana. Lūdzu, izmantojiet šo komandu savas lietojumprogrammas Gemfile
Instalējiet dokumentus, izmantojot npm
gem install docx
Rakstiet uz esošajiem DOCX failiem, izmantojot Ruby
Ruby Docx bibliotēka ļauj programmatūras izstrādātājiem atvērt esošos DOCX failus un atjaunināt faila saturu savās Ruby lietojumprogrammās. Lai atvērtu failu, jānorāda pareizais esošā DOCX faila ceļš. Kad varat piekļūt dokumentiem, varat viegli pievienot vienu teksta rindiņu vai rindkopas, aizstāt tekstu, noņemt nevēlamu saturu, modificēt esošo tekstu un tā tālāk. Kad viss ir pareizi pabeigts, varat saglabāt dokumentu norādītajā ceļā.
Kā rakstīt uz esošajiem DOCX failiem, izmantojot 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 faila lasīšana, izmantojot Ruby bibliotēku
Atvērtā koda Ruby Docx bibliotēka ir nodrošinājusi funkcionalitāti, lai piekļūtu MS Word DOCX failiem un tos lasītu, izmantojot pāris Ruby koda rindiņas. Izstrādātāji var viegli izveidot dokumenta objektu mūsu esošajam Docx failam un var izgūt un parādīt faila saturu tikai ar pāris Ruby koda rindiņām. Varat viegli parādīt noteiktu rindkopu vai grāmatzīmi. Varat arī parādīt failus no bufera.
Atveriet un lasiet esošo Docx failu, izmantojot 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
Tabulu lasīšana Word DOCX failos
Atvērtā pirmkoda Ruby DOCX bibliotēka sniedz programmatūras izstrādātājiem iespēju piekļūt un lasīt tabulām DOCX failā, izmantojot Ruby komandas. Varat viegli piekļūt tabulu rindām, kolonnām un šūnām, izmantojot tikai dažas koda rindiņas. Bibliotēka atbalsta iterāciju, izmantojot tabulas, rindu iterāciju un kolonnu iterāciju.
Kā lasīt tabulas Word dokumentos, izmantojot 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