讓我們探索與 PDF 文檔中的旋轉相關的場景。在某些情況下,您可能需要修復倒置的掃描 PDF 文檔。您可以通過旋轉文檔的頁面來修復此類文檔。您可能還想通過旋轉將文本或圖像水印添加到 PDF 文檔中。為此,本文將教您如何使用 C++ 以編程方式旋轉 PDF 頁面、文本和圖像。

用於旋轉 PDF 頁面、文本和圖像的 C++ API

Aspose.PDF for C++ 是一個 C++ 庫,允許您創建、閱讀和更新 PDF 文檔。除此之外,API 還支持旋轉 PDF 頁面、文本和圖像。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。

PM> Install-Package Aspose.PDF.Cpp

使用 C++ 旋轉 PDF 頁面

使用 Aspose.PDF for C++ 旋轉頁面輕而易舉。只需幾行代碼,您就可以旋轉PDF文檔的所有頁面。以下是使用 C++ 旋轉 PDF 頁面的步驟。

以下示例代碼顯示瞭如何使用 C++ 旋轉 PDF 頁面。

// 打開源 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);

使用 C++ 在 PDF 頁面上旋轉文本

在向 PDF 文檔添加文本時,您可以更改許多文本屬性,包括其角度。在下面的示例中,我們將向 PDF 頁面添加文本並將其旋轉 45 度角。以下是實現該目標的步驟。

以下示例代碼演示瞭如何使用 C++ 旋轉 PDF 頁面上的文本。

// 創建文檔類的實例
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);

// 將texc添加到頁面
textBuilder->AppendText(textFragment);

// 保存 PDF 文件
pdfDocument->Save(u"OutputDirectory\\Rotated_text_out.pdf", SaveFormat::Pdf);

使用 C++ 旋轉 PDF 頁面上的圖像

在向 PDF 文檔添加圖像時,您可以設置許多屬性,如高度、寬度、不透明度、旋轉等。在本例中,我們將向 PDF 頁面添加圖像並將其旋轉 90 度。以下是在 PDF 頁面上旋轉圖像的步驟。

以下示例代碼顯示瞭如何使用 C++ 旋轉 PDF 頁面上的圖像。

// 打開源 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。

結論

在本文中,您學習瞭如何使用 C++ 旋轉 PDF 文檔中的頁面、文本和圖像。 Aspose.PDF for C++ 是一個龐大的 API,它提供了許多處理 PDF 文件的附加功能。您可以通過訪問 官方文檔 來詳細探索 API。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。

也可以看看