【问题标题】:iTextSharp unitsiTextSharp 单位
【发布时间】:2023-03-23 21:00:01
【问题描述】:

谁知道 iTextSharp 使用什么单位制?我的第一个假设是像素,但我不确定。

谢谢!

编辑:很抱歉没有更具体,感谢您让我知道。我说的是 PageSize 和 Margins 中的度量单位。

【问题讨论】:

  • PageSize 和 Margins 都使用与其他所有内容(点)相同的单位。所以 36 的左边距就是半英寸的边距。
  • 但是,如果您想要一个精确的值,我认为这两个都有点困难,因为设置它们的简单方法需要一个 int(将您限制为 1/72 英寸的倍数,而不是如果您需要匹配公制页面模板,那就太好了)。我不记得你是否可以定义一个自定义页面模板来解决这个问题,或者它是否是 PDF 标准中的一个限制。
  • 当一个库的文档说诸如“int waitDuration - 等待的持续时间”之类的东西而没有指定测量单位时,这真的很令人讨厌。我会很尴尬地发布带有这样毫无意义的描述的文档。在这里,iTextSharp 文档说“参数:pageSize - pageSize”非常感谢!

标签: asp.net vb.net itextsharp


【解决方案1】:

如果我没记错的话,它使用“点”,即与字体相同的度量单位(因为 PDF 以正确的字体呈现为中心)。

一个“点”是 1/72 英寸(或大约 0.353 毫米)。

【讨论】:

    【解决方案2】:
    pointsValue = iTextSharp.text.Utilities.MillimetersToPoints(mmValue)
    

    这里还有更多选项 https://sourceforge.net/p/itextsharp/itextsharp/ci/31e03918bb1eedc8f0d9efe56b982dfcee7aaa4d/tree/src/core/iTextSharp/text/Utilities.cs#l189

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      相关资源
      最近更新 更多