Thư viện Ruby mã nguồn mở để xử lý tài liệu Word 

API Ruby miễn phí cho phép các nhà phát triển phần mềm tạo và chỉnh sửa các tệp Microsoft Word, quản lý đầu trang và chân trang, chèn và chỉnh sửa bảng, v.v.

Docx là một API JavaScript mã nguồn mở cung cấp khả năng tạo và quản lý các tệp Word Docx bên trong ứng dụng JavaScript của riêng chúng một cách dễ dàng. Thư viện có thể hoạt động trơn tru cho Node cũng như trên Browser. Thư viện rất ổn định và dễ sử dụng. Chỉ với một vài dòng mã, các nhà phát triển có thể tạo và thao tác các tài liệu word mà không cần bất kỳ sự phụ thuộc nào từ bên ngoài.

API DocX đã bao gồm hỗ trợ cho một số tính năng quan trọng liên quan đến việc làm việc với tài liệu Word như tạo tài liệu Word, sửa đổi tệp DOCX, thêm đoạn văn vào tệp word, thêm và quản lý đầu trang & chân trang, chèn và chỉnh sửa bảng, hỗ trợ đầu trang và đánh số , Tạo bảng nội dung, đặt lề tài liệu, đặt kích thước trang, căn lề văn bản, Quản lý phông chữ và kích thước phông chữ, tạo phần tài liệu và nhiều hơn nữa.

Previous Next

Bắt đầu với Docx

Cách được khuyến nghị để cài đặt là sử dụng npm. Vui lòng sử dụng lệnh sau cho Gemfile của ứng dụng của bạn

Cài đặt Tài liệu qua npm

 gem install docx

Ghi vào các tệp DOCX hiện có qua Ruby

Thư viện Ruby Docx cho phép các nhà phát triển phần mềm mở các tệp DOCX hiện có và cập nhật nội dung của tệp bên trong các ứng dụng Ruby của riêng họ. Để mở tệp, bạn cần cung cấp đường dẫn chính xác của tệp DOCX hiện có. Khi bạn có quyền truy cập vào các tài liệu, bạn có thể dễ dàng thêm một dòng văn bản hoặc đoạn văn, thay thế văn bản, xóa nội dung không mong muốn, sửa đổi văn bản hiện có, v.v. Khi mọi thứ được hoàn thành đúng cách, bạn có thể lưu tài liệu vào đường dẫn được chỉ định.

Cách ghi vào các tệp DOCX hiện có thông qua API Ruby

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')

Đọc tệp Docx qua Thư viện Ruby

Thư viện Ruby Docx mã nguồn mở đã cung cấp chức năng để truy cập và đọc các tệp MS word DOCX bằng cách sử dụng một vài dòng mã Ruby. Các nhà phát triển có thể dễ dàng tạo đối tượng tài liệu cho tệp Docx hiện có của chúng tôi và có thể truy xuất và hiển thị nội dung của tệp chỉ với một vài dòng mã Ruby. Bạn dễ dàng hiển thị một đoạn hoặc dấu trang cụ thể. Bạn cũng có thể hiển thị các tệp từ bộ đệm.

Mở cửa và đọc hồ sơ Docx thông qua 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

Đọc bảng trong tệp Word DOCX

Thư viện Ruby DOCX mã nguồn mở cung cấp cho các nhà phát triển phần mềm khả năng truy cập và đọc các bảng bên trong tệp DOCX bằng các lệnh Ruby. Bạn có thể dễ dàng truy cập các hàng, cột và ô của bảng chỉ với một vài dòng mã. Thư viện hỗ trợ lặp qua bảng, lặp dựa trên hàng và lặp dựa trên cột.

Làm thế nào để đọc bảng trong tài liệu từ 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
 Tiếng Việt