讓我們探索與 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 頁面的步驟。
- 使用 Document 類加載源 PDF 文檔。
- 循環瀏覽文檔的頁面。如果您只想旋轉選定的頁面,您可以在此循環中定義該邏輯。
- 使用 Page->setRotate(Rotation value) 方法旋轉每個頁面。
- 使用 Document->Save(System::String outputFileName, SaveFormat format) 方法保存輸出的 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 度角。以下是實現該目標的步驟。
- 創建 Document 類的一個實例來表示一個新的 PDF 文檔。
- 向 PDF 文檔添加新頁面。
- 使用要添加的文本創建 TextFragment 類的實例。
- 設置文本的位置、角度和其他屬性。
- 使用 TextBuilder->AppendText(System::SharedPtr textFragment) 方法。
- 使用 Document->Save(System::String outputFileName, SaveFormat format) 方法保存輸出的 PDF 文件。
以下示例代碼演示瞭如何使用 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 頁面上旋轉圖像的步驟。
- 使用 Document 類加載源 PDF 文檔。
- 使用要添加的圖像創建 ImageStamp 類的實例。
- 設置圖像的旋轉和其他屬性。
- 使用 Document->getPages()->idxget(1)->AddStamp(System::SharedPtr) 將圖像添加到 PDF 頁面戳) 方法。
- 使用 Document->Save(System::String outputFileName, SaveFormat format) 方法保存輸出的 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。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。