在处理PDF文件时,了解页面的大小、方向和旋转角度等信息对于PDF的显示、打印和布局设计至关重要。本文将介绍如何使用免费.NET 库通过C#来读取PDF页面的这些属性。

  • C# 读取PDF页面大小(宽度、高度)
  • C# 判断PDF页面方向
  • C# 检测PDF页面旋转角度


免费库
Free Spire.PDF for .NET
提供了接口来获取PDF页面信息,我们可以从官网
下载产品包
后手动添加引用,或者直接通过NuGet安装。

PM> Install-Package FreeSpire.PDF

输入文档如图:

C# 读取PDF页面大小(宽度、高度)

免费Spire.PDF提供了
PdfPageBase.Size.Width

PdfPageBase.Size.Height
属性来获取指定PDF页面的宽度和高度。
获取到的值默认单位为磅(point),如果想要将其转换为厘米、毫米等常见单位,可以通过
PdfUnitConvertor
类的
ConvertUnits(float value, PdfGraphicsUnit from, PdfGraphicsUnit to)
方法进行转换。

示例代码如下:

usingSystem;usingSystem.Text;usingSpire.Pdf;usingSpire.Pdf.Graphics;namespaceGetPDFPageSize
{
classProgram
{
static void Main(string[] args)
{
//加载PDF文件 PdfDocument pdf = newPdfDocument();
pdf.LoadFromFile(
"示例.pdf");//获取第一页 PdfPageBase page = pdf.Pages[0];//获取页面宽度和高度(默认单位为point) float pointWidth =page.Size.Width;float pointHeight =page.Size.Height;//创建PdfUnitConvertor对象用于转换单位 PdfUnitConvertor unitCvtr = newPdfUnitConvertor();//将单位从磅(point)转换为厘米 float centimeterWidth =unitCvtr.ConvertUnits(pointWidth, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter);float centimeterHeight =unitCvtr.ConvertUnits(pointHeight, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter);//将单位从磅(point)转换为毫米 float millimeterWidth =unitCvtr.ConvertUnits(pointWidth, PdfGraphicsUnit.Point, PdfGraphicsUnit.Millimeter);float millimeterHeight =unitCvtr.ConvertUnits(pointHeight, PdfGraphicsUnit.Point, PdfGraphicsUnit.Millimeter);//输出PDF页面宽高度信息 Console.WriteLine("该PDF页面大小为(以磅为单位): 宽度" + pointWidth + "pt, 高度" + pointHeight + "pt");
Console.WriteLine(
"该PDF页面大小为(以厘米为单位): 宽度" + centimeterWidth + "cm, 高度" + centimeterHeight + "cm");
Console.WriteLine(
"该PDF页面大小为(以毫米为单位): 宽度" + millimeterWidth + "mm, 高度" + millimeterHeight + "mm");

}
}
}

输出结果:

C# 判断PDF页面方向

页面的方向通常以横向或纵向表示。要判断指定PDF页面的方向:

  1. 先获取页面宽度和高度
  2. 再比较这两个值。(如果宽度大于高度,则页面方向为横向,反之则为纵向。)

示例代码如下:

usingSpire.Pdf;usingSystem;namespaceGetPDFPageOrientation
{
classProgram
{
static void Main(string[] args)
{
//加载PDF文档 PdfDocument pdf = newPdfDocument();
pdf.LoadFromFile(
"示例.pdf");//获取第一页 PdfPageBase page = pdf.Pages[0];//获取页面宽度和高度 float width =page.Size.Width;float height =page.Size.Height;//通过比较页面宽度和高度来判断页面方向 if (width >height)
{
Console.WriteLine(
"当前页面方向为横向。");
}
else{
Console.WriteLine(
"当前页面方向为纵向。");
}
}
}
}

输出结果:

C# 检测PDF页面旋转角度

通过
PdfPageBase.Rotation

属性可以获取指定PDF页面的旋转角度。如果为 0,则表示页面保持原来的方向。

示例代码如下:

usingSpire.Pdf;usingSystem;namespaceGetPDFPageOrientation
{
classProgram
{
static void Main(string[] args)
{
//加载PDF文档 PdfDocument pdf = newPdfDocument();
pdf.LoadFromFile(
"示例.pdf");//获取第一页 PdfPageBase page = pdf.Pages[0];//获取页面的旋转角度并输出结果 PdfPageRotateAngle rotationAngle =page.Rotation;string rotation =rotationAngle.ToString();

Console.WriteLine(
"当前页面旋转角度为:" +rotation);
}
}
}

输出结果:


– 如有任何疑问,可前往
论坛
交流。

标签: none

添加新评论