Hel*_*rld 1 javascript printing pdfkit node.js node-pdfkit
PDFKit(Node.js)中使用的度量单位是什么?例如,我们使用:
doc.text(20, 20, 'Message')
Run Code Online (Sandbox Code Playgroud)
什么是20(x)和20(x)立场?是厘米,毫米,英寸吗?我可以把它改成任何熟悉的格式一样cm,mm或inch?
有任何想法吗?
由于大多数PDF生成器(如果没有的话),PDFKit使用点下的正式文件中也规定作为添加页面部分为PDF要点:
layout属性可以是纵向(默认)或横向。size属性可以是在PDF点中指定[宽度,高度]的数组(每英寸72个),也可以是指定预定义大小的字符串。可以在此处看到预定义纸张尺寸的列表。默认为字母。
...
您可以通过两种方式设置页边距。第一种是通过将margin属性(单数)设置为一个数字,将该margin应用于所有边缘。另一种方法是将margins属性(复数)设置为具有top,bottom,left和right值的对象。默认值为所有边距均为1英寸(72点)。
该单位不仅在指定布局尺寸时适用,而且在使用任何类型的编号单位来修改生成的PDF时也适用。 (例如,绘制文字,图像,矢量等)
由于PDF是从PostScript派生的,因此它在内部使用相同的图形模型,包括与PostScript相同的基本度量单位,即points (72 points == 1 inch)。此度量单位是使用和说明尺寸的与设备无关的方式。
您不能更改PDFKit的度量单位。为了使用其他单位而不是点,您必须计算自己的单位并根据points乘以一个因子。由于您没有绑定到整数点,因此在指定点时也可以使用浮点数(例如100.15)。
如果您使用A4尺寸的页面(即8.27 × 11.69 inches或210 × 297 mm),则其尺寸将四舍五入为595 × 842 points(pt简称):
1pt是~0.35mm或~0.04cm10pt是~3.53mm或~0.35cm100pt是~35.28mm或~3.53cm148.75pt(四分之一页宽度)为~52.48mm或~5.25cm297.5pt(半页宽度)为~104.95mm或~10.50cm如果需要像素,则还必须以特定的DPI为基础进行计算,因此A4尺寸页面的尺寸以像素为单位:
72 DPI 是 595 x 842px96 DPI 是 794 x 1123px150 DPI 是 1240 x 1754px300 DPI 是 2480 x 3508px首先,这是一个简单的脚本,列出了转换为您提到的点后的基本单位及其值:
function mmToPt (mm) {
return mm * 2.83465;
}
function cmToPt (cm) {
return cm * 28.3465;
}
function inchToPt (inch) {
return inch * 72;
}
const units = [
1,
2,
3,
5,
10,
15,
20,
25,
50,
100,
150,
250,
500,
1000
];
function convert (unit) {
let name;
let converter;
switch (unit) {
case 'mm':
name = 'millimeters';
converter = mmToPt;
break;
case 'cm':
name = 'centimeters';
converter = cmToPt;
break;
case 'inch':
name = 'inches';
converter = inchToPt;
break;
}
console.log(`Convert ${name} to points:`);
units.forEach(u => {
let converted = converter(u).toFixed(2);
// get rid of unneeded .00 decimals
if (+converted === parseInt(converted, 10)) {
converted = +converted;
}
console.log(`${u}${unit} is ${converted}pt, so in doc.text(${converted}, ${converted}, 'Message')`);
});
console.log('--------------------------------------------');
}
convert('mm');
convert('cm');
convert('inch');Run Code Online (Sandbox Code Playgroud)
您可以找到一张纸张尺寸表,其中包含以磅为单位的相应尺寸。该表适用于PDFKit和大多数(如果没有的话) PDF生成器。
| 归档时间: |
|
| 查看次数: |
1751 次 |
| 最近记录: |