You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PDF导出脚本:如何让输入的姓名文本居中对齐?

解决PDF文本居中问题

要实现文本水平居中,你需要先计算文本的实际宽度,再结合页面宽度算出居中的X坐标,具体步骤如下:

  1. 获取页面宽度:通过PDF页面对象的getWidth()方法获取当前页面的宽度。
  2. 计算文本宽度:使用字体对象的widthOfTextAtSize()方法,传入姓名和字体大小,得到文本的实际宽度。
  3. 计算居中X坐标:用页面宽度减去文本宽度,再除以2,就是水平居中的起始X坐标。

修改后的代码如下:

// 获取页面宽度
const pageWidth = firstPage.getWidth();
// 计算姓名文本的宽度
const textWidth = ArialFont.widthOfTextAtSize(name, 35);
// 计算水平居中的X坐标
const centerX = (pageWidth - textWidth) / 2;

firstPage.drawText(name, {
  x: centerX, // 使用计算后的居中X坐标
  y: 245,
  size: 35,
  font: ArialFont,
  color: rgb(0, 0, 0),
});

如果需要同时实现垂直居中,你可以用类似的逻辑:

const pageHeight = firstPage.getHeight();
// 计算文本高度(如需更精确可使用font.heightAtSize())
const textHeight = ArialFont.heightAtSize(35);
const centerY = (pageHeight - textHeight) / 2;

// 然后将drawText的y参数设为centerY即可

核心逻辑就是通过动态计算替代固定的X/Y值,确保文本始终处于目标区域的居中位置,不管姓名长短都能适配。

内容的提问来源于stack exchange,提问作者Garry78

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:50:37