Javascript PDFKit Node.js测量单位

Javascript PDFKit Node.js测量单位,javascript,node.js,printing,pdfkit,node-pdfkit,Javascript,Node.js,Printing,Pdfkit,Node Pdfkit,PDFKit(Node.js)中使用的度量单位是什么?例如,我们使用: doc.text(20, 20, 'Message') 20(x)和20(x)代表什么?是厘米,毫米,英寸吗?我可以将其更改为任何熟悉的格式,如cm、mm或inch 有什么想法吗?与大多数PDF生成器(如果没有)一样,PDFKit也使用PDF点,如官方文档中所述: 布局属性可以是纵向(默认)或横向。size属性可以是指定[width,height]的数组(以PDF点为单位,每英寸72个),也可以是指定预定义大小的字符串。此

PDFKit(Node.js)中使用的度量单位是什么?例如,我们使用:

doc.text(20, 20, 'Message')
20(x)
20(x)
代表什么?是厘米,毫米,英寸吗?我可以将其更改为任何熟悉的格式,如
cm
mm
inch

有什么想法吗?

与大多数PDF生成器(如果没有)一样,PDFKit也使用PDF点,如官方文档中所述:

布局属性可以是纵向(默认)或横向。size属性可以是指定[width,height]的数组(以PDF点为单位,每英寸72个),也可以是指定预定义大小的字符串。此处可以看到预定义图纸尺寸的列表。默认值为字母

您可以通过两种方式设置页边距。第一种方法是将边距属性(单数)设置为数字,将边距应用于所有边。另一种方法是将“边距”属性(复数)设置为具有“上”、“下”、“左”和“右”值的对象默认为所有边上的1英寸(72点)边距

该单位不仅适用于指定布局尺寸时,而且适用于使用任何类型的编号单位修改生成的PDF。(例如绘图文本、图像、向量等)


由于源自,因此它在内部也使用相同的图形模型,包括与PostScript相同的基本测量单位,即(
72点==1英寸
)。此测量单位是使用和说明尺寸的独立于设备的方式


您不能更改PDFKit的测量单位。为了使用其他单位而不是点,您必须自己计算单位并根据点乘以系数。由于未绑定到整数点,因此在指定点时也可以使用浮动(例如:
100.15


例子: 如果使用A4大小的页面(即
8.27×11.69英寸
210×297毫米
),其尺寸将四舍五入到
595×842点
pt
):

  • 1pt
    ~0.35mm
    ,或
    ~0.04cm
  • 10pt
    ~3.53mm
    ,或
    ~0.35cm
  • 100pt
    ~35.28mm
    ,或
    ~3.53cm
  • 148.75pt
    (四分之一页宽)为
    ~52.48mm
    ~5.25cm
  • 297.5pt
    (半页宽)为
    ~104.95mm
    ~10.50cm
如果您需要像素,您也必须根据特定的DPI进行计算,因此A4大小页面的像素大小包括:

  • 72 DPI
    is
    595 x 842px
  • 96 DPI
    is
    794 x 1123px
  • 150 DPI
    is
    1240 x 1754px
  • 300 DPI
    is
    2480 x 3508px

对于初学者,这里有一个简单的脚本,列出了转换为您提到的点后的基本单位及其值:

函数mmToPt(mm){
返回毫米*2.83465;
}
函数cmToPt(cm){
返回cm*28.3465;
}
功能inchToPt(英寸){
返回英寸*72;
}
常数单位=[
1.
2.
3.
5.
10,
15,
20,
25,
50,
100,
150,
250,
500,
1000
];
函数转换(单位){
让名字;
let转换器;
开关(单位){
案例“mm”:
名称='毫米';
转换器=mmToPt;
打破
案例“cm”:
名称=‘厘米’;
转换器=cmToPt;
打破
“英寸”大小写:
名称=‘英寸’;
转换器=inchToPt;
打破
}
log(`Convert${name}to points:`);
单位:每小时(u=>{
let converted=转换器(u).toFixed(2);
//去掉不需要的.00小数
如果(+converted===parseInt(converted,10)){
转换=+转换;
}
log(`${u}${unit}是${converted}pt,所以在doc.text(${converted},${converted},'Message')`)中;
});
console.log('--------------------------------------------------');
}
转换(“mm”);
转换('cm');
换算(‘英寸’)关于您的“如果没有”备注:jsPDF默认使用毫米(mm)。