liujunjieonline 2024-05-11 15:34 采纳率: 62.5%
浏览 16
已结题

iTextSharp操作pdf问题

pdf页面显示高大于宽,但是iTextSharp读取Rectangle里面显示是宽大于高,这是怎么回事

img

  • 写回答

4条回答 默认 最新

  • 笑面虎 2024-05-11 15:34
    关注

    以下内容由CHATGPT及笑面虎共同生成、有用望采纳:


    您想要解决的问题: 您提问的目的是解决在使用 iTextSharp 库操作 PDF 文件时遇到的一个页面尺寸问题。具体来说,PDF 页面在视觉上显示为高度大于宽度,但是 iTextSharp 读取该页面的 Rectangle 对象时却显示宽度大于高度。

    图片内容: 您上传的图片是一张带有物流信息的发票或运单,上面包含了一些物流和计费信息,如运单号、地址、联系方式等。这些信息对于解决您的编程问题没有直接帮助,但可能是您在处理 PDF 文件时遇到的具体上下文信息。

    问题出现原因: 这个问题可能出现的原因有几个:

    1. PDF 文件的页面尺寸可能在创建时被错误地定义了,导致实际显示的尺寸和 Rectangle 对象中存储的尺寸不一致。
    2. iTextSharp 可能没有正确地解析 PDF 文件中的页面尺寸信息。
    3. 屏幕显示的 DPI 设置可能影响了页面的视觉尺寸,而 iTextSharp 读取的是实际的 PDF 尺寸,没有考虑 DPI 设置。

    问题解决方案: 为了解决这个问题,您可以尝试以下步骤:

    1. 确认 PDF 文件中的页面尺寸是否正确。您可以使用 Adobe Acrobat 或其他 PDF 编辑工具来查看和修改页面尺寸。
    2. 在使用 iTextSharp 读取页面尺寸之前,检查 PDF 文件的旋转设置,因为有时候页面可能被旋转了,导致尺寸读取不正确。
    3. 如果您需要根据视觉尺寸来布局页面内容,可能需要根据屏幕的 DPI 来调整尺寸计算。

    提供代码: 以下是一个使用 iTextSharp 读取 PDF 页面尺寸的示例代码:

    using System.IO;
    using iTextSharp.text;
    using iTextSharp.text.pdf;
    
    // 打开 PDF 文件
    Document document = new Document();
    PdfReader reader = new PdfReader("path/to/your/document.pdf");
    document.Open();
    
    // 获取第一页的 Rectangle 对象
    PdfContentByte cb = document.GetPdfContentByte();
    Rectangle pagesize = reader.GetPageSizeWithRotation(1);
    
    // 打印页面尺寸
    Console.WriteLine("Page size: " + pagesize.Width + "x" + pagesize.Height);
    
    document.Close();
    reader.Close();
    

    代码运行方式: 您需要在支持 .NET 的开发环境中运行这段代码,如 Visual Studio。确保您的项目中已经引用了 iTextSharp 库。

    代码预期运行结果: 代码将输出 PDF 文件第一页的尺寸,格式为宽度x高度。

    推荐相关链接

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 创建了问题 5月11日

悬赏问题

  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证