PDFKit(Node.js)中使用的度量单位是什么?例如,我们使用:
doc.text(20, 20, 'Message')
20(x)
和20(x)
代表什么?是厘米,毫米,英寸吗?我可以将其更改为任何熟悉的格式,例如cm
,mm
或inch
吗?
有什么想法吗?
答案 0 :(得分:4)
与大多数PDF生成器(如果没有) 一样,PDFKit也使用points部分中的官方文档中的Adding pages作为 PDF点。 strong>:
layout属性可以是纵向(默认)或横向。 size属性可以是指定[宽度,高度] 以PDF点为单位(每英寸72)的数组,也可以是指定预定义大小的字符串。可以在此处看到预定义纸张尺寸的列表。默认值为字母。
...
您可以通过两种方式设置页边距。第一种是通过将margin属性(单数)设置为一个数字,将该margin应用于所有边缘。另一种方法是将margins属性(复数)设置为具有top,bottom,left和right值的对象。 默认值为所有边距均为1英寸(72点)。
此单位不仅在指定布局尺寸时适用,而且在使用任何类型的编号单位修改生成的PDF时也适用。 (例如,图形文字,图像,向量等)
由于PDF源自PostScript,因此它内部使用相同的图形模型,包括与PostScript相同的基本度量单位,即points ({{1} })。此度量单位是与设备无关的使用和说明尺寸的方式。
您不能更改PDFKit的度量单位。为了使用其他单位而不是点,您必须计算自己的单位,并乘以根据点的系数 。由于您未绑定到整数点,因此在指定点时也可以使用浮点数(例如:72 points == 1 inch
)。
如果使用尺寸为 A4 的页面(100.15
或8.27 × 11.69 inches
),其尺寸将四舍五入为210 × 297 mm
({{1} }):
595 × 842 points
是pt
或1pt
~0.35mm
是~0.04cm
或10pt
~3.53mm
是~0.35cm
或100pt
~35.28mm
(四分之一页宽度)是~3.53cm
或148.75pt
~52.48mm
(半页宽度)是~5.25cm
或297.5pt
如果需要像素,则也必须以特定的 DPI 为基础,因此, A4 大小的页面的像素大小为:>
~104.95mm
是~10.50cm
72 DPI
是595 x 842px
96 DPI
是794 x 1123px
150 DPI
是1240 x 1754px
对于初学者来说,这是一个简单的脚本,列出了转换成您提到的点后的基本单位及其值:
300 DPI
You can find a table of paper sizes with corresponding dimensions in points.此表也适用于PDFKit和大多数(如果没有) PDF生成器。