Biblioteka Open Source Ruby do przetwarzania dokumentów Word
Darmowy interfejs API Ruby, który umożliwia programistom generowanie i edytowanie plików Microsoft Word, zarządzanie nagłówkami i stopkami, wstawianie i edytowanie tabel oraz wiele więcej.
Docx to interfejs API JavaScript typu open source, który zapewnia możliwość łatwego generowania i zarządzania plikami Word Docx we własnej aplikacji JavaScript. Biblioteka może bezproblemowo działać zarówno w węźle, jak iw przeglądarce. Biblioteka jest bardzo stabilna i łatwa w użyciu. Za pomocą zaledwie kilku linijek kodu programiści mogą tworzyć i manipulować dokumentami tekstowymi bez żadnych zewnętrznych zależności.
Interfejs API DocX zawiera obsługę kilku ważnych funkcji związanych z pracą z dokumentami Word, takich jak tworzenie dokumentów Word, modyfikowanie plików DOCX, dodawanie akapitu do pliku Word, dodawanie i zarządzanie nagłówkami i stopkami, wstawianie i edytowanie tabel, obsługa punktorów i numeracji , Tworzenie spisu treści, ustawianie marginesów dokumentu, ustawianie rozmiaru strony, wyrównanie tekstu, zarządzanie czcionkami i rozmiarami czcionek, tworzenie sekcji dokumentów i wiele innych.
Pierwsze kroki z Docx
Zalecanym sposobem instalacji jest użycie npm. Użyj następującego polecenia do pliku Gemfile swojej aplikacji
Zainstaluj Dokumenty przez npm
gem install docx
Napisz do istniejących plików DOCX przez Ruby
Biblioteka Ruby Docx umożliwia twórcom oprogramowania otwieranie istniejących plików DOCX i aktualizowanie zawartości pliku we własnych aplikacjach Ruby. Aby otworzyć plik, musisz podać poprawną ścieżkę istniejącego pliku DOCX. Gdy uzyskasz dostęp do dokumentów, możesz łatwo dodać pojedynczy wiersz tekstu lub akapity, zastąpić tekst, usunąć niechcianą zawartość, zmodyfikować istniejący tekst i tak dalej. Gdy wszystko zostanie poprawnie zakończone, możesz zapisać dokument pod określoną ścieżką.
Jak napisać do istniejących DOCX plików za pośrednictwem 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')
Czytanie pliku Docx przez bibliotekę Ruby
Biblioteka Ruby Docx o otwartym kodzie źródłowym zapewnia funkcjonalność umożliwiającą dostęp i odczytywanie plików MS Word DOCX przy użyciu kilku linijek kodu Rubiego. Deweloperzy mogą łatwo utworzyć obiekt dokumentu dla naszego istniejącego pliku Docx i mogą pobrać i wyświetlić zawartość pliku za pomocą zaledwie kilku linii kodu Rubiego. Z łatwością wyświetlasz określony akapit lub zakładkę. Możesz także wyświetlać pliki z bufora.
Otwórz i przeczytaj Istniejące 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
Czytanie tabel w plikach Word DOCX
Biblioteka Ruby DOCX o otwartym kodzie źródłowym daje programistom możliwość dostępu i odczytu tabel w pliku DOCX za pomocą poleceń Ruby. Możesz łatwo uzyskać dostęp do wierszy, kolumn i komórek tabel za pomocą zaledwie kilku wierszy kodu. Biblioteka obsługuje iterację po tabelach, iterację opartą na wierszach i iterację opartą na kolumnach.
Jak czytać tabele w dokumentach Word przez 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