Open Source Ruby Library pro zpracování dokumentů Word
Bezplatné rozhraní Ruby API, které umožňuje vývojářům softwaru generovat a upravovat soubory Microsoft Word, spravovat záhlaví a zápatí, vkládat a upravovat tabulky a mnoho dalšího.
Docx je open source JavaScript API, které poskytuje možnost snadno generovat a spravovat soubory Word Docx uvnitř jejich vlastní JavaScriptové aplikace. Knihovna může bez problémů fungovat pro Node i v prohlížeči. Knihovna je velmi stabilní a snadno se používá. S pouhými několika řádky kódu mohou vývojáři vytvářet a manipulovat s dokumenty aplikace Word bez jakýchkoli externích závislostí.
DocX API obsahuje podporu pro několik důležitých funkcí souvisejících s prací s dokumenty aplikace Word, jako je vytváření dokumentů aplikace Word, úprava souborů DOCX, přidávání odstavce do souboru aplikace Word, přidávání a správa záhlaví a zápatí, vkládání a úpravy tabulek, podpora odrážek a číslování. , Vytvoření tabulky obsahu, nastavení okrajů dokumentu, nastavení velikosti stránky, zarovnání textu, Správa písem a velikostí písem, vytváření sekcí dokumentu a mnoho dalších.
Začínáme s Docx
Doporučený způsob instalace je pomocí npm. Použijte prosím následující příkaz k Gemfile vaší aplikace
Nainstalujte Dokumenty přes npm
gem install docx
Zápis do existujících souborů DOCX přes Ruby
Knihovna Ruby Docx umožňuje vývojářům softwaru otevírat existující soubory DOCX a aktualizovat obsah souboru v jejich vlastních aplikacích Ruby. Chcete-li otevřít soubor, musíte zadat správnou cestu k existujícímu souboru DOCX. Jakmile budete mít přístup k dokumentům, můžete snadno přidat jeden řádek textu nebo odstavců, nahradit text, odstranit nežádoucí obsah, upravit stávající text a tak dále. Jakmile je vše správně dokončeno, můžete dokument uložit do zadané cesty.
Jak se zaregistrovat k existujícím DOCX souborů pomocí 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')
Čtení souboru Docx prostřednictvím knihovny Ruby
Knihovna Ruby Docx s otevřeným zdrojovým kódem poskytuje funkce pro přístup a čtení souborů MS word DOCX pomocí několika řádků kódu Ruby. Vývojáři mohou snadno vytvořit objekt dokumentu pro náš stávající soubor Docx a mohou načíst a zobrazit obsah souboru pomocí pouhých několika řádků kódu Ruby. Snadno zobrazíte konkrétní odstavec nebo záložku. Můžete také zobrazit soubory z vyrovnávací paměti.
Otevřete & Přečtěte si Stávající Docx Soubor přes 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
Čtení tabulek v souborech Word DOCX
Knihovna Ruby DOCX s otevřeným zdrojovým kódem poskytuje vývojářům softwaru možnost přistupovat k tabulkám v souboru DOCX a číst je pomocí příkazů Ruby. Pomocí několika řádků kódu můžete snadno přistupovat k řádkům, sloupcům a buňkám tabulek. Knihovna podporuje iteraci pomocí tabulek, iteraci založenou na řádcích a iteraci založenou na sloupcích.
Jak číst tabulky v dokumentech aplikace Word prostřednictvím 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