微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Itext 7中iText.Kernel.Geom.Rectangle方法的坐标和高度、宽度单位

如何解决Itext 7中iText.Kernel.Geom.Rectangle方法的坐标和高度、宽度单位

我将从 PDF 文件的特定矩形中提取文本 我使用了 Itext 7 中的这些方法 https://api.itextpdf.com/iText7/dotnet/7.1.8/classi_text_1_1_kernel_1_1_geom_1_1_rectangle.html

 iText.Kernel.Geom.Rectangle rect = new iText.Kernel.Geom.Rectangle(float x,float y,float width,float height);
 TextRegionEventFilter regionFilter = new TextRegionEventFilter(rect.SetBBox(float x,float height));

我不知道这些坐标的单位和矩形单位的大小是什么。那应该是英寸、毫米或厘米。 你能告诉我应该使用什么单位吗?

解决方法

首先,如果您已经在其构造函数中设置了所需的矩形

iText.Kernel.Geom.Rectangle rect = new iText.Kernel.Geom.Rectangle(float x,float y,float width,float height);

这里不需要再设置

TextRegionEventFilter regionFilter = new TextRegionEventFilter(rect.SetBbox(float x,float height));

你只需要

TextRegionEventFilter regionFilter = new TextRegionEventFilter(rect);

话虽如此,坐标是默认用户空间坐标

对于文档的每一页,用户空间坐标系应初始化为默认状态。页面字典中的CropBox 条目应指定与预期输出媒体(显示窗口或打印页面)的可见区域相对应的用户空间矩形。正 x 轴水平向右延伸,正 y 轴垂直向上延伸,如标准数学实践中(受旋转页词典中的条目)。沿 xy 轴的单位长度由页面词典中的 UserUnit 条目 (PDF 1.6) 设置(请参阅“表 31 — 页面对象中的条目")。如果该条目不存在或不支持,则使用默认值 1 ⁄ 72 英寸。该坐标系称为默认用户空间。

(ISO 32000-1 和 32000-2 第 8.3.2.3 节)

您可以从有问题的 itext 页面对象中检索提到的条目。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。