با استفاده از کتابخانه C++ DOCX را بسازید

کتابخانه قدرتمند C++ ما به توسعه دهندگان اجازه می دهد تا به صورت برنامه نویسی DOCX را تنها در چند مرحله ایجاد کنند

توسعه دهندگان C++ می توانند به راحتی DOCX را تنها با استفاده از API محصول قدرتمند ما ایجاد کنند. این بدان معناست که راه حل ما هر آنچه را که برای ایجاد DOCX در C++ نیاز دارند در اختیار برنامه نویسان قرار می دهد.

مشاهده قطعه کد

DOCX را در C++ به صورت برنامه نویسی کنید

توسعه دهندگان کتابخانه C++ ما می توانند به راحتی DOCX را از ابتدا بسازند. برای انجام این کار، توسعه دهندگان C++ باید فقط چند مرحله را انجام دهند:

  1. نام فایل را اضافه کنید
  2. شروع به ایجاد یک سند DOCX با استفاده از C++
  3. فایل خروجی DOCX را ذخیره کنید

شایان ذکر است که یک سند خالی از نظر فنی باید شامل یک پاراگراف باشد، بنابراین وقتی یک سند DOCX را به صورت برنامه‌نویسی ایجاد می‌کنید، دقیقاً همان ساختار سند اولیه را دریافت خواهید کرد.

توجه داشته باشید که می‌توانید فوراً محتوا را به فایل جدید DOCX کنید. بنابراین، شما نه تنها یک سند خالی، بلکه یک سند حاوی محتوای لازم را دریافت خواهید کرد. برای اطلاعات بیشتر در مورد نحوه ویرایش یک سند، به صفحه ویرایش مراجعه کنید.

DOCX در C++

این کتابخانه C++ به شما امکان می دهد اسناد DOCX را به صورت برنامه نویسی ایجاد کنید. عملکرد قدرتمند ما را امتحان کنید و نحوه ایجاد DOCX را با استفاده از مثال زیر در برخی از قالب‌ها ببینید:

با استفاده از C++ یک DOCX جدید بسازید
قالب مورد نظر را از لیست انتخاب کنید
کد را اجرا کنید
dotnet add package Aspose.Words.Cpp
کپی 🀄
using namespace Aspose::Words;

auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);

auto font = builder->get_Font();
font->set_Name(u"Courier New");
font->set_Color(System::Drawing::Color::get_Blue());
font->set_Size(36);
font->set_HighlightColor(System::Drawing::Color::get_Yellow());

builder->Write(u"Morbi enim nunc faucibus a.");

doc->Save(u"Output.docx");
using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto firstRun = MakeObject<Run>(doc, u"Proin eros metus, sagittis sed. "); auto secondRun = MakeObject<Run>(doc, u"Morbi enim nunc faucibus a."); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(firstRun); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(secondRun); builder->MoveTo(secondRun); builder->StartBookmark(u"Aspose bookmark"); // اگر NextSibling تهی باشد، به احتمال زیاد این آخرین Run در پاراگراف است. if (secondRun->get_NextSibling() != NULL) builder->MoveTo(secondRun->get_NextSibling()); else builder->MoveTo(secondRun->get_ParentParagraph()); builder->EndBookmark(u"Aspose bookmark"); doc->Save(u"Output.docx"); using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto firstRun = MakeObject<Run>(doc, u"Proin eros metus, sagittis sed. "); auto secondRun = MakeObject<Run>(doc, u"Morbi enim nunc faucibus a."); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(firstRun); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(secondRun); builder->MoveTo(secondRun); builder->StartBookmark(u"Aspose bookmark"); // اگر NextSibling تهی باشد، به احتمال زیاد این آخرین Run در پاراگراف است. if (secondRun->get_NextSibling() != NULL) builder->MoveTo(secondRun->get_NextSibling()); else builder->MoveTo(secondRun->get_ParentParagraph()); builder->EndBookmark(u"Aspose bookmark"); auto saveOptions = MakeObject<PdfSaveOptions>(); saveOptions->get_OutlineOptions()->get_BookmarksOutlineLevels()->Add(u"Aspose bookmark", 1); doc->Save(u"Output.docx", saveOptions);
using namespace Aspose::Words;

auto doc = MakeObject<Document>();

auto run = MakeObject<Run>(doc, u"Proin eros metus, sagittis sed.");
auto para = doc->get_FirstSection()->get_Body()->get_FirstParagraph();
para->AppendChild(run);

auto comment = MakeObject<Comment>(doc, u"John Doe", u"JD", System::DateTime::get_Today());
comment->SetText(u"Quisque fringilla leo.");

auto commentRangeStart = MakeObject<CommentRangeStart>(doc, comment->get_Id());
auto commentRangeEnd = MakeObject<CommentRangeEnd>(doc, comment->get_Id());

run->get_ParentNode()->InsertBefore(commentRangeStart, run);
run->get_ParentNode()->InsertAfter(commentRangeEnd, run);
commentRangeEnd->get_ParentNode()->InsertAfter(comment, commentRangeEnd);

comment->AddReply(u"Jane Doe", u"JD", System::DateTime::get_Now(),
    u"Pellentesque vel sapien justo.");

doc->Save(u"Output.docx");
using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto firstRun = MakeObject<Run>(doc, u"Proin eros metus, sagittis sed. "); auto secondRun = MakeObject<Run>(doc, u"Morbi enim nunc faucibus a."); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(firstRun); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(secondRun); builder->MoveTo(secondRun); builder->StartBookmark(u"Aspose bookmark"); // اگر NextSibling تهی باشد، به احتمال زیاد این آخرین Run در پاراگراف است. if (secondRun->get_NextSibling() != NULL) builder->MoveTo(secondRun->get_NextSibling()); else builder->MoveTo(secondRun->get_ParentParagraph()); builder->EndBookmark(u"Aspose bookmark"); doc->Save(u"Output.docx"); using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto firstRun = MakeObject<Run>(doc, u"Proin eros metus, sagittis sed. "); auto secondRun = MakeObject<Run>(doc, u"Morbi enim nunc faucibus a."); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(firstRun); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(secondRun); builder->MoveTo(secondRun); builder->StartBookmark(u"Aspose bookmark"); // اگر NextSibling تهی باشد، به احتمال زیاد این آخرین Run در پاراگراف است. if (secondRun->get_NextSibling() != NULL) builder->MoveTo(secondRun->get_NextSibling()); else builder->MoveTo(secondRun->get_ParentParagraph()); builder->EndBookmark(u"Aspose bookmark"); auto saveOptions = MakeObject<PdfSaveOptions>(); saveOptions->get_OutlineOptions()->get_BookmarksOutlineLevels()->Add(u"Aspose bookmark", 1); doc->Save(u"Output.docx", saveOptions);
using namespace Aspose::Words;

auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);

auto firstRun = MakeObject<Run>(doc, u"Proin eros metus, sagittis sed. ");
auto secondRun = MakeObject<Run>(doc, u"Morbi enim nunc faucibus a.");
doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(firstRun);
doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(secondRun);

builder->MoveTo(secondRun);
builder->StartBookmark(u"Aspose bookmark");
// اگر NextSibling تهی باشد، به احتمال زیاد این آخرین Run در پاراگراف است.
if (secondRun->get_NextSibling() != NULL)
    builder->MoveTo(secondRun->get_NextSibling());
else
    builder->MoveTo(secondRun->get_ParentParagraph());
builder->EndBookmark(u"Aspose bookmark");

doc->Save(u"Output.docx");
using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto firstRun = MakeObject<Run>(doc, u"Proin eros metus, sagittis sed. "); auto secondRun = MakeObject<Run>(doc, u"Morbi enim nunc faucibus a."); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(firstRun); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(secondRun); builder->MoveTo(secondRun); builder->StartBookmark(u"Aspose bookmark"); // اگر NextSibling تهی باشد، به احتمال زیاد این آخرین Run در پاراگراف است. if (secondRun->get_NextSibling() != NULL) builder->MoveTo(secondRun->get_NextSibling()); else builder->MoveTo(secondRun->get_ParentParagraph()); builder->EndBookmark(u"Aspose bookmark"); doc->Save(u"Output.docx"); using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto firstRun = MakeObject<Run>(doc, u"Proin eros metus, sagittis sed. "); auto secondRun = MakeObject<Run>(doc, u"Morbi enim nunc faucibus a."); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(firstRun); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(secondRun); builder->MoveTo(secondRun); builder->StartBookmark(u"Aspose bookmark"); // اگر NextSibling تهی باشد، به احتمال زیاد این آخرین Run در پاراگراف است. if (secondRun->get_NextSibling() != NULL) builder->MoveTo(secondRun->get_NextSibling()); else builder->MoveTo(secondRun->get_ParentParagraph()); builder->EndBookmark(u"Aspose bookmark"); auto saveOptions = MakeObject<PdfSaveOptions>(); saveOptions->get_OutlineOptions()->get_BookmarksOutlineLevels()->Add(u"Aspose bookmark", 1); doc->Save(u"Output.docx", saveOptions);
using namespace Aspose::Words;

auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);

auto shape = builder->InsertChart(ChartType::Pie, 432, 252);
auto chart = shape->get_Chart();
chart->get_Title()->set_Text(u"Demo Chart");

chart->get_Series()->Clear();
chart->get_Series()->Add(u"Series 1",
    MakeArray<String>({ u"Category1", u"Category2", u"Category3" }),
    MakeArray<double>({ 2.7, 3.2, 0.8 }));

doc->Save(u"Output.docx");
using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto firstRun = MakeObject<Run>(doc, u"Proin eros metus, sagittis sed. "); auto secondRun = MakeObject<Run>(doc, u"Morbi enim nunc faucibus a."); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(firstRun); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(secondRun); builder->MoveTo(secondRun); builder->StartBookmark(u"Aspose bookmark"); // اگر NextSibling تهی باشد، به احتمال زیاد این آخرین Run در پاراگراف است. if (secondRun->get_NextSibling() != NULL) builder->MoveTo(secondRun->get_NextSibling()); else builder->MoveTo(secondRun->get_ParentParagraph()); builder->EndBookmark(u"Aspose bookmark"); doc->Save(u"Output.docx"); using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto firstRun = MakeObject<Run>(doc, u"Proin eros metus, sagittis sed. "); auto secondRun = MakeObject<Run>(doc, u"Morbi enim nunc faucibus a."); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(firstRun); doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild(secondRun); builder->MoveTo(secondRun); builder->StartBookmark(u"Aspose bookmark"); // اگر NextSibling تهی باشد، به احتمال زیاد این آخرین Run در پاراگراف است. if (secondRun->get_NextSibling() != NULL) builder->MoveTo(secondRun->get_NextSibling()); else builder->MoveTo(secondRun->get_ParentParagraph()); builder->EndBookmark(u"Aspose bookmark"); auto saveOptions = MakeObject<PdfSaveOptions>(); saveOptions->get_OutlineOptions()->get_BookmarksOutlineLevels()->Add(u"Aspose bookmark", 1); doc->Save(u"Output.docx", saveOptions);
کد را اجرا کنید

نحوه ساخت DOCX در C++

  1. Aspose.Words for C++ نصب کنید
  2. یک مرجع کتابخانه (وارد کردن کتابخانه) به پروژه C++ خود اضافه کنید
  3. یک سند DOCX جدید ایجاد کنید
  4. با ارسال نام فایل، روش "Save()" را فراخوانی کنید
  5. نتیجه را در یک فایل جداگانه دریافت کنید

کتابخانه C++ برای ایجاد DOCX

سه گزینه برای نصب Aspose.Words for C++ در محیط توسعه دهنده شما وجود دارد. لطفاً یکی را انتخاب کنید که شبیه نیازهای شما باشد و دستورالعمل های گام به گام را دنبال کنید:

سیستم مورد نیاز

می توانید از این کتابخانه C++ برای توسعه نرم افزار روی Microsoft Windows، Linux و macOS استفاده کنید:

  • GCC >= 6.3.0 و Clang >= 3.9.1 برای لینوکس مورد نیاز است
  • Xcode >= 12.5.1، Clang و libc++ برای macOS مورد نیاز است

در صورت توسعه نرم افزار برای لینوکس یا macOS، لطفاً اطلاعات مربوط به وابستگی های بیشتر کتابخانه (fontconfig و بسته های منبع باز mesa-glu) را در Documentation Product بررسی کنید.

سایر فرمت های فایل پشتیبانی شده

می توانید اسناد را در فرمت های فایل دیگر ایجاد کنید:

5%

در به‌روزرسانی‌های محصول Aspose مشترک شوید

خبرنامه ها و پیشنهادات ماهانه را مستقیماً به صندوق پستی خود تحویل بگیرید.

© Aspose Pty Ltd 2001-2024. تمامی حقوق محفوظ است.