半岛权威十大直营(官方)网站

PDF处理控件Aspose.PDF功能演示:在C ++中以编程方式旋转 PDF 页面、文本或图像

翻译|使用教程|编辑:李显亮|2021-06-01 09:33:14.417|阅读 161 次

概述:在某些情况下,可能需要修复反向扫描的 PDF 文档。为此,本文将教您如何使用 C++ 以编程方式旋转 PDF 页面、文本和图像。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

相关链接:

在某些情况下,可能需要修复反向扫描的 PDF 文档。可以通过旋转文档页面来修复此类文档。可能还想通过旋转将文本或图像水印添加到 PDF 文档中。为此,本文将介绍如何使用 C++ 以编程方式旋转 PDF 页面、文本和图像。

  • 使用 C++ 旋转 PDF 页面
  • 使用 C++ 在 PDF 页面上旋转文本
  • 使用 C++ 在 PDF 页面上旋转图像

Aspose.PDF for C++是一个 C++ 库,允许您创建、阅读和更新 PDF 文档。除此之外,API 还支持旋转 PDF 页面、文本和图像。点击下方按钮可下载试用。

点击下载最新版Aspose.PDF for C++

使用 C++ 旋转 PDF 页面

使用 Aspose.PDF for C++ 旋转页面轻而易举。只需几行代码,您就可以旋转 PDF 文档的所有页面。以下是使用 C++ 旋转 PDF 页面的步骤。

  • 使用Document 类加载源 PDF 文档。
  • 循环浏览文档页面。如果您只想旋转选定的页面,可以在此循环中定义该逻辑。
  • 使用Page->set_Rotate(Rotation value)方法旋转每个页面。
  • 使用Document->Save(System::String outputFileName, SaveFormat format) 方法保存输出 PDF 文件 。

以下示例代码显示了如何使用 C++ 旋转 PDF 页面。

// Open the source PDF document
auto pdfDocument = MakeObject(u"SourceDirectory\\Sample 1.pdf");

// Loop through the pages
for (System::SharedPtrpage : pdfDocument->get_Pages())
{
	// Rotate page
	page->set_Rotate(Aspose::Pdf::Rotation::on180);
}

// Save the PDF file
pdfDocument->Save(u"OutputDirectory\\Rotated_out.pdf", SaveFormat::Pdf);

使用 C++ 在 PDF 页面上旋转文本

在向 PDF 文档添加文本时,您可以更改许多文本属性,包括其角度。在以下示例中,我们将向 PDF 页面添加文本并将其旋转 45 度角。以下是实现这一目标的步骤。

  • 创建一个Document 类的实例来表示一个新的 PDF 文档。
  • 向 PDF 文档添加一个新页面。
  • 使用要添加的文本创建TextFragment类的实例。
  • 设置文本的位置、角度和其他属性。
  • 使用TextBuilder->AppendText(System::SharedPtrtextFragment)方法向 PDF 页面添加文本。
  • 使用Document->Save(System::String outputFileName, SaveFormat format) 方法保存输出 PDF 文件 。

以下示例代码演示了如何使用 C++ 旋转 PDF 页面上的文本。

// Create an instance of the Document class
auto pdfDocument = MakeObject();

// Add new page
System::SharedPtrpage = pdfDocument->get_Pages()->Add();

// Create TextFragment object
System::SharedPtrtextFragment = MakeObject(u"Rotated Text");

// Set the position of the text
textFragment->set_Position(MakeObject(200, 600));

// Set text properties
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);

// Create TextBuilder object
System::SharedPtrtextBuilder = MakeObject(page);

// Add texc to the page
textBuilder->AppendText(textFragment);

// Save the PDF file
pdfDocument->Save(u"OutputDirectory\\Rotated_text_out.pdf", SaveFormat::Pdf);

使用 C++ 在 PDF 页面上旋转图像

在向 PDF 文档添加图像时,您可以设置许多属性,如高度、宽度、不透明度、旋转度等。在本示例中,我们将向 PDF 页面添加图像并将其旋转 90 度。以下是在 PDF 页面上旋转图像的步骤。

  • 使用Document 类加载源 PDF 文档。
  • 使用要添加的图像创建ImageStamp类的实例。
  • 设置图像的旋转和其他属性。
  • 使用Document->get_Pages()->idx_get(1)->AddStamp(System::SharedPtrstamp)方法将图像添加到 PDF 页面。
  • 使用Document->Save(System::String outputFileName, SaveFormat format) 方法保存输出 PDF 文件 。

以下示例代码显示了如何使用 C++ 旋转 PDF 页面上的图像。

// Open the source PDF document
auto pdfDocument = MakeObject(u"SourceDirectory\\Sample 1.pdf");

// Create ImageStamp object
System::SharedPtrimageStamp = MakeObject(u"SourceDirectory\\aspose.png");

// Set ImageStamp properties
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);

// Add ImageStamp to the page
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);

// Save the PDF file
pdfDocument->Save(u"OutputDirectory\\Rotated_image_out.pdf", SaveFormat::Pdf);

如果你想试用Aspose的全部完整功能,可联系在线客服获取30天临时授权体验。


还想要更多吗?您可以点击阅读【Aspose最新资源在线文库】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP