10

私はiTextsharp-javapdflib-を使用してpdfを動的に生成しています。私が理解したように、測定値はポイントで指定されます。私はcmでその場所に何を置くべきか知っています。だから私は変換が必要です:ポイント<-> cm

4

1 に答える 1

18

iText(Sharp) には、いくつかの静的変換メソッドを含むUtilitiesクラス (パッケージcom.itextpdf.text/ 名前空間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を動的に生成するだけで十分です。

ただし、一般に、測定値はユーザー空間単位で指定され、デフォルトのユーザー空間単位 (つまり、変換が行われる前) は、ページごとに任意の float 倍数になるように構成できます (実装固有の制限に従う)。 1/72インチ:

UserUnit number (オプション; PDF 1.6)デフォルトのユーザー空間単位のサイズを 1⁄72 インチの倍数で示す正の数。サポートされる値の範囲は、実装に依存するものとします。

デフォルト値: 1.0 (ユーザー空間単位は 1⁄72 インチ)。

(表 30、セクション 7.7.3.3、ISO 32000-1)

そのデフォルトにより、他に何も選択されていない場合、仮定が保持されます。

于 2013-01-30T07:33:21.193 に答える