【问题标题】:x and y coordinate of text using itextsharp使用 itextsharp 的文本的 x 和 y 坐标
【发布时间】:2013-03-20 09:41:31
【问题描述】:

当我使用 itextsharp 提取文本时,我会得到文本的 x 和 y 坐标。如果我基于 x y 位置将文本从 pdf 转换为 html,则通过使用这 2 个坐标,文本位置会发生变化。获取我使用的 x ,y 坐标

  • 矢量 curBaseline = renderInfo.GetBaseline().GetStartPoint();

  • float x=curBaseline[Vector.I1];

  • float y= curBaseline[Vector.I2];

    例如:当我使用上述方法提取文本时说 x=42 和 y=659;

    " ",curBaseline[Vector.I1],curBaseline[Vector.I2]); 位置变化。您能帮我如何将文本默认位置设置为 pdf.??????

【问题讨论】:

  • 如果我没记错的话,PDF 使用的坐标系从页面底部的左角开始,而不是在顶部。因此,当您直接在 html 中使用它时,每个坐标都是错误的。您必须转换这些值。
  • 是的,你说得对。如何转换值?谢谢
  • 找出文档的高度并从中减去y 值。另外,要么使用文本的顶部而不是基线,要么只考虑字体的大小。
  • 我通过减去 y 来获得身高,正如你所说我试过这个。这很有帮助。高度 = reader_FirstPdf.GetPageSizeWithRotation(i).Height; ----但是如果pdf由Kd组成,那么文本将以上标为下标,下标为上标。如何解决这个问题?谢谢你
  • 如何提取多个页面副本。它们重叠在一起,看起来很乱。?

标签: itextsharp


【解决方案1】:

作为答案发布...

如果我没记错的话,PDF 使用的坐标系从页面底部的左角开始,而不是在顶部。因此,当您直接在 html 中使用它时,每个坐标都是错误的。您将不得不转换这些值。

您的 pdf 文档应该有类似 document.actualheight 的内容,只需从中减去您的值......

【讨论】:

  • 其实PDF生成软件在任何地方都可以有(0,0),无论是页内还是页外。此外,坐标以用户空间单位给出,默认情况下为 1/72 英寸,但可以配置为不同的。话虽如此,大多数 PDF 在页面左下角都有 (0,0) 并使用默认单位。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-05
  • 2012-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
相关资源
最近更新 更多