itextsharp将点转换为cm

本文关键字:cm 转换 itextsharp | 更新日期: 2023-09-27 17:56:30

我正在使用iTextsharp - 一个java pdf lib - 动态生成pdf。现在据我了解,测量值以点为单位。我知道在哪里放置什么以厘米为单位。所以我需要转换:点 <-> 厘米

itextsharp将点转换为cm

iText(Sharp) 有一个Utilities类(package com.itextpdf.text/namespace iTextSharp.text),其中包含几种静态转换方法,特别是:

// iText
public static final float millimetersToPoints(final float value);
public static final float millimetersToInches(final float value);
public static final float pointsToMillimeters(final float value);
public static final float pointsToInches(final float value);
public static final float inchesToMillimeters(final float value);
public static final float inchesToPoints(final float value);
// iTextSharp
public static float MillimetersToPoints(float value);
public static float MillimetersToInches(float value);
public static float PointsToMillimeters(float value);
public static float PointsToInches(float value);
public static float InchesToMillimeters(float value);
public static float InchesToPoints(float value);

您假设以点为单位指定测量值只是部分正确,但在您的用例中,动态生成 pdf 就足够了。

但是,通常,度量值以用户空间单位指定,并且默认用户空间单位(即在任何转换到位之前)可以按页面配置为 1/72 英寸的任何浮点倍数(受实现特定限制的约束):

用户单位(可选;PDF 1.6) 一个正数,应给出默认用户空间单位的大小,以 1/72 英寸的倍数表示。支持的值范围应与实现相关。

默认值:1.0(用户空间单位为 1⁄72 英寸)。

(ISO 32000-1,第7.7.3.3节表30)

由于该默认值,如果没有选择任何其他内容,您的假设成立。