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.

Previous Next

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
 Polski