შექმენით PDF ან Word დოკუმენტები C++ ში

შექმენით ახალი დოკუმენტი თითქმის ნებისმიერ ფორმატში პროგრამულად ჩვენი მაღალი ერთგულების C++ ბიბლიოთეკის გამოყენებით

ჩვენი პროგრამირების API ს გამოყენებით, C++ დეველოპერებს შეუძლიათ მარტივად შექმნან დოკუმენტი PDF, DOC, DOCX, HTML, EPUB და მრავალი სხვა ფორმატში, მხოლოდ რამდენიმე ხაზის კოდით.

კოდის ნაწყვეტის ნახვა

შექმენით დოკუმენტი C++ ის გამოყენებით

მოცემული ძლიერი API ით C++ ის დეველოპერებს შეუძლიათ შექმნან დოკუმენტები თითქმის ნებისმიერ ფორმატში. ამისათვის თქვენ უნდა შეასრულოთ რამდენიმე ნაბიჯი ჩვენი C++ ბიბლიოთეკის გამოყენებით:

  1. ფაილის სახელის დამატება
  2. დაიწყეთ დოკუმენტის შექმნა C++ ის გამოყენებით
  3. შეინახეთ შექმნილი დოკუმენტი არჩეულ ფორმატში

აღსანიშნავია, რომ ცარიელი დოკუმენტი ტექნიკურად უნდა შეიცავდეს ერთ აბზაცს, ასე რომ, როდესაც პროგრამულად შექმნით დოკუმენტს, თქვენ მიიღებთ ზუსტად ამ დოკუმენტის ძირითად სტრუქტურას.

გაითვალისწინეთ, რომ თქვენ შეგიძლიათ მყისიერად დაამატოთ შინაარსი ახლად შექმნილ დოკუმენტში. ამრიგად, თქვენ მიიღებთ არა მხოლოდ ცარიელ დოკუმენტს, არამედ საჭირო შინაარსის შემცველ დოკუმენტს. დამატებითი ინფორმაციისთვის დოკუმენტის რედაქტირების შესახებ იხილეთ რედაქტირების გვერდი.

შექმენით დოკუმენტი C++ ში პროგრამულად

მოცემული C++ ბიბლიოთეკა საშუალებას გაძლევთ პროგრამულად შექმნათ დოკუმენტი ნებისმიერ მხარდაჭერილ ფორმატში - PDF, DOCX, DOC, RTF, ODT, EPUB, HTML და სხვა.

სცადეთ ჩვენი ძლიერი ფუნქციონირება და ნახეთ, როგორ შექმნათ დოკუმენტი ზოგიერთ ფორმატში შემდეგი მაგალითის გამოყენებით:

შექმენით ახალი დოკუმენტი C++ ის გამოყენებით
აირჩიეთ სამიზნე ფორმატი სიიდან
გაუშვით კოდი
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 არის null, მაშინ, სავარაუდოდ, ეს არის ბოლო 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 არის null, მაშინ, სავარაუდოდ, ეს არის ბოლო 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 არის null, მაშინ, სავარაუდოდ, ეს არის ბოლო 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 არის null, მაშინ, სავარაუდოდ, ეს არის ბოლო 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 არის null, მაშინ, სავარაუდოდ, ეს არის ბოლო 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 არის null, მაშინ, სავარაუდოდ, ეს არის ბოლო 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 არის null, მაშინ, სავარაუდოდ, ეს არის ბოლო 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 არის null, მაშინ, სავარაუდოდ, ეს არის ბოლო 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 არის null, მაშინ, სავარაუდოდ, ეს არის ბოლო 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);
გაუშვით კოდი

როგორ შევქმნათ დოკუმენტი C++ ში

  1. დააინსტალირეთ Aspose.Words for C++
  2. დაამატეთ ბიბლიოთეკის მითითება (ბიბლიოთეკის იმპორტი) თქვენს C++ პროექტს
  3. შექმენით ახალი დოკუმენტი
  4. გამოიძახეთ Save() მეთოდი, გადასვით ფაილის სახელი
  5. მიიღეთ შედეგი ცალკე ფაილის სახით

C++ ბიბლიოთეკა დოკუმენტების შესაქმნელად

არსებობს სამი ვარიანტი, რომ დააინსტალიროთ Aspose.Words for C++ თქვენს დეველოპერის გარემოში. გთხოვთ, აირჩიოთ ის, რომელიც შეესაბამება თქვენს საჭიროებებს და მიჰყევით ნაბიჯ-ნაბიჯ ინსტრუქციებს:

სისტემის მოთხოვნები

თქვენ შეგიძლიათ გამოიყენოთ ეს C++ ბიბლიოთეკა Microsoft Windows, Linux და macOS ოპერაციული სისტემების პროგრამული უზრუნველყოფის შესაქმნელად:

  • GCC >= 6.3.0 და Clang >= 3.9.1 საჭიროა Linux- ისთვის
  • Xcode >= 12.5.1, Clang და libc++ საჭიროა macOS– ისთვის

თუ თქვენ შეიმუშავებთ პროგრამულ უზრუნველყოფას Linux ან macOS– სთვის, გთხოვთ შეამოწმოთ ინფორმაცია ბიბლიოთეკის დამატებითი დამოკიდებულებების შესახებ (fontconfig და mesa-glu ღია კოდის პაკეტები) პროდუქტის დოკუმენტაციაში.

ყველაზე პოპულარული ფაილის ფორმატები

5%

გამოიწერეთ Aspose პროდუქტის განახლებები

მიიღეთ ყოველთვიური გაზეთები და შეთავაზებები პირდაპირ თქვენს საფოსტო ყუთში.