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

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

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

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

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

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

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

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

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

Word در C++

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

با استفاده از 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);
کد را اجرا کنید

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

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

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

سه گزینه برای نصب 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. تمامی حقوق محفوظ است.