Давайте рассмотрим сценарии, связанные с ротацией, в документах PDF. Могут возникнуть ситуации, когда у вас может быть перевернутый отсканированный PDF-документ, который необходимо исправить. Вы можете исправить такой документ, вращая страницы документа. Вы также можете добавить текстовые или графические водяные знаки в документ PDF, повернув их. С этой целью в этой статье вы узнаете, как программно поворачивать страницы PDF, текст и изображения с помощью C++.
- C++ API для поворота страниц PDF, текста и изображений
- Поворот страниц PDF с помощью C++
- Поворот текста на страницах PDF с помощью C++
- Поворот изображения на странице 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-документ с помощью класса Document.
- Пролистайте страницы документа. Если вы хотите вращать только выбранные страницы, вы можете определить эту логику в этом цикле.
- Поверните каждую страницу, используя метод Page->setRotate(значение поворота).
- Сохраните выходной PDF-файл, используя метод Документ->Сохранить(System::String outputFileName, формат SaveFormat).
В следующем примере кода показано, как повернуть страницы 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 градусов. Ниже приведены шаги для достижения этого.
- Создайте экземпляр класса Document для представления нового документа PDF.
- Добавьте новую страницу в документ PDF.
- Создайте экземпляр класса TextFragment с текстом, который вы хотите добавить.
- Задайте положение, угол и другие свойства текста.
- Добавьте текст на страницу PDF с помощью TextBuilder->AppendText(System::SharedPtr textFragment).
- Сохраните выходной PDF-файл, используя метод Документ->Сохранить(System::String outputFileName, формат SaveFormat).
В следующем примере кода показано, как повернуть текст на странице 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-документ с помощью класса Document.
- Создайте экземпляр класса ImageStamp с изображением, которое вы хотите добавить.
- Задайте поворот и другие свойства изображения.
- Добавьте изображение на страницу PDF, используя Document->getPages()->idxget(1)->AddStamp(System::SharedPtr штамп) метод.
- Сохраните выходной PDF-файл, используя метод Документ->Сохранить(System::String outputFileName, формат SaveFormat).
В следующем примере кода показано, как повернуть изображение на странице 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, посетив официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на нашем бесплатном форуме поддержки.