DuckX
API C++ de código aberto para documentos OOXML do Word
Crie, leia, atualize e exporte arquivos DOCX do Microsoft Office Word dentro de aplicativos C++.
DuckX é uma biblioteca C++ gratuita de código aberto que permite que desenvolvedores de software trabalhem com o Microsoft Word (DOCX) dentro de seus próprios aplicativos. A API pode ler, escrever e editar documentos do MS Word, que possuem a extensão de arquivo .docx.
A API é muito estável e oferece suporte para muitos recursos importantes de processamento de texto, como criar e salvar documentos DOCX, adição de parágrafo, cabeçalho, inserção de texto, adição de tabelas, adição de imagens, estilos de parágrafo, aplicação de formatação de texto e muito mais.
Introdução ao DuckX
A maneira preferida é criar uma pasta de compilação.
Criar pasta de compilação para DuckX
git clone https://github.com/amiremohamadi/DuckX.git
cd DuckX
mkdir build
cd build
cmake ..
cmake --build;
API C++ para abrir e ler documentos do Word DOCX
A biblioteca DuckX permite que profissionais de software abram documentos existentes do Word DOCX dentro de seus próprios aplicativos sem usar o Microsoft Word. Você pode revisar parágrafos, execuções e imprimi-los. Ele também oferece funcionalidade para modificar documentos do Word, você também pode adicionar imagens, texto, fontes, formatação de texto e muito mais.
Como abrir e ler documentos do Word através de C++ API
#include
#include
int main() {
duckx::Document doc("file.docx");
doc.open();
for (auto p : doc.paragraphs())
for (auto r : p.runs())
std::cout << r.get_text() << std::endl;
}
Inserto e Tabela de Estrada dentro Word DOCX Arquivo
A biblioteca DuckX oferece aos desenvolvedores a capacidade de inserir tabelas em um documento Word DOCX dentro de aplicativos C++. As tabelas do MS Word desempenham um papel muito importante no layout de dados bem formatados. As tabelas são uma boa maneira de apresentar dados em linhas e colunas. Eles são muito simples de inserir e manipular em arquivos do Word.
Suporte de leitura de em documentos do Word via C++ API
#include "../src/duckx.hpp"
using namespace std;
// Print a paragraph and all children runs
void print_paragraph(duckx::Paragraph& p) {
for (auto r = p.runs(); r.has_next(); r.next()) {
cout << r.get_text() << endl;
}
}
int main() {
duckx::Document doc("my_test.docx");
doc.open();
cout << "Paragraph content:" << endl;
for (auto p = doc.paragraphs(); p.has_next(); p.next()) {
for (auto r = p.runs(); r.has_next(); r.next()) {
cout << r.get_text() << endl;
}
print_paragraph(p);
}
cout << "Table content:" << endl;
for (auto t = doc.tables(); t.has_next(); t.next()) {
for (auto tr = t.rows(); tr.has_next(); tr.next()) {
for (auto tc = tr.cells(); tc.has_next(); tc.next()) {
for (auto p = tc.paragraphs(); p.has_next(); p.next()) {
print_paragraph(p);
}
}
}
}
return 0;
}
Adicionando imagens a arquivos DOCX do Word
A biblioteca DuckX fornece funcionalidade para inserir imagens dentro do documento Word DOCX. Para adicionar uma imagem, você precisa fornecer o nome e o local da imagem. Os desenvolvedores também podem especificar a largura e a altura da imagem.