API Ruby miễn phí để tạo và xử lý DOCX Word 

Thư viện mã nguồn mở Ruby cung cấp cho lập trình viên khả năng tạo tài liệu Office Word chuyên nghiệp, sửa đổi tệp DOCX, thêm lề trang, chèn bảng lồng nhau bằng cú pháp giống HTML.

Thư viện Caracal cung cấp cho các nhà phát triển Ruby khả năng tạo các tài liệu Office Word chuyên nghiệp bên trong các ứng dụng của riêng họ bằng cách sử dụng cú pháp giống HTML. Thư viện giúp công việc của Nhà phát triển trở nên dễ dàng bằng cách cho phép họ sử dụng một số lệnh đơn giản để tạo và quản lý Office Open XML (OOXML). Thư viện là mã nguồn mở và được cung cấp theo giấy phép của MIT.

Thư viện được thiết kế rất tốt và nó tách biệt hướng dẫn phân tích cú pháp tài liệu với hướng dẫn xử lý. Chiến lược này mang lại cho quá trình kết xuất một mức độ linh hoạt cao. Thư viện đã kết hợp một số tính năng quan trọng liên quan đến xử lý tài liệu văn bản như tạo tài liệu văn bản, đặt kích thước trang, hỗ trợ lề trang, ngắt trang, số trang, hỗ trợ phông chữ, hỗ trợ kiểu và định dạng, thêm đoạn văn, sử dụng liên kết và dấu trang, chèn bảng, hỗ trợ bảng lồng nhau, hỗ trợ hình ảnh và nhiều hơn nữa.

Previous Next

Bắt đầu với Caracal

Vui lòng thêm Gemfile của ứng dụng lệnh sau để sử dụng thư viện suôn sẻ.

Cài đặt Caracal bằng cách thêm mã vào Gemfile của Ứng dụng

 gem 'caracal'

Cài đặt Caracal bằng cách thêm mã vào Gemfile của Ứng dụng

bundle install

Tạo tệp Word Docx bằng Ruby

Thư viện Caracal mã nguồn mở cho phép các nhà phát triển Ruby tạo các tệp DOCX bên trong ứng dụng của họ bằng cách sử dụng mã Ruby. Định dạng tệp DOCX là một tập hợp các tài liệu XML được nén và được tạo bằng tiêu chuẩn OOXML. Thư viện giúp lập trình viên bằng cách tạo ra toàn bộ cấu trúc của tài liệu và nén nó thành các tài liệu đầu ra. Thư viện hỗ trợ sửa đổi các tệp hiện có, điều chỉnh kích thước trang, đặt lề, áp dụng kiểu và hơn thế nữa.

Tạo tài liệu từ thông qua thư viện Ruby Caracas

Caracal::Document.save 'example.docx' do |docx|
  # page 1
  docx.h1 'Page 1 Header'
  docx.hr
  docx.p
  docx.h2 'Section 1'
  docx.p  'Lorem ipsum dolor....'
  docx.p
  docx.table @my_data, border_size: 4 do
    cell_style rows[0], background: 'cccccc', bold: true
  end
  # page 2
  docx.page
  docx.h1 'Page 2 Header'
  docx.hr
  docx.p
  docx.h2 'Section 2'
  docx.p  'Lorem ipsum dolor....'
  docx.ul do
    li 'Item 1'
    li 'Item 2'
  end
  docx.p
  docx.img 'https://www.example.com/logo.png', width: 500, height: 300
end

Thêm bảng và bảng lồng nhau trong tệp Word

Thư viện Caracal miễn phí cho phép các nhà phát triển phần mềm thêm và sửa đổi các bảng vào tài liệu word của họ chỉ với vài dòng mã Ruby. Thư viện đã bao gồm một số chức năng quan trọng liên quan đến quản lý bảng như thêm tiêu đề, thêm cột và hàng mới, tạo kiểu trên cùng, dưới cùng hoặc trái & phải, áp dụng kiểu cho một ô cụ thể, hợp nhất hoặc chia ô và nhiều hơn nữa. Thư viện cũng bao gồm hỗ trợ cho các bảng lồng nhau.

Sử dụng danh sách bên trong tài liệu Word

Thư viện Caracal mã nguồn mở đã bao gồm hỗ trợ sử dụng danh sách bên trong tệp DOCX bằng các lệnh Ruby. Thư viện cho phép thêm danh sách có thứ tự cũng như không có thứ tự bên trong tài liệu word. Nó cũng hỗ trợ danh sách lồng nhau sâu và trộn lẫn trong sự kết hợp khác. Bạn có thể dễ dàng xác định kiểu cho danh sách. Thư viện hỗ trợ 9 cấp kiểu mặc định cho cả danh sách có thứ tự và không có thứ tự.

Làm thế nào để sử dụng danh sách trong tài liệu từ thông qua thư viện Ruby

docx.ol do
  li 'First item'
  li do
    text 'Second item with a '
    link 'link', 'http://www.google.com'
    text '.'
    br
    text 'This sentence follows a line break.'
  end
end

Chèn Đoạn văn và Dấu trang vào Tệp DOCX

Thư viện Caracal đã cung cấp chức năng thêm đoạn văn vào tài liệu word của họ một cách dễ dàng. Thư viện đã bao gồm một số chức năng liên quan đến xử lý đoạn văn, chẳng hạn như căn chỉnh văn bản, chọn phông chữ, xác định màu phông chữ và màu nền cài đặt cỡ chữ, áp dụng căn chỉnh dọc, v.v. Nó cũng cung cấp hỗ trợ để chèn dấu trang trực tiếp vào tài liệu hoặc bên trong các khối đoạn văn một cách dễ dàng.

Thêm dấu vào tài liệu từ thông qua thư viện Ruby

# document-level bookmark
dox.bookmark_start id: 's1', name: 'section1'
docx.h2 'Section Heading'
docx.bookmark_end id: 's1'
docx.p  'Section content.'
# pargraph-level bookmark
docx.h2 'Section Heading'
docx.p do
  text 'Pretend this paragraph has a lot of text and we want to bookmark '
  bookmark_start id: 'p1', name: 'phrase1'
  text 'a single phrase'
  bookmark_end id: 'p1'
  text ' inside the larger block.'
end
 Tiếng Việt