根据国际标准化组织的标准,A4为210x297毫米,约为595.2756x841.8898点。在iTextSharp中,点值为什么是四舍五入的,即。595x842,即使它们是浮标?

发布于 2015-04-12 18:09:35
我是ISO委员会的成员,负责PDF标准。该标准定义了PDF中的所有度量都是由用户单位(而不是点)表示的。
默认情况下,一个用户单元与一个排印点大致对应,但ISO委员会意识到它们并不完全相同。
这确实是引起混乱的原因。我目前正在为下周开始在圣何塞举行的ISO会议做准备。我们正在研究ISO-32000-2 (PDF-2.0),尽管ISO-32000-1已经处于良好的状态,但我们仍然发现了一些例子,它说的是点而不是用户单位,我们将在ISO-32000-2中逐个替换用户单元。
底线:人们普遍认为,PDF中的A4页面是由842个用户单位(可能是整数值优先于实际值)来度量595,这就是为什么在iText中采用这种方式实现的原因。
发布于 2015-04-12 17:34:29
它们不是四舍五入的,而是在运行时获得的。A4 .height和PageSize.A4. type是为A4类型(iTextSharp中的一个内部类)定义的矩形(宽度、高度)的两个值。来自PageSize.cs
/** This is the a4 format */
public static readonly Rectangle A4 = new RectangleReadOnly(595,842);你看,这与四舍五入无关。
编辑:
有关这一问题的确切解释,请参见布鲁诺的回答。引用他的评论:
关键是用户单元与点对应,但不定义为等于点。
https://stackoverflow.com/questions/29592237
复制相似问题