PDFドキュメントでローテーションに関連するシナリオを調べてみましょう。修正が必要な逆スキャンされたPDFドキュメントがある場合があります。ドキュメントのページを回転させることで、このようなドキュメントを修正できます。また、テキストまたは画像の透かしを回転させてPDFドキュメントに追加することもできます。そのために、この記事では、C++を使用してプログラムでPDFページ、テキスト、および画像を回転させる方法を説明します。

PDFページ、テキスト、および画像を回転するためのC++ API

Aspose.PDF for C++は、PDFドキュメントの作成、読み取り、更新を可能にするC++ライブラリです。これに加えて、APIはPDFページ、テキスト、および画像の回転をサポートします。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。

PM> Install-Package Aspose.PDF.Cpp

C++を使用してPDFページを回転する

Aspose.PDF forC++でページを回転させるのは簡単です。ほんの数行のコードで、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ページのテキストを回転する方法を示しています。

// 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);

// ページに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++は、PDFファイルを操作するための多くの追加機能を提供する広大なAPIです。 公式ドキュメントにアクセスすると、APIの詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。

関連項目