Давайте рассмотрим сценарии, связанные с ротацией, в документах 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 для C++ очень просто. С помощью всего нескольких строк кода вы можете поворачивать все страницы PDF-документа. Ниже приведены шаги для поворота страниц PDF с помощью C++.

В следующем примере кода показано, как повернуть страницы 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 для C++ — это обширный API, предоставляющий множество дополнительных функций для работы с PDF-файлами. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на нашем бесплатном форуме поддержки.

Смотрите также