Open Source Ruby Library til Word-dokumentbehandling
Gratis Ruby API, der gør det muligt for softwareudviklere at generere og redigere Microsoft Word-filer, administrere sidehoveder og sidefødder, indsætte og redigere tabeller og meget mere.
Docx er en open source JavaScript API, der giver mulighed for nemt at generere og administrere Word Docx-filer i deres egen JavaScript-applikation. Biblioteket kan problemfrit arbejde for Node såvel som på browseren. Biblioteket er meget stabilt og nemt at bruge. Med blot et par linjer kode kan udviklere oprette og manipulere word-dokumenter uden nogen eksterne afhængigheder.
DocX API har inkluderet understøttelse af adskillige vigtige funktioner relateret til arbejde med Word-dokumenter, såsom oprettelse af Word-dokumenter, ændring af DOCX-filer, tilføjelse af et afsnit til en word-fil, tilføjelse og styring af sidehoveder og sidefødder, indsættelse og redigering af tabeller, punkt- og nummereringsunderstøttelse , Oprettelse af indholdsfortegnelse, indstil dokumentmargener, indstil sidestørrelse, tekstjustering, Administrer skrifttyper og skriftstørrelser, oprettelse af dokumentsektioner og mange flere.
Kom godt i gang med Docx
Den anbefalede måde at installere på er at bruge npm. Brug venligst følgende kommando til din applikations Gemfile
Installer Docs via npm
gem install docx
Skriv til eksisterende DOCX-filer via Ruby
Ruby Docx-biblioteket gør det muligt for softwareudviklere at åbne eksisterende DOCX-filer og opdatere indholdet af en fil i deres egne Ruby-applikationer. For at åbne en fil skal du angive den korrekte sti til den eksisterende DOCX-fil. Når du har fået adgang til dokumenterne, kan du nemt tilføje en enkelt linje med tekst eller afsnit, erstatte tekst, fjerne uønsket indhold, ændre den eksisterende tekst og så videre. Når alt er korrekt gennemført, kan du gemme dokumentet på den angivne sti.
Sådan skriver du til eksisterende DOCX-filer via 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')
Læser Docx-fil via Ruby Library
Open source Ruby Docx-biblioteket har leveret funktionalitet til at få adgang til og læse MS word DOCX-filer ved hjælp af et par linjer Ruby-kode. Udviklere kan nemt oprette dokumentobjektet til vores eksisterende Docx-fil og kan hente og vise indholdet af filen med blot et par linjer Ruby-kode. Du får nemt vist et bestemt afsnit eller bogmærke. Du kan også vise filer fra en buffer.
Åbn og læs eksisterende Docx-fil 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
Læsning af tabeller i Word DOCX-filer
Open source Ruby DOCX-biblioteket giver softwareudviklere mulighed for at få adgang til og læse tabeller inde i en DOCX-fil ved hjælp af Ruby-kommandoer. Du kan nemt få adgang til rækker, kolonner og celler i tabeller med blot et par linjer kode. Biblioteket understøtter iteration gennem tabeller, rækkebaseret iteration og kolonnebaseret iteration.
Sådan læser du tabeller i Word-dokumenter via 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