PDF ドキュメントのページサイズ、向き、および回転角度を確認することは、品質管理プロセスの一環として必要になる場合があります。たとえば、文書を公開または配布する前に、すべてのページが正しく表示されているかどうかを確認する必要があるかもしれません。本記事では、C# で Spire.PDF for .NET を使い、PDF ページのサイズ、向き、回転角度を取得する方法を紹介します。
Spire.PDF for .NET をインストールします
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
C# で PDF ページサイズを取得する
Spire.PDF for .NET は、PDF ページの幅と高さをポイント単位で取得するために、PdfPageBase.Size.Width および PdfPageBase.Size.Height プロパティを提供しています。デフォルトの単位を他の単位に変換したい場合は、PdfUnitConvertor クラスを使用できます。以下に詳細な手順を示します。
- PdfDocument インスタンスを作成します。
- PdfDocument.LoadFromFile() メソッドを使って PDF ファイルを読み込みます。
- PdfDocument.Pages[] プロパティを使って指定したページを取得します。
- PdfPageBase.Size.Width および PdfPageBase.Size.Height プロパティを使用して、PDF ページの幅と高さを取得します。
- PdfUnitConvertor インスタンスを作成し、PdfUnitConvertor.ConvertUnits() メソッドを使ってポイント単位を他の測定単位に変換します。
- ページサイズの情報を StringBuilder インスタンスに追加し、結果を TXT ファイルに保存します。
- C#
using System.Text;
using Spire.Pdf;
using Spire.Pdf.Graphics;
namespace GetPDFPageSize
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentオブジェクトを作成
PdfDocument pdf = new PdfDocument();
// ディスクからPDFファイルを読み込む
pdf.LoadFromFile("Sample.pdf");
// 最初のページを取得
PdfPageBase page = pdf.Pages[0];
// ページの幅と高さをポイントで取得
float pointWidth = page.Size.Width;
float pointHeight = page.Size.Height;
// PdfUnitConvertorを作成して単位を変換
PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
// ポイントをピクセルに変換
float pixelWidth = unitCvtr.ConvertUnits(pointWidth, PdfGraphicsUnit.Point, PdfGraphicsUnit.Pixel);
float pixelHeight = unitCvtr.ConvertUnits(pointHeight, PdfGraphicsUnit.Point, PdfGraphicsUnit.Pixel);
// ポイントをインチに変換
float inchWidth = unitCvtr.ConvertUnits(pointWidth, PdfGraphicsUnit.Point, PdfGraphicsUnit.Inch);
float inchHeight = unitCvtr.ConvertUnits(pointHeight, PdfGraphicsUnit.Point, PdfGraphicsUnit.Inch);
// ポイントをセンチメートルに変換
float centimeterWidth = unitCvtr.ConvertUnits(pointWidth, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter);
float centimeterHeight = unitCvtr.ConvertUnits(pointHeight, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter);
// StringBuilderインスタンスを作成
StringBuilder content = new StringBuilder();
// ページサイズ情報をStringBuilderインスタンスに追加
content.AppendLine("このページのサイズ(ポイント)は (幅: " + pointWidth + "pt, 高さ: " + pointHeight + "pt) です。");
content.AppendLine("このページのサイズ(ピクセル)は (幅: " + pixelWidth + "pixel, 高さ: " + pixelHeight + "pixel) です。");
content.AppendLine("このページのサイズ(インチ)は (幅: " + inchWidth + "inch, 高さ: " + inchHeight + "inch) です。");
content.AppendLine("このページのサイズ(センチメートル)は (幅: " + centimeterWidth + "cm, 高さ: " + centimeterHeight + "cm) です。");
// テキストファイルに保存
File.WriteAllText("GetPageSize.txt", content.ToString());
}
}
}
C# で PDF ページの向きを取得する
PDF ページの向きを検出するには、ページの幅と高さを比較します。ページの幅が高さより大きい場合、そのページは横向き(ランドスケープ)であり、それ以外の場合は縦向き(ポートレート)です。以下に詳細な手順を示します。
- PdfDocument インスタンスを作成します。
- PdfDocument.LoadFromFile() メソッドを使って PDF ファイルを読み込みます。
- PdfDocument.Pages[] プロパティを使って指定したページを取得します。
- PdfPageBase.Size.Width および PdfPageBase.Size.Height プロパティを使用して、PDF ページの幅と高さを取得します。
- ページの幅と高さの値を比較して、ページの向きを検出します。
- Console.WriteLine() メソッドを使って結果を出力します。
- C#
using Spire.Pdf;
namespace GetPDFPageOrientation
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentオブジェクトを作成
PdfDocument pdf = new PdfDocument();
// ディスクからPDFファイルを読み込む
pdf.LoadFromFile("Sample.pdf");
// 最初のページを取得
PdfPageBase page = pdf.Pages[0];
// ページの幅と高さを取得
float width = page.Size.Width;
float height = page.Size.Height;
// ページの幅と高さを比較
if (width > height)
{
Console.WriteLine("\r\n\r\nページの向きは横向きです。");
}
else
{
Console.WriteLine("\r\n\r\nページの向きは縦向きです。");
}
}
}
}
C# で PDF ページの回転角度を取得する
PDF ページの回転角度は、PdfPageBase.Rotation プロパティを通じて取得できます。以下に詳細な手順を示します。
- PdfDocument インスタンスを作成します。
- PdfDocument.LoadFromFile() メソッドを使って PDF ファイルを読み込みます。
- PdfDocument.Pages[] プロパティを使って指定したページを取得します。
- PdfPageBase.Rotation プロパティを使用してページの回転角度を取得し、それを文字列に変換します。
- Console.WriteLine() メソッドを使って結果を出力します。
- C#
using Spire.Pdf;
namespace GetPDFPageRotationAngle
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentオブジェクトを作成
PdfDocument pdf = new PdfDocument();
// ディスクからPDFファイルを読み込む
pdf.LoadFromFile("Sample.pdf");
// 最初のページを取得
PdfPageBase page = pdf.Pages[1];
// 現在のページの回転角度を取得
PdfPageRotateAngle rotationAngle = page.Rotation;
string rotation = rotationAngle.ToString();
// ページの回転角度情報を出力
Console.WriteLine("\r\n\r\n現在のページの回転角度は: " + rotation);
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。