API رایگان C++ برای ساخت فایلهای Word DOCX بر پایه قالب
یک کتابخانه پیشرو منبع باز و رایگان C++ برای پردازش ورد که امکان ایجاد، ویرایش، ترکیب و تبدیل برنامهنویسی فایلهای Word DOCX را فراهم میکند. بارکدها، نمودارها، متن، تصاویر را اضافه کنید و قالببندی کنید.
DocxFactory چیست؟
DocxFactory یک کتابخانه قدرتمند C++ منبع باز و چندسکویی است که برای تولید فایلهای Microsoft Word DOCX (فرمت OpenXML) از طریق ایجاد سند مبتنی بر قالب طراحی شده است. این کتابخانه رایگان شامل wrapperهایی برای چندین زبان برنامهنویسی شامل C#، Java، Python و Progress 4GL بههمراه ابزارهای خط فرمان میباشد. ویژگی منحصر بهفرد DocxFactory رویکرد مبتنی بر قالب است که نیاز به درک فرمت پیچیده OpenXML توسط توسعهدهندگان را رفع میکند. این کتابخانه از ویژگیهای مهم پردازش متن پشتیبانی میکند، مانند ایجاد سند مبتنی بر قالب، افزودن/حذف پاراگرافها یا تصاویر، قالببندی متن، کار با جداول، ادغام یا تقسیم سلولها، مدیریت لیستها، پشتیبانی چند زبانه، پشتیبانی گسترده از بارکدها، پشتیبانی از فرمتهای خروجی متعدد و غیره.
DocxFactory یک کتابخانه بالغ، رایگان و چندسکویی C/C++ (با wrapperهای چند زبانه) است که کار با فایلهای 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 از دامنه گستردهای از بارکدهای 1D و 2D پشتیبانی میکند، از جمله Code39، Code128، EAN، UPC، ISBN، Databar، کدهای پستی، PDF417، Data Matrix، QR Code و Maxi Code. بارکدها بهعنوان فیلد در قالبها درج میشوند و بهصورت خودکار بر اساس دادههای ارائهشده رندر میشوند. این ویژگی آن را برای سیستمهای مدیریت موجودی، برنامههای حملونقل و لجستیک، راهکارهای برچسبزنی محصولات، سیستمهای ردیابی سند، ادغام نقاط فروش خردهفروشی و غیره ایدهآل میسازد.
افزودن و مدیریت نمودارها در فایلهای Word با C++
کتابخانه DocxFactory میتواند دادههای نمودارها را بهصورت پویا پر کند، و به شما امکان ایجاد تجسمهای مبتنی بر داده را میدهد. نمودارهای تعریفشده در قالب شما میتوانند سریهای دادهای خود را بهصورت برنامهنویسی بهروزرسانی کنند، که امکان تولید داشبوردهای اجرایی و گزارشهای تحلیلی را فراهم میکند. این کتابخانه از لیست کامل بیش از 70 نوع نمودار موجود در Microsoft Word پشتیبانی میکند، از جمله ستون، خط، دایرهای، نوار، مساحت، پراکنش، سهام، سطح، دونات، حباب، رادار و غیره. این ویژگی امکان تولید گزارشهای مالی پویا با تجسم دادههای زمان واقعی، اسناد تجزیه و تحلیل آماری، داشبوردهای هوش تجاری، گزارشهای تحقیق علمی، مستندات پیگیری عملکرد و غیره را فراهم میکند.
قالببندی و استایل پیشرفته در فایلهای DOCX
کتابخانه منبع باز DocxFactory قالببندی بومی ورد را حفظ میکند و همزمان استایلها را در برنامههای C++ بهصورت پویا تنظیم مینماید. این کتابخانه از ویژگیهای مختلف قالببندی مانند سبکهای قلم، اندازهها و رنگها، تراز و فاصله پاراگرافها، جداول با حاشیههای سفارشی، سرصفحه و پاصفحه، شماره صفحه و تقسیمبندی بخشها، سبکها و تمهای سفارشی و غیره پشتیبانی میکند. سند تولیدشده تمام قالببندیها را از قالب حفظ میکند و برندینگ یکسان و ظاهر حرفهای را تضمین مینماید. مثال کد زیر نشان میدهد چگونه توسعهدهندگان میتوانند قالببندی شرطی را بر پایه دادهها در برنامههای C++ اعمال کنند.
چگونه قالببندی و استایل پیشرفته را داخل اسناد ورد با کتابخانه 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");
}
}