Word Sənədlərinin Emalı üçün Açıq Mənbəli Ruby Kitabxanası
Proqram tərtibatçılarına Microsoft Word fayllarını yaratmaq və redaktə etmək, başlıq və altbilgiləri idarə etmək, cədvəlləri daxil etmək və redaktə etmək və s. imkan verən pulsuz Ruby API.
Docx açıq mənbəli JavaScript API-dir və Word Docx fayllarını öz JavaScript proqramlarında asanlıqla yaratmaq və idarə etmək imkanı verir. Kitabxana Brauzerdə olduğu kimi Node üçün də rahat işləyə bilər. Kitabxana çox sabitdir və istifadəsi asandır. Yalnız bir neçə sətir kodla tərtibatçılar heç bir xarici asılılıq olmadan söz sənədləri yarada və manipulyasiya edə bilərlər.
DocX API Word sənədlərinin yaradılması, DOCX fayllarının dəyişdirilməsi, word faylına paraqraf əlavə edilməsi, başlıq və altbilgilərin əlavə edilməsi və idarə edilməsi, cədvəllərin daxil edilməsi və redaktə edilməsi, güllə və nömrələmə dəstəyi kimi Word sənədləri ilə işləmək üçün bir neçə vacib funksiyaya dəstək daxildir. , Məzmun yaratma cədvəli, sənəd kənarlarını təyin edin, səhifə ölçüsünü təyin edin, mətnin hizalanması, Şriftləri və şrift ölçülərini idarə edin, sənəd bölmələrinin yaradılması və s.
Docx ilə işə başlamaq
Quraşdırmanın tövsiyə olunan yolu npm-dən istifadə etməkdir. Zəhmət olmasa tətbiqinizin Gemfaylına aşağıdakı əmrdən istifadə edin
Sənədləri npm vasitəsilə quraşdırın
gem install docx
Ruby vasitəsilə mövcud DOCX fayllarına yazın
Ruby Docx kitabxanası proqram tərtibatçılarına mövcud DOCX fayllarını açmağa və öz Ruby proqramlarında faylın məzmununu yeniləməyə imkan verir. Faylı açmaq üçün mövcud DOCX faylının düzgün yolunu təmin etməlisiniz. Sənədlərə giriş əldə etdikdən sonra siz asanlıqla bir sətir mətn və ya paraqraf əlavə edə, mətni əvəz edə, arzuolunmaz məzmunu silə, mövcud mətni dəyişdirə və s. edə bilərsiniz. Hər şey düzgün şəkildə tamamlandıqdan sonra sənədi göstərilən yola saxlaya bilərsiniz.
Ruby API vasitəsilə mövcud DOCX fayllarına necə yazmaq olar
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')
Ruby Kitabxanası vasitəsilə Docx faylının oxunması
Açıq mənbəli Ruby Docx kitabxanası Ruby kodunun bir neçə sətirindən istifadə edərək MS word DOCX fayllarına daxil olmaq və oxumaq üçün funksionallıq təmin etmişdir. Tərtibatçılar mövcud Docx faylımız üçün asanlıqla sənəd obyekti yarada və faylın məzmununu yalnız bir neçə sətir Ruby kodu ilə əldə edə və göstərə bilərlər. Siz asanlıqla müəyyən paraqrafı və ya əlfəcin göstərə bilərsiniz. Siz həmçinin buferdən faylları göstərə bilərsiniz.
Ruby API vasitəsilə mövcud Docx faylını açın və oxuyun
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
Word DOCX fayllarında cədvəllərin oxunması
Açıq mənbəli Ruby DOCX kitabxanası proqram tərtibatçılarına Ruby əmrlərindən istifadə edərək DOCX faylı daxilində cədvəllərə daxil olmaq və oxumaq imkanı verir. Siz sadəcə bir neçə sətir kodla cədvəllərin sətirlərinə, sütunlarına və xanalarına asanlıqla daxil ola bilərsiniz. Kitabxana cədvəllər vasitəsilə iterasiyanı, Sətir əsaslı iterasiyanı və Sütun əsaslı iterasiyanı dəstəkləyir.
Ruby API vasitəsilə Word sənədlərində cədvəlləri necə oxumaq olar
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