Δημιουργία Δυναμικού Αρχείου Word DOCX μέσω Δωρεάν C++ API

Open Source C++ DOCX Βιβλιοθήκη για δημιουργία εγγράφων Word (.docx Μορφή) απευθείας από κώδικα C++. Επιτρέπει την προσθήκη πινάκων & εικόνων, την εφαρμογή φορμών & στυλ σε κείμενο & πολλά άλλα.

Τι είναι το MiniDocx;

Η εργασία με έγγραφα Microsoft Word προγραμματιστικά ήταν παραδοσιακά μια προκλητική εργασία για προγραμματιστές C++, που συχνά απαιτούσε βαριές εξαρτήσεις ή ιδιόκτητες εγκαταστάσεις λογισμικού. Η MiniDocx αλλάζει αυτό το τοπίο προσφέροντας μια ελαφριά, σύγχρονη και φιλική προς το χρήστη λύση για τη δημιουργία εγγράφων Word απευθείας από εφαρμογές C++. Αυτή η βιβλιοθήκη ανοιχτού κώδικα εξαλείφει την ανάγκη εγκατάστασης Microsoft Office ή WPS Office, παρέχοντας παράλληλα ισχυρή λειτουργικότητα για την επεξεργασία εγγράφων. Η MiniDocx περιλαμβάνει βασικές δυνατότητες που καλύπτουν τις θεμελιώδεις πτυχές της δημιουργίας εγγράφων Word. Υποστηρίζει ενότητες, παραγράφους, πλούσια μορφοποίηση κειμένου, πίνακες, εικόνες, στυλ και λίστες. Αυτό το ολοκληρωμένο σύνολο χαρακτηριστικών επιτρέπει στους προγραμματιστές να δημιουργούν σύνθετα, καλά μορφοποιημένα έγγραφα που πληρούν τα επαγγελματικά πρότυπα.

Η MiniDocx είναι μια σύγχρονη, ανοιχτού κώδικα βιβλιοθήκη C++ που επιτρέπει στους προγραμματιστές να δημιουργούν και να διαχειρίζονται έγγραφα Microsoft Word .docx προγραμματιστικά — χωρίς την ανάγκη εγκατάστασης Microsoft Word ή WPS Office. Η αρχιτεκτονική της βιβλιοθήκης βασίζεται στα σύγχρονα πρότυπα C++20, αξιοποιώντας τις πιο πρόσφατες λειτουργίες της γλώσσας για βελτιωμένη απόδοση, ασφάλεια τύπων και καθαρό κώδικα. Ένα από τα χαρακτηριστικά που ξεχωρίζουν της MiniDocx είναι η υποστήριξη πολλαπλών πλατφορμών. Η βιβλιοθήκη λειτουργεί άψογα σε Windows, Linux και macOS, καθιστώντας την εξαιρετική επιλογή για προγραμματιστές που δημιουργούν εφαρμογές που πρέπει να τρέχουν σε πολλές πλατφόρμες.

Previous Next

Ξεκινώντας με το MiniDocx

Ο συνιστώμενος τρόπος εγκατάστασης της MiniDocx είναι μέσω GitHub. Παρακαλούμε χρησιμοποιήστε την παρακάτω εντολή για ομαλή εγκατάσταση.

Εγκατάσταση MiniDocx μέσω GitHub

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

Δημιουργία Εγγράφου Word Docx μέσω C++

Η ανοιχτού κώδικα βιβλιοθήκη MiniDocx διευκολύνει τους προγραμματιστές λογισμικού στη δημιουργία και διαχείριση εγγράφων Word Docx μέσα σε εφαρμογές C++. Η βιβλιοθήκη περιλαμβάνει υποστήριξη για εφαρμογή μορφοποίησης, προσθήκη κειμένου, πινάκων και εικόνων σε έγγραφα Word. Ο πιο απλός τρόπος για να κατανοήσετε τη MiniDocx είναι μέσω ενός πρακτικού παραδείγματος. Η δημιουργία ενός βασικού εγγράφου Word με μορφοποιημένο κείμενο δείχνει το διαισθητικό σχεδιασμό του API και την απλή ροή εργασίας της βιβλιοθήκης.

Πώς να δημιουργήσετε έγγραφα Word χρησιμοποιώντας τη 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;
}

Προσθήκη Πινάκων σε Έγγραφα μέσω C++ Βιβλιοθήκης

Οι πίνακες είναι απαραίτητοι για την παρουσίαση δομημένων δεδομένων σε έγγραφα Word, και η MiniDocx προσφέρει ολοκληρωμένες δυνατότητες δημιουργίας και μορφοποίησης πινάκων. Οι πίνακες αποτελούνται από σειρές και κελιά, με κάθε κελί να μπορεί να περιέχει κείμενο, μορφοποίηση και ακόμη και ένθετο περιεχόμενο. Η δημιουργία πίνακα περιλαμβάνει αρκετά βήματα: καθορισμός της δομής του πίνακα, προσθήκη σειρών, γέμισμα των κελιών με περιεχόμενο και εφαρμογή μορφοποίησης. Εδώ είναι ένα λεπτομερές παράδειγμα που δείχνει πώς οι προγραμματιστές λογισμικού μπορούν να δημιουργήσουν μορφοποιημένο πίνακα σε εφαρμογές C++.

Πώς να δημιουργήσετε μορφοποιημένο πίνακα σε έγγραφο Word μέσω 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;
}

Εισαγωγή Εικόνων και Σχεδίων σε Word DOCX Αρχείο

Το οπτικό περιεχόμενο βελτιώνει την αναγνωσιμότητα και την ενασχόληση των εγγράφων, καθιστώντας τη υποστήριξη εικόνων κρίσιμη λειτουργία για οποιαδήποτε βιβλιοθήκη δημιουργίας εγγράφων. Η MiniDocx επιτρέπει σε προγραμματιστές λογισμικού να εισάγουν εικόνες στα έγγραφα με έλεγχο του μεγέθους και της τοποθέτησης. Η προσθήκη εικόνων σε ένα έγγραφο απαιτεί καθορισμό της διαδρομής αρχείου της εικόνας και, προαιρετικά, ορισμό διαστάσεων. Εδώ είναι ένα παράδειγμα που δείχνει πώς να εισάγετε μια εικόνα σε έγγραφο Word μέσω της βιβλιοθήκης C++.

Πώς να εισάγετε εικόνα σε έγγραφο Word μέσω 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;
}

Ενότητες Εγγράφου και Σελιδοποίηση

Οι ενότητες παρέχουν το πλαίσιο ελέγχου των ιδιοτήτων διάταξης σελίδας στα έγγραφα Word. Κάθε ενότητα μπορεί να έχει διαφορετικές ρυθμίσεις σελίδας, περιλαμβάνοντας μέγεθος σελίδας, προσανατολισμό, περιθώρια, κεφαλίδες και υποσέλιδα. Αυτή η αρχιτεκτονική με βάση τις ενότητες επιτρέπει σύνθετες διατάξεις εγγράφων με διαφορετικές ρυθμίσεις σελίδας. Ένα τυπικό σενάριο χρήσης για πολλαπλές ενότητες είναι η δημιουργία εγγράφων με τόσο κάθετες όσο και οριζόντιες σελίδες, όπως αναφορές που περιέχουν ευρείους πίνακες ή γραφήματα που απαιτούν οριζόντιο προσανατολισμό. Εδώ είναι ένα παράδειγμα που δείχνει πώς να εργαστείτε με πολλαπλές ενότητες σε έγγραφα Word μέσα σε εφαρμογές C++.

Πώς να εργαστείτε με πολλαπλές ενότητες εγγράφων Word μέσω 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;
}

 Ελληνικά