Давайте розглянемо сценарії, пов’язані з ротацією в документах PDF. Можуть бути ситуації, коли у вас може бути перевернутий сканований PDF-документ, який потрібно виправити. Виправити такий документ можна шляхом повороту сторінок документа. Ви також можете додати текстові або графічні водяні знаки до документа PDF, обертаючи їх. З цією метою ця стаття навчить вас, як програмно повертати PDF-сторінки, текст і зображення за допомогою C++.

C++ API для обертання PDF-сторінок, тексту та зображень

Aspose.PDF for C++ — це бібліотека C++, яка дозволяє створювати, читати та оновлювати документи PDF. На додаток до цього, API підтримує обертання PDF-сторінок, тексту та зображень. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу завантаження.

PM> Install-Package Aspose.PDF.Cpp

Обертайте сторінки PDF за допомогою C++

Обертати сторінки за допомогою Aspose.PDF for C++ – це просто. За допомогою лише кількох рядків коду ви можете обертати всі сторінки документа PDF. Нижче наведено кроки для повороту сторінок PDF за допомогою C++.

  • Завантажте вихідний документ PDF за допомогою класу Document.
  • Переглядайте сторінки документа. Якщо ви хочете обертати лише вибрані сторінки, ви можете визначити цю логіку в цьому циклі.
  • Обертайте кожну сторінку за допомогою методу Page->setRotate(Rotation value).
  • Збережіть вихідний PDF-файл за допомогою методу Document->Save(System::String outputFileName, SaveFormat format).

У наведеному нижче прикладі коду показано, як обертати сторінки PDF за допомогою C++.

// Відкрийте вихідний документ PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Переглядайте сторінки
for (System::SharedPtr<Page> page : pdfDocument->get_Pages())
{
	// Повернути сторінку
	page->set_Rotate(Aspose::Pdf::Rotation::on180);
}

// Збережіть файл PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_out.pdf", SaveFormat::Pdf);

Обертання тексту на сторінках PDF за допомогою C++

Під час додавання тексту до PDF-документів можна змінювати багато властивостей тексту, зокрема його кут. У наступному прикладі ми додамо текст до сторінки PDF і повернемо його на кут 45 градусів. Нижче наведено кроки для досягнення цього.

Наведений нижче приклад коду демонструє, як обертати текст на сторінці PDF за допомогою C++.

// Створіть екземпляр класу Document
auto pdfDocument = MakeObject<Document>();

// Додати нову сторінку
System::SharedPtr<Page> page = pdfDocument->get_Pages()->Add();

// Створіть об'єкт TextFragment
System::SharedPtr<TextFragment> textFragment = MakeObject<TextFragment>(u"Rotated Text");

// Встановити положення тексту
textFragment->set_Position(MakeObject<Position>(200, 600));

// Встановити властивості тексту
textFragment->get_TextState()->set_FontSize(12);
textFragment->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment->get_TextState()->set_BackgroundColor(Aspose::Pdf::Color::get_LightGray());
textFragment->get_TextState()->set_ForegroundColor(Aspose::Pdf::Color::get_Red());
textFragment->get_TextState()->set_Rotation(45);
textFragment->get_TextState()->set_Underline(true);

// Створіть об’єкт TextBuilder
System::SharedPtr<TextBuilder> textBuilder = MakeObject<TextBuilder>(page);

// Додайте текст на сторінку
textBuilder->AppendText(textFragment);

// Збережіть файл PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_text_out.pdf", SaveFormat::Pdf);

Обертайте зображення на сторінці PDF за допомогою C++

Під час додавання зображень до PDF-документів ви можете встановити багато властивостей, як-от висоту, ширину, непрозорість, обертання тощо. У цьому прикладі ми додамо зображення до сторінки PDF і повернемо його на кут 90 градусів. Нижче наведено кроки, щоб повернути зображення на сторінці PDF.

У наведеному нижче прикладі коду показано, як повернути зображення на сторінці PDF за допомогою C++.

// Відкрийте вихідний документ PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Створіть об’єкт ImageStamp
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");

// Встановити властивості ImageStamp
imageStamp->set_XIndent(250);
imageStamp->set_YIndent(350);
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_Rotate(Rotation::on90);
imageStamp->set_Opacity(0.5);

// Додайте ImageStamp на сторінку
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);

// Збережіть файл PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_image_out.pdf", SaveFormat::Pdf);

Отримайте безкоштовну ліцензію

Ви можете спробувати API без оціночних обмежень, надіславши запит на безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як обертати сторінки, текст і зображення в документах PDF за допомогою C++. Aspose.PDF for C++ — це величезний API, який надає багато додаткових функцій для роботи з файлами PDF. Ви можете детально вивчити API, відвідавши офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також