根据ISO标准,A4为210x297 mm,或约595.2756x841.8898点。有没有理由在iTextSharp中,点值是四舍五入的,即。 595x842,即使它们是花车?
答案 0 :(得分:6)
我是负责PDF标准的ISO委员会成员。该标准定义PDF中的所有测量均以用户单位表示( NOT 点)。
默认情况下,一个用户单位大致对应有一个印刷点,但ISO委员会意识到它们并不完全相同。
这确实是引起混淆的原因。我目前正准备下周开始在圣何塞举行的ISO会议。我们正在研究ISO-32000-2(PDF 2.0),尽管ISO-32000-1已经处于良好状态,我们仍然发现一些实例,它表示点而不是用户单元,我们将替换点 by ISO> 32000-2 ..
中的用户单元底线:人们普遍认为PDF格式的A4页面由842个用户单位测量595(可能因为整数值优于实际值),这就是它在iText中以这种方式实现的原因。
答案 1 :(得分:4)
它们不是四舍五入的,而是在运行时获得的。 PageSize.A4.Right和PageSize.A4.Top是为A4类型(iTextSharp中的内部类)定义的矩形(宽度,高度)的两个值。来自PageSize.cs
:
/** This is the a4 format */
public static readonly Rectangle A4 = new RectangleReadOnly(595,842);
如您所见,它与舍入无关。
编辑:
请参阅Bruno答案以获得该问题的确切解释。引用他的评论:
关键是用户单位与点对应,但未定义为等于 点