Atvirojo kodo „Ruby“ biblioteka, skirta „Word“ dokumentų apdorojimui 

Nemokama Ruby API, leidžianti programinės įrangos kūrėjams generuoti ir redaguoti Microsoft Word failus, tvarkyti antraštes ir poraštes, įterpti ir redaguoti lenteles ir dar daugiau.

„Docx“ yra atvirojo kodo „JavaScript“ API, suteikianti galimybę lengvai generuoti ir valdyti „Word Docx“ failus savo „JavaScript“ programoje. Biblioteka gali sklandžiai veikti ir Node, ir naršyklėje. Biblioteka yra labai stabili ir paprasta naudoti. Turėdami vos kelias kodo eilutes, kūrėjai gali kurti ir valdyti Word dokumentus be jokių išorinių priklausomybių.

„DocX API“ palaiko keletą svarbių funkcijų, susijusių su darbu su „Word“ dokumentais, pvz., „Word“ dokumentų kūrimą, DOCX failų keitimą, pastraipos įtraukimą į „Word“ failą, antraščių ir poraštių pridėjimą ir tvarkymą, lentelių įterpimą ir redagavimą, ženklelių ir numeravimo palaikymą. , Turinio kūrimo lentelė, dokumentų paraščių nustatymas, puslapio dydžio nustatymas, teksto lygiavimas, šriftų ir šriftų dydžių tvarkymas, dokumentų sekcijų kūrimas ir daug daugiau.

Previous Next

Darbo su „Docx“ pradžia

Rekomenduojamas diegimo būdas yra npm. Naudokite šią komandą savo programos Gemfile

Įdiekite dokumentus per npm

 gem install docx

Rašykite į esamus DOCX failus per Ruby

Ruby Docx biblioteka leidžia programinės įrangos kūrėjams atidaryti esamus DOCX failus ir atnaujinti failo turinį savo Ruby programose. Norėdami atidaryti failą, turite nurodyti teisingą esamo DOCX failo kelią. Kai turėsite prieigą prie dokumentų, galite lengvai pridėti vieną teksto eilutę ar pastraipas, pakeisti tekstą, pašalinti nepageidaujamą turinį, modifikuoti esamą tekstą ir pan. Kai viskas bus tinkamai atlikta, galite įrašyti dokumentą nurodytu keliu.

Kaip rašyti į esamus DOCX failus per 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 failo skaitymas per Ruby biblioteką

Atvirojo kodo Ruby Docx biblioteka suteikė galimybę pasiekti ir skaityti MS Word DOCX failus naudojant kelias Ruby kodo eilutes. Kūrėjai gali lengvai sukurti dokumento objektą esamam „Docx“ failui ir nuskaityti bei parodyti failo turinį naudodami tik kelias „Ruby“ kodo eilutes. Galite lengvai parodyti tam tikrą pastraipą ar žymę. Taip pat galite rodyti failus iš buferio.

Atidarykite ir skaitykite esamą „Docx“ failą naudodami „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

Lentelių skaitymas Word DOCX failuose

Atvirojo kodo Ruby DOCX biblioteka suteikia programinės įrangos kūrėjams galimybę pasiekti ir skaityti lenteles DOCX faile naudojant Ruby komandas. Galite lengvai pasiekti lentelių eilutes, stulpelius ir langelius naudodami tik kelias kodo eilutes. Biblioteka palaiko kartojimą per lenteles, iteraciją eilutėmis ir stulpeliais pagrįstą iteraciją.

Kaip skaityti lenteles Word dokumentuose per 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
 Lietuvių