PDFは、デジタルの世界で支配的なドキュメント形式になっています。クロスプラットフォームのサポートにより、研究記事や請求書などのドキュメントを生成および共有するために広く採用されている形式になっています。プログラムでPDFを生成する場合、テキストのレイアウトに応じてテキストの位置と向きを変更する必要があります。ドキュメント。この記事では、C#.NETでプログラムによってPDFドキュメント内のテキストを回転させる方法を示します。
PDFのテキストを回転するC#.NET API
Aspose.PDF for .NETは、.NETアプリケーションの基本的なPDF操作機能と高度なPDF操作機能を提供するC#クラスライブラリです。 APIを使用すると、単純または複雑なレイアウトのPDFドキュメントをシームレスに生成できます。このAPIを使用して、PDFドキュメント内のテキストを回転させます。 APIのDLLをダウンロードするか、NuGetを使用してインストールできます。
PM> Install-Package Aspose.PDF
C#でPDF内のテキストを回転
PDFドキュメント内のテキストを回転させる方法は複数あります。テキストフラグメントまたは段落全体を回転させることができます。これらの各テキスト回転がどのように機能するかを見てみましょう。
C#でTextFragmentを使用したPDFテキストの回転
以下は、C#を使用してPDFドキュメントのテキストフラグメントを回転させる手順です。
- まず、Documentクラスを使用して新しいドキュメントを作成します。
- 次に、ドキュメントにページを追加し、Document.Pages.Add()メソッドを使用してその参照を取得します。
- その後、TextFragmentクラスを使用して新しいテキストフラグメントを作成します。
- テキストフラグメントの位置とフォントを設定します。
- TextFragment.TextState.Rotationプロパティを使用して回転角度を設定します。
- 新しいTextBuilderオブジェクトを作成し、Pageオブジェクトで初期化します。
- TextBuilder.AppendText(TextFragment)メソッドを使用して、ページにテキストを追加します。
- 最後に、Document.Save(string)メソッドを使用してPDFドキュメントを保存します。
次のコードサンプルは、C#でPDFドキュメントのテキストを回転する方法を示しています。
// ドキュメントオブジェクトを初期化します
Document pdfDocument = new Document();
// 特定のページを取得
var pdfPage = pdfDocument.Pages.Add();
// テキストフラグメントを作成する
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.Position = new Position(100, 600);
// テキストプロパティを設定する
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 回転したテキストフラグメントを作成する
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.Position = new Position(200, 600);
// テキストプロパティを設定する
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
// 回転したテキストフラグメントを作成する
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.Position = new Position(300, 600);
// テキストプロパティを設定する
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
// TextBuilderオブジェクトを作成します
TextBuilder textBuilder = new TextBuilder(pdfPage);
// テキストフラグメントをPDFページに追加します
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
// ドキュメントを保存
pdfDocument.Save("Rotation_TextFragment.pdf");
出力
C#でTextParagraphを使用したPDFテキストの回転
新しい段落を作成するときに、テキストに回転を適用することもできます。これは、TextParagraphクラスを使用して実現できます。以下は、TextParagraphクラスを使用してテキスト回転を適用する手順です。
- まず、Documentクラスを使用して新しいドキュメントを作成します。
- 次に、ドキュメントにページを追加し、Document.Pages.Add()メソッドを使用してその参照を取得します。
- その後、新しいTextParagraphオブジェクトを作成します。
- TextFragmentクラスを使用して新しいテキストフラグメントを作成し、テキストとフォントを設定します。
- TextFragment.TextState.Rotationプロパティを使用して回転角度を設定します。
- TextParagraph.AppendLine(TextFragment)メソッドを使用して段落にテキストを追加します。
- 新しいTextBuilderオブジェクトを作成し、Pageオブジェクトで初期化します。
- TextBuilder.AppendParagraph(TextParagraph)メソッドを使用して、ページに段落を追加します。
- 最後に、Document.Save(string)メソッドを使用してPDFドキュメントを保存します。
次のコードサンプルは、PDFの段落内のテキストをプログラムで回転させる方法を示しています。
// ドキュメントオブジェクトを初期化します
Document pdfDocument = new Document();
// 特定のページを取得
var pdfPage = pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
// テキストフラグメントを作成する
TextFragment textFragment1 = new TextFragment("rotated text");
// テキストプロパティを設定する
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 回転を設定する
textFragment1.TextState.Rotation = 45;
// テキストフラグメントを作成する
TextFragment textFragment2 = new TextFragment("main text");
// テキストプロパティを設定する
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// テキストフラグメントを作成する
TextFragment textFragment3 = new TextFragment("another rotated text");
// テキストプロパティを設定する
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 回転を設定する
textFragment3.TextState.Rotation = -45;
// テキストの断片を段落に追加します
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
// TextBuilderオブジェクトを作成します
TextBuilder textBuilder = new TextBuilder(pdfPage);
// PDFページにテキスト段落を追加します
textBuilder.AppendParagraph(paragraph);
// ドキュメントを保存
pdfDocument.Save("Rotation_TextParagraph.pdf");
出力
無料のAPIライセンスを取得する
一時ライセンスの取得を使用すると、Aspose.PDF for .NETを無料で試すことができます。
結論
PDF自動化は、Webまたはデスクトップアプリケーション内からPDFドキュメントを作成および操作するために広く採用されています。この記事では、C#を使用してプログラムでPDFのテキストを回転させる方法を学習しました。 TextFragmentクラスとTextParagraphクラスを使用してテキストを回転させる方法を明示的に説明しました。さらに、Aspose.PDF for .NETのドキュメントを使用して他の機能を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。