Tạo tệp Word DOCX động qua API C++ miễn phí

Thư viện C++ DOCX mã nguồn mở để tạo tài liệu Word (.docx) trực tiếp từ mã C++. Nó cho phép Thêm Bảng & Hình ảnh, Áp dụng Định dạng & Kiểu dáng cho Văn bản & hơn thế nữa.

MiniDocx là gì?

Làm việc với tài liệu Microsoft Word một cách lập trình đã truyền thống là một nhiệm vụ khó khăn cho các lập trình viên C++, thường yêu cầu phụ thuộc nặng nề hoặc cài đặt phần mềm sở hữu. MiniDocx thay đổi bối cảnh này bằng cách cung cấp một giải pháp nhẹ, hiện đại và dễ dùng để tạo tài liệu Word trực tiếp từ các ứng dụng C++. Thư viện mã nguồn mở này loại bỏ nhu cầu cài đặt Microsoft Office hoặc WPS Office trong khi vẫn cung cấp chức năng mạnh mẽ cho việc thao tác tài liệu. MiniDocx đi kèm với các tính năng cần thiết bao phủ các khía cạnh cơ bản của việc tạo tài liệu Word. Nó hỗ trợ các phần, đoạn văn, định dạng văn bản phong phú, bảng, hình ảnh, kiểu dáng và danh sách. Bộ tính năng toàn diện này cho phép các nhà phát triển tạo ra tài liệu phức tạp, được định dạng tốt và đáp ứng các tiêu chuẩn chuyên nghiệp.

MiniDocx là một thư viện C++ hiện đại, mã nguồn mở cho phép các nhà phát triển tạo và thao tác tài liệu Microsoft Word .docx một cách lập trình — mà không cần cài đặt Microsoft Word hoặc WPS Office. Kiến trúc của thư viện được xây dựng dựa trên chuẩn C++20 hiện đại, tận dụng các tính năng ngôn ngữ mới nhất để tăng hiệu suất, an toàn kiểu và độ rõ ràng của mã. Một trong những đặc điểm nổi bật của MiniDocx là khả năng tương thích đa nền tảng. Thư viện hoạt động mượt mà trên Windows, Linux và macOS, làm cho nó trở thành lựa chọn tuyệt vời cho các nhà phát triển xây dựng ứng dụng cần chạy trên nhiều nền tảng.

Previous Next

Bắt đầu với MiniDocx

Cách cài đặt đề xuất cho MiniDocx là qua GitHub. Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ.

Cài đặt MiniDocx qua GitHub

git clone git@github.com:totravel/minidocx.git 
cd minidocx  
You can also download it directly from Aspose product page.

Tạo tài liệu Word Docx qua C++

Thư viện MiniDocx mã nguồn mở giúp các nhà phát triển phần mềm dễ dàng tạo và thao tác tài liệu Word Docx trong các ứng dụng C++. Thư viện đã bao gồm hỗ trợ áp dụng định dạng, thêm văn bản, bảng và hình ảnh vào tài liệu Word. Cách đơn giản nhất để hiểu MiniDocx là thông qua một ví dụ thực tế. Tạo một tài liệu Word cơ bản với văn bản định dạng cho thấy thiết kế API trực quan của thư viện và quy trình làm việc dễ hiểu.

Cách tạo Tài liệu Word dùng Thư viện C++?

#include "minidocx/minidocx.hpp"
#include 

int main()
{
  using namespace md;
  try {
    Document doc;
    SectionPointer sect = doc.addSection();

    ParagraphPointer para = sect->addParagraph();
    para->prop_.align_ = Alignment::Centered;

    RichTextPointer rich = para->addRichText("Happy Chinese New Year!");
    rich->prop_.fontSize_ = 32;
    rich->prop_.color_ = "FF0000";

    doc.saveAs("a.docx");
  }
  catch (const Exception& ex) {
    std::cerr << ex.what() << std::endl;
  }
  return 0;
}

Thêm Bảng vào Tài liệu qua Thư viện C++

Bảng là yếu tố quan trọng để trình bày dữ liệu có cấu trúc trong tài liệu Word, và MiniDocx cung cấp khả năng tạo và định dạng bảng toàn diện. Bảng gồm các hàng và ô, mỗi ô có thể chứa văn bản, định dạng và thậm chí nội dung lồng nhau. Tạo một bảng đòi hỏi một số bước: xác định cấu trúc bảng, thêm các hàng, điền nội dung vào các ô và áp dụng định dạng. Dưới đây là một ví dụ chi tiết cho thấy cách các nhà phát triển phần mềm có thể tạo một bảng định dạng trong ứng dụng C++.

Cách tạo Bảng Định dạng trong Tài liệu Word qua Thư viện C++?



#include "minidocx/minidocx.hpp"

int main()
{
  using namespace md;
  try {
    Document doc;
    SectionPointer sect = doc.addSection();

    // Create a table with 3 rows and 2 columns
    TablePointer table = sect->addTable(3, 2);

    // Access and populate cells
    // First row - header
    auto cell00 = table->cell(0, 0);
    auto para00 = cell00->addParagraph();
    auto text00 = para00->addRichText("Name");
    text00->prop_.bold_ = true;

    auto cell01 = table->cell(0, 1);
    auto para01 = cell01->addParagraph();
    auto text01 = para01->addRichText("Age");
    text01->prop_.bold_ = true;

    // Second row
    auto cell10 = table->cell(1, 0);
    auto para10 = cell10->addParagraph();
    para10->addRichText("Alice");

    auto cell11 = table->cell(1, 1);
    auto para11 = cell11->addParagraph();
    para11->addRichText("25");

    // Third row
    auto cell20 = table->cell(2, 0);
    auto para20 = cell20->addParagraph();
    para20->addRichText("Bob");

    auto cell21 = table->cell(2, 1);
    auto para21 = cell21->addParagraph();
    para21->addRichText("30");

    doc.saveAs("table_document.docx");
  }
  catch (const Exception& ex) {
    std::cerr << ex.what() << std::endl;
  }
  return 0;
}

Chèn Hình ảnh và Ảnh vào Tệp Word DOCX

Nội dung hình ảnh tăng cường khả năng đọc và sự thu hút của tài liệu, làm cho hỗ trợ hình ảnh trở thành một tính năng quan trọng đối với bất kỳ thư viện tạo tài liệu nào. MiniDocx cho phép các nhà phát triển phần mềm chèn hình ảnh vào tài liệu với kiểm soát kích thước và vị trí. Thêm hình ảnh vào tài liệu đòi hỏi chỉ định đường dẫn tệp hình ảnh và tùy chọn đặt kích thước. Dưới đây là một ví dụ cho thấy cách chèn hình ảnh vào tài liệu Word qua thư viện C++.

Cách chèn Hình ảnh vào Tài liệu Word qua thư viện C++?

#include "minidocx/minidocx.hpp"

int main()
{
  using namespace md;
  try {
    Document doc;
    SectionPointer sect = doc.addSection();

    // Add a paragraph before the image
    ParagraphPointer para1 = sect->addParagraph();
    para1->addRichText("Below is an important diagram:");

    // Add a paragraph containing the image
    ParagraphPointer para2 = sect->addParagraph();
    para2->prop_.align_ = Alignment::Centered;

    // Insert the picture
    PicturePointer pic = para2->addPicture("path/to/image.png");
    pic->prop_.width_ = 400;
    pic->prop_.height_ = 300;

    // Add a paragraph after the image
    ParagraphPointer para3 = sect->addParagraph();
    para3->addRichText("Figure 1: Important visualization");

    doc.saveAs("document_with_image.docx");
  }
  catch (const Exception& ex) {
    std::cerr << ex.what() << std::endl;
  }
  return 0;
}

Các phần trong tài liệu và Bố cục Trang

Các phần cung cấp khung cho việc kiểm soát các thuộc tính bố cục trang trong tài liệu Word. Mỗi phần có thể có các thiết lập trang khác nhau, bao gồm kích thước trang, hướng, lề, header và footer. Kiến trúc dựa trên phần này cho phép tạo ra các bố cục tài liệu phức tạp với các cấu hình trang đa dạng. Một trường hợp sử dụng điển hình cho nhiều phần là tạo tài liệu có cả trang dọc và ngang, chẳng hạn như báo cáo có bảng hoặc biểu đồ rộng đòi hỏi chế độ hiển thị ngang. Dưới đây là một ví dụ cho thấy cách làm việc với nhiều phần trong tài liệu Word trong ứng dụng C++.

Cách làm việc với Nhiều Phần của Tài liệu Word qua Thư viện C++?


#include "minidocx/minidocx.hpp"

int main()
{
  using namespace md;
  try {
    Document doc;

    // First section with portrait orientation
    SectionPointer sect1 = doc.addSection();
    sect1->prop_.orientation_ = Orientation::Portrait;
    sect1->prop_.pageWidth_ = 8.5 * 1440; // Letter size in twips
    sect1->prop_.pageHeight_ = 11 * 1440;

    ParagraphPointer para1 = sect1->addParagraph();
    para1->addRichText("This is content in portrait orientation.");

    // Second section with landscape orientation
    SectionPointer sect2 = doc.addSection();
    sect2->prop_.orientation_ = Orientation::Landscape;
    sect2->prop_.pageWidth_ = 11 * 1440;
    sect2->prop_.pageHeight_ = 8.5 * 1440;

    ParagraphPointer para2 = sect2->addParagraph();
    para2->addRichText("This content appears in landscape orientation.");

    doc.saveAs("multi_section_document.docx");
  }
  catch (const Exception& ex) {
    std::cerr << ex.what() << std::endl;
  }
  return 0;
}

 Tiếng Việt