通过C# 读取PDF页面大小、方向、旋转角度

在C#中读取PDF文件的页面大小、方向以及旋转角度,可以使用第三方库,因为.NET标准库本身并不直接支持处理PDF文件。最常用的库之一是iTextSharp,它是iText的.NET版本,一个开源的库,用于创建和操作PDF文件。

以下是一个使用iTextSharp库来读取PDF页面大小、方向和旋转角度的基本示例:

首先,需要通过NuGet安装iTextSharp库。在Visual Studio中,可以通过NuGet包管理器搜索并安装itextsharp

接下来,是读取PDF页面信息的示例代码:

cs 复制代码
using System;  
using iTextSharp.text.pdf;  
using iTextSharp.text.pdf.parser;  
  
class Program  
{  
    static void Main(string[] args)  
    {  
        string pdfPath = @"path\to\your\document.pdf"; // 替换为你的PDF文件路径  
  
        PdfReader reader = new PdfReader(pdfPath);  
        int numberOfPages = reader.NumberOfPages;  
  
        for (int pageNumber = 1; pageNumber <= numberOfPages; pageNumber++)  
        {  
            Rectangle pageSize = reader.GetPageSizeWithRotation(pageNumber);  
  
            // 页面大小  
            float width = pageSize.Width;  
            float height = pageSize.Height;  
            Console.WriteLine($"Page {pageNumber} Size: Width = {width}, Height = {height}");  
  
            // 页面方向(基于宽度和高度判断,简单逻辑)  
            string orientation;  
            if (width > height)  
            {  
                orientation = "Landscape";  
            }  
            else  
            {  
                orientation = "Portrait";  
            }  
            Console.WriteLine($"Page {pageNumber} Orientation: {orientation}");  
  
            // 页面旋转角度  
            int rotation = reader.GetPageRotation(pageNumber);  
            Console.WriteLine($"Page {pageNumber} Rotation: {rotation} degrees");  
        }  
  
        reader.Close();  
    }  
}

解释

  1. PdfReader:用于读取PDF文件。
  2. GetPageSizeWithRotation :此方法返回考虑了页面旋转的页面大小(Rectangle对象)。
  3. GetPageRotation:返回指定页面的旋转角度(以度为单位)。

注意事项

  • 页面方向(orientation)是根据页面宽度和高度简单判断的,这在大多数情况下是有效的,但可能不适用于所有情况(例如,当PDF特意设置了非标准布局时)。
  • 确保安装了正确版本的iTextSharp库,因为库的API可能会随版本变化。
  • 处理大型PDF文件时,注意内存和性能问题。
相关推荐
1024小神2 分钟前
xcode多环境 Dev 、Debug 和 Release变量配置以及怎么切换不同环境
开发语言·macos·ios·swiftui·xcode·swift
上不如老下不如小4 分钟前
2025年第七届全国高校计算机能力挑战赛 决赛 C语言组 编程题汇总
c语言·开发语言
云天徽上4 分钟前
【数据可视化-162】数据见证大爱!企业捐款驰援香港数据可视化分析(Pyecharts实现)
开发语言·python·信息可视化·数据可视化·pyecharts
她说彩礼65万4 分钟前
C# Activator详解
java·服务器·c#
-大头.4 分钟前
JDK 25革新:Java确定性性能新时代
java·开发语言
YANshangqian6 分钟前
PDF工具箱 PDF24
pdf
yong99908 分钟前
C# 入门级库存管理系统
jvm·oracle·c#
whm277717 分钟前
Visual Basic 拖放
开发语言·visual studio
阿里嘎多学长18 分钟前
2025-12-09 GitHub 热点项目精选
开发语言·程序员·github·代码托管
m5655bj19 分钟前
如何通过 C# 实现 Markdown 转 HTML 格式
开发语言·c#·html