יצירת קובץ Word DOCX דינמי באמצעות API C++ חינמי

ספריית C++ בקוד פתוח ליצירת מסמכי Word (פורמט .docx) ישירות מקוד C++. היא מאפשרת הוספת טבלאות ותמונות, יישום פורמטים וסטיילים לטקסט ועוד.

מהי DocxFactory?

DocxFactory היא ספרייה חזקה, חוצת פלטפורמות וקוד פתוח ב‑C++ שנועדה ליצירת קבצי Microsoft Word DOCX (פורמט OpenXML) באמצעות יצירת מסמכים מבוססי תבנית. ספרייה חינמית זו כוללת עטיפות למספר שפות תכנות כולל C#, Java, Python ו‑Progress 4GL, יחד עם כלי שורת פקודה. מה שמייחד את DocxFactory הוא הגישה המונעת תבניות, שמבטלת את הצורך של המפתחים להבין את פורמט הקובץ המורכב OpenXML. הספרייה כוללת תמיכה במגוון תכונות חשובות לעיבוד תמלילים, כגון יצירת מסמכים מבוססי תבנית, הוספה/הסרה של פסקאות או תמונות, עיצוב טקסט, עבודה עם טבלאות, מיזוג או פיצול תאים, ניהול רשימות, תמיכה ברב‑שפות, תמיכה נרחבת בקודי ברקוד, תמיכה במבנים פלט מרובים ועוד.

MiniDocx היא ספרייה מודרנית, קוד פתוח ב‑C++ המאפשרת למפתחים ליצור ולבצע מניפולציות על מסמכי Microsoft Word .docx באופן תכנותי — ללא צורך בהתקנת Microsoft Word או WPS Office. הארכיטקטורה של הספרייה בנויה סביב תקנים מודרניים של C++20, תוך ניצול הפיצ'רים העדכניים של השפה לביצועים טובים יותר, בטיחות טיפוסים ובירור קוד. אחת המאפיינים הבולטים של MiniDocx היא התאימות החוצת פלטפורמות שלה. הספרייה פועלת בצורה חלקה במערכות הפעלה Windows, Linux ו‑macOS, מה שהופך אותה לבחירה מצוינת למפתחים שבונים יישומים שצריכים לרוץ על פלטפורמות מרובות.

Previous Next

התחלה עם DocxFactory

הדרך המומלצת להתקנת DocxFactory היא דרך GitHub. אנא השתמשו בפקודה הבאה להתקנה חלקה

התקנת DocxFactory דרך GitHub

git clone https://github.com/DocxFactory/DocxFactory.git  
You can also download it directly from Aspose product page.

יצירת מסמכים מבוססי תבנית באמצעות C++

הפילוסופיה המרכזית של DocxFactory מתמקדת בפשטות. במקום לבנות מסמכים תכנותית רכיב ברכיב, אתה יוצר תבנית ב‑Microsoft Word — קובץ DOCX רגיל עם מצייני מיקום — ומשלב בו את הנתונים שלך. גישה זו מציעה יתרונות רבים, כגון פיתוח מהיר יותר, עריכה WYSIWYG ועוד. הנה דוגמה שימושית שמדגימה כיצד ליצור מסמכי Word חדשים מתבנית באמצעות ספריית C++.

איך ליצור מסמך חדש מתבנית באמצעות ספריית C++?

#include "DocxFactory/DocxMerger/DocxMerger.h"
#include "DocxFactory/DocxMerger/DocxMergerItem.h"

// Create a new document from template
DocxFactory::DocxMerger docxMerger;
DocxFactory::DocxMergerItem* item = docxMerger.load("template.docx");

// Set field values
item->setFieldValue("customer.name", "John Smith");
item->setFieldValue("invoice.date", "2024-01-15");
item->setFieldValue("invoice.total", 1250.75);

// Save generated document
docxMerger.save("generated_invoice.docx");

הוסף וניהול גרפים בקבצי Word באמצעות C++

ספריית DocxFactory בקוד פתוח תומכת במגוון רחב של קודי ברקוד חד‑ממדיים ודו‑ממדיים, כולל Code39, Code128, EAN, UPC, ISBN, Databar, קודי דואר, PDF417, Data Matrix, QR Code ו‑Maxi Code. קודי הברקוד מוכנסים כשדות בתבניות ומוצגים אוטומטית על סמך הנתונים שהוזנו. זה הופך אותם למתאימים למערכות ניהול מלאי, אפליקציות משלוח ולוגיסטיקה, פתרונות תיוג מוצרים, מערכות מעקב מסמכים, אינטגרציה של נקודות מכירה קמעונאיות ועוד.

הוסף תמונות ואילוסטרציות לקובץ Word DOCX

ספריית DocxFactory יכולה למלא נתוני גרפים בצורה דינאמית, מה שמאפשר ליצור ויזואליזציות מונעות נתונים. גרפים המוגדרים בתבנית שלך יכולים לקבל עדכון תכנותי של סדרות הנתונים, מה שמאפשר ליצור דשבורדים מנהליים ודוחות אנליטיים. הספרייה כוללת תמיכה ברשימה מלאה של יותר מ‑70 סוגי גרפים הזמינים ב‑Microsoft Word, כולל עמודות, קווים, פאי, בר, אזור, פיזור, מניות, משטח, דונט, בועה, רדאר ועוד. תכונה זו מאפשרת דוחות פיננסיים דינמיים עם ויזואליזציה בזמן אמת של נתונים, מסמכי ניתוח סטטיסטיים, דשבורדים של מודיעין עסקי, דוחות מחקר מדעי, תיעוד מעקב ביצועים ועוד.

סעיפים במסמך ועימוד

ספריית DocxFactory בקוד פתוח שומרת על העיצוב המקורי של Word בעוד שהיא מתאימה באופן דינאמי סטיילים בתוך יישומי C++. הספרייה כוללת תמיכה במגוון תכונות עיצוב כגון סגנונות גופנים, גדלים וצבעים, יישור ופיזור פסקאות, טבלאות עם גבולות מותאמים, כותרות ותחתיות, מספרי עמוד ושבירות חלקים, סגנונות ונושאים מותאמים, ועוד. המסמך שנוצר שומר על כל העיצוב מהתבנית, ומבטיח מיתוג עקבי והופעה מקצועית. הדוגמה הבאה של קוד מציגה כיצד מפתחים יכולים להחיל עיצוב מותנה על בסיס נתונים בתוך יישומי C++.

איך ליישם עיצוב מתקדם וסטיילינג בתוך מסמכי Word באמצעות ספריית C++?



// Advanced Conditional formatting based on data

item->setFieldValue("status.text", "OVERDUE");
item->setFieldValue("status.color", "#FF0000"); // Red color for overdue

// Dynamic table row formatting
for (size_t i = 0; i < invoiceItems.size(); i++) {
    if (i % 2 == 0) {
        item->setFieldValue("items.rowColor", "#F5F5F5");
    }
}
 עִברִית