Biblioteca Ruby cu sursă deschisă pentru procesarea documentelor Word
API-ul Ruby gratuit care permite dezvoltatorilor de software să genereze și să editeze fișiere Microsoft Word, să gestioneze anteturile și subsolurile, să insereze și să editeze tabele și multe altele.
Docx este un API JavaScript open source care oferă capacitatea de a genera și gestiona cu ușurință fișierele Word Docx în cadrul propriei aplicații JavaScript. Biblioteca poate funcționa fără probleme atât pentru Node, cât și pentru Browser. Biblioteca este foarte stabilă și ușor de utilizat. Cu doar câteva linii de cod, dezvoltatorii pot crea și manipula documente Word fără dependențe externe.
API-ul DocX a inclus suport pentru mai multe caracteristici importante legate de lucrul cu documente Word, cum ar fi crearea de documente Word, modificarea fișierelor DOCX, adăugarea unui paragraf într-un fișier Word, adăugarea și gestionarea anteturilor și subsolurilor, inserarea și editarea tabelelor, suport pentru marcatori și numerotare , Crearea tabelului de conținut, setarea marginilor documentelor, setarea dimensiunii paginii, alinierea textului, Gestionarea fonturilor și dimensiunilor fonturilor, crearea secțiunilor de document și multe altele.
Noțiuni introductive cu Docx
Modul recomandat de instalare este utilizarea npm. Vă rugăm să utilizați următoarea comandă în fișierul Gemfile al aplicației dvs
Instalați Docs prin npm
gem install docx
Scrieți în fișierele DOCX existente prin Ruby
Biblioteca Ruby Docx permite dezvoltatorilor de software să deschidă fișiere DOCX existente și să actualizeze conținutul unui fișier în propriile aplicații Ruby. Pentru a deschide un fișier, trebuie să furnizați calea corectă a fișierului DOCX existent. Odată ce puteți avea acces la documente, puteți adăuga cu ușurință o singură linie de text sau paragrafe, înlocuiți text, eliminați conținutul nedorit, modificați textul existent și așa mai departe. Odată ce totul este finalizat corect, puteți salva documentul în calea specificată.
Cum să scrieți DOCX fișiere existente prin 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')
Citirea fișierului Docx prin Biblioteca Ruby
Biblioteca Ruby Docx cu sursă deschisă a oferit funcționalități pentru accesarea și citirea fișierelor MS Word DOCX folosind câteva linii de cod Ruby. Dezvoltatorii pot crea cu ușurință obiectul document pentru fișierul nostru Docx existent și pot prelua și afișa conținutul fișierului cu doar câteva rânduri de cod Ruby. Afișați cu ușurință un anumit paragraf sau marcaj. De asemenea, puteți afișa fișiere dintr-un buffer.
Open Read Existent Docx File via 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
Citirea tabelelor în fișierele Word DOCX
Biblioteca Ruby DOCX cu sursă deschisă oferă dezvoltatorilor de software capacitatea de a accesa și de a citi tabelele dintr-un fișier DOCX folosind comenzile Ruby. Puteți accesa cu ușurință rândurile, coloanele și celulele tabelelor cu doar câteva linii de cod. Biblioteca acceptă iterația prin tabele, iterația pe rânduri și iterația pe coloane.
Cum de a citi mesele în documente Word prin 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