واجهة برمجة تطبيقات C++ مجانية لإنشاء ملفات Word DOCX تعتمد على القوالب
مكتبة معالجة Word مجانية ومفتوحة المصدر رائدة مكتوبة بـ C++ تتيح إنشاء وتحرير ودمج وتحويل ملفات Word DOCX برمجيًا. أضف مخططات الرموز الشريطية، النص، الصور وطَبّق التنسيق.
ما هو DocxFactory؟
DocxFactory هي مكتبة C++ قوية ومفتوحة المصدر متعددة المنصات صُممت لإنشاء ملفات Microsoft Word DOCX (بتنسيق OpenXML) من خلال إنشاء المستندات بناءً على القوالب. هذه المكتبة المجانية تأتي مع أُطر عمل للغات برمجة متعددة بما فيها C#، Java، Python، وProgress 4GL، بالإضافة إلى أدوات سطر الأوامر. ما يميز DocxFactory هو نهجه القائم على القوالب الذي يلغي الحاجة للمطورين لفهم تنسيق OpenXML المعقد. تشمل المكتبة دعمًا لمميزات معالجة النص الهامة مثل إنشاء المستندات بناءً على القوالب، إدراج/إزالة فقرات أو صور، تنسيق النص، التعامل مع الجداول، دمج أو تقسيم الخلايا، إدارة القوائم، دعم متعدد اللغات، دعم شامل للرموز الشريطية، دعم تنسيقات إخراج متعددة، وغيرها.
DocxFactory هي مكتبة C/C++ ناضجة ومجانية ومتعددة المنصات (مع أُطر عمل متعددة اللغات) تُبسّط العمل مع ملفات Microsoft Word .docx. المكتبة متعددة المنصات وتعمل بسلاسة على أنظمة التشغيل الرئيسية (Windows، UNIX/Linux) — مما يمنح مرونة النشر على الخوادم أو الأجهزة المكتبية أو الأنظمة المدمجة. المكتبة مرخصة تحت رخصة Apache 2.0، مما يجعلها مجانية بالكامل للاستخدام الخاص والتجاري دون أي قيود على المميزات أو الفترة الزمنية. سواءً كنت تقوم بإنشاء أنظمة تقارير مؤسسية، أو تدفقات عمل مستندات آلية، أو تطبيقات دمج بريد بسيطة، فإن DocxFactory توفر الأدوات اللازمة لتوليد مستندات احترافية بفعالية.
البدء مع 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");
دعم شامل للرموز الشريطية في DOCX
تدعم مكتبة DocxFactory مفتوحة المصدر مجموعة واسعة من الرموز الشريطية أحادية وثنائية الأبعاد، بما في ذلك Code39، Code128، EAN، UPC، ISBN، Databar، الرموز البريدية، PDF417، Data Matrix، QR Code، وMaxi Code. يتم إدراج الرموز الشريطية كحقول في القوالب وتُ render تلقائيًا بناءً على البيانات التي تقدمها. هذا يجعلها مثالية لأنظمة إدارة المخزون، تطبيقات الشحن واللوجستيات، حلول وضع العلامات على المنتجات، أنظمة تتبع المستندات، تكامل نقاط البيع بالتجزئة، وغيرها.
إضافة وإدارة المخططات في ملفات Word عبر C++
يمكن لمكتبة DocxFactory تعبئة بيانات المخططات ديناميكيًا، مما يسمح بإنشاء تصورات بصرية مدفوعة بالبيانات. يمكن للمخططات المعرفة في القالب تحديث سلاسل البيانات برمجيًا، مما يجعل من الممكن توليد لوحات معلومات تنفيذية وتقارير تحليلية. تشمل المكتبة دعمًا لقائمة كاملة من أكثر من 70 نوعًا من المخططات المتاحة في Microsoft Word، بما في ذلك العمود، الخط، الدائري، الشريط، المنطقة، التبعثر، الأسهم، السطح، الدونات، الفقاعات، مخططات الرادار، وغيرها. يتيح هذا الميزة إنشاء تقارير مالية ديناميكية مع تصور بيانات لحظية، مستندات التحليل الإحصائي، لوحات معلومات الذكاء التجاري، تقارير البحوث العلمية، وثائق تتبع الأداء، وغيرها.
تنسيق وتنسيق متقدم في ملفات DOCX
تحافظ مكتبة 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");
}
}