با قدرت اینترنت همه چیز دیجیتالی شده و سیستم های بدون کاغذ رایج شده اند. اسناد دیجیتال، به عنوان مثال PDF، یکی از اجزای سازنده سیستم‌های بدون کاغذ هستند که با ارائه ویژگی‌های تولید و پردازش خودکار، زندگی را آسان‌تر کرده‌اند. اکثر مشاغل از اتوماسیون اسناد PDF برای تولید گزارش ها، رسیدها، فاکتورها و سایر اسناد تجاری به صورت پویا استفاده می کنند. بنابراین، در این مقاله، نحوه ادغام ویژگی‌های اتوماسیون PDF در برنامه‌های مبتنی بر C++ و تولید فایل‌های PDF با استفاده از C++ را نشان خواهم داد.

کتابخانه PDF C++

برای ایجاد فایل‌های PDF، از Aspose.PDF برای C++ API استفاده می‌کنیم که یک کتابخانه بومی C++ برای کار با اسناد PDF به‌صورت برنامه‌نویسی است. این به شما امکان می دهد اسناد PDF تعاملی را با پشتیبانی از انواع عناصر PDF ایجاد کنید. Aspose.PDF برای C++ در NuGet و همچنین در بخش Downloads Aspose موجود است.

یک فایل PDF در C++ ایجاد کنید

ابتدا یک فایل پی دی اف ساده ایجاد می کنیم و متنی را به صورت پاراگراف به صفحه اول اضافه می کنیم. مراحل زیر باید دنبال شود:

  • یک شی Document ایجاد کنید.
  • یک صفحه به PageCollection سند اضافه کنید.
  • پاراگراف صفحه را دریافت کنید.
  • یک شی TextFragment ایجاد کنید و آن را به پاراگراف اضافه کنید.
  • سند PDF را ذخیره کنید.

نمونه کد زیر نحوه ایجاد یک سند PDF در C++ را نشان می دهد.

// سند ایجاد کنید
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
// شماره گذاری صفحات از 1 شروع می شود
auto page = pages->idx_get(1);
auto paragraps = page->get_Paragraphs();	
// قطعه متن ایجاد کنید
auto text = MakeObject<TextFragment>(u"PDF API for C++");
auto ts = text->get_TextState();
// تنظیم حالت متن
ts->set_FontSize(16);
ts->set_FontStyle(FontStyles::Italic);
// به پاراگراف اضافه کنید
paragraps->Add(text);
// متن را به پاراگراف اضافه کنید
paragraps->Add(MakeObject<TextFragment>(u"This example shows how to create a PDF with text using Aspose.PDF for C++."));
// فایل PDF را ذخیره کنید
doc->Save(u"Example1.pdf");

خروجی

ایجاد فایل های PDF در C++

با استفاده از TextBuilder در C++ یک فایل PDF ایجاد کنید

در این بخش، من به شما نشان خواهم داد که چگونه از کلاس TextBuilder برای اضافه کردن قطعات متنی و پاراگراف های مختلف در صفحه استفاده کنید. علاوه بر این، در این مثال، نحوه تنظیم موقعیت قطعه متن در صفحه را یاد خواهید گرفت. مراحل زیر برای انجام این عملیات آمده است:

  • یک شی Document ایجاد کنید.
  • یک صفحه به سند اضافه کنید.
  • یک شی TextBuilder ایجاد کنید.
  • یک TextFragment ایجاد کنید و متن آن را اضافه کنید.
  • موقعیت TextFragment را تنظیم کنید.
  • TextFragment را با استفاده از TextBuilder اضافه کنید.
  • سند PDF را ذخیره کنید.

نمونه کد زیر نحوه ایجاد یک PDF با استفاده از TextBuilder در C++ را نشان می دهد.

// ایجاد شیء Document
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
// TextBuilder را ایجاد کنید
auto tb = MakeObject<TextBuilder>(pages->idx_get(1));
// ایجاد TextFragment
auto text = MakeObject<TextFragment>(u"Hello world!");
text->set_Position(MakeObject<Position>(100, 800));
// ضمیمه TextFragment
tb->AppendText(text);
// یک TextFragment دیگر ایجاد کنید
text = MakeObject<TextFragment>(u"This example is created by Aspose.Pdf for C++.");
text->set_Position(MakeObject<Position>(150, 750));
tb->AppendText(text);
// یک TextFragment دیگر ایجاد کنید
text = MakeObject<TextFragment>(u"It demonstrates how to use TextBuilder to append text into PDF file.");
text->set_Position(MakeObject<Position>(200, 700));
tb->AppendText(text);
// TextParagraph ایجاد کنید
auto par = MakeObject<TextParagraph>();
par->set_Position(MakeObject<Position>(250,650));
par->AppendLine(u"New paragraph");
par->AppendLine(u"Line 2");
par->AppendLine(u"Line 3");
tb->AppendParagraph(par);
// سند PDF را ذخیره کنید
doc->Save(u"Created PDF.pdf");

خروجی

C++ PDF API

یک فایل PDF با تصویر در C++ ایجاد کنید

همچنین می توانید با استفاده از Aspose.PDF برای C++ تصاویری را به اسناد PDF ایجاد کرده و اضافه کنید. مراحل زیر برای انجام این عملیات آمده است:

  • یک شی Document ایجاد کنید.
  • یک صفحه به سند اضافه کنید.
  • یک تصویر برای اضافه شدن ایجاد کنید.
  • تصویر را به فایل PDF اضافه کنید.
  • فایل PDF را ذخیره کنید.

نمونه کد زیر نحوه ایجاد و افزودن یک تصویر به یک سند PDF در C++ را نشان می دهد.

// ایجاد شیء Document
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
auto page = pages->idx_get(1);
// یک تصویر ایجاد کنید
auto stream = MakeObject<IO::MemoryStream>();
SharedPtr<Bitmap> bitmap = MakeObject<Bitmap>(200, 200);
SharedPtr<Graphics> graphics = Graphics::FromImage(bitmap);
graphics->Clear(System::Drawing::Color::get_Yellow());
graphics->FillRectangle(Brushes::get_Blue(), System::Drawing::Rectangle(0, 0, 200, 100));
bitmap->Save(stream, Imaging::ImageFormat::get_Bmp());
// مستطیل ایجاد کنید
double x = 100.0, y = 600.0, width = 200.0, height = 200.0;
auto rect = MakeObject<Aspose::Pdf::Rectangle>(x, y, x + width, y + height);
// اضافه کردن تصویر به PDF
stream->Seek(0, System::IO::SeekOrigin::Begin);
page->AddImage(stream, rect);
// سند PDF را ذخیره کنید
doc->Save(u"Created PDF.pdf");

خروجی

کتابخانه PDF C++

یک فایل PDF با پیوست ها در C++ ایجاد کنید

فرمت PDF همچنین امکان افزودن پیوست به سند را فراهم می کند. انواع فرمت های فایل وجود دارد که می توان آنها را به عنوان پیوست به فایل PDF اضافه کرد. مراحل زیر برای جاسازی یک فایل در PDF با استفاده از Aspose.PDF برای C++ آمده است:

  • فایلی را برای پیوست در SharedPtr بارگذاری کنید .
  • یک شی از کلاس Document ایجاد کنید.
  • فایل را در سند جاسازی کنید.
  • فایل PDF را ذخیره کنید.

نمونه کد زیر نحوه افزودن پیوست به سند PDF در C++ را نشان می دهد.

// یک فایل متنی ایجاد کنید
System::IO::File::WriteAllText(u"Attachment.txt", u"Some info");
SharedPtr<FileSpecification> fileSpecification = MakeObject<FileSpecification>(u"Attachment.txt", u"Sample text file");
// پیوست را به مجموعه پیوست سند اضافه کنید
auto doc = MakeObject<Document>();
doc->get_EmbeddedFiles()->Add(fileSpecification);
// یک صفحه را به PDF اضافه کنید
doc->get_Pages()->Add();	 
// سند PDF را ذخیره کنید
doc->Save(u"Created PDF.pdf");

خروجی

PDF را در C++ تولید کنید

درباره Aspose.PDF برای C++ بیشتر بدانید

می‌توانید درباره Aspose.PDF برای C++ از مستندات و کد منبع نمونه‌ها اطلاعات بیشتری کسب کنید.

همچنین ببینید