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

使用signintech的pdft与gopdf库生成PDF时文本倒置问题求助

解决pdft/gopdf插入文本倒置问题

针对使用signintech pdft库插入文本后出现倒置的问题,可尝试以下几种方案解决:

1. 适配PDF坐标系调整Y坐标

PDF标准坐标系原点在页面左下角,但部分模板文档可能采用左上角为原点,导致Y坐标方向与预期相反。先获取目标页面高度,转换Y坐标:

// 获取第1页的尺寸
pageWidth, pageHeight := pt.GetPageSize(1)
// 转换Y坐标(原Y值587改为页面高度减去该值)
adjustedY := pageHeight - 587

// 使用转换后的坐标插入文本
err = pt.Insert("Text Testing", 1, 222, adjustedY, PdfDefaultW, PdfDefaultH, PdfDefaultAlign, nil)

2. 修改对齐方式组合

当前使用的gopdf.Left | gopdf.Bottom对齐组合可能与坐标系不匹配,尝试替换为gopdf.Left | gopdf.Top:

const (
    PdfDefaultW     = 1000.0
    PdfDefaultH     = 11.0
    // 修改对齐方式
    PdfDefaultAlign = gopdf.Left | gopdf.Top
)

3. 显式设置文本旋转参数

若页面本身存在旋转设置,可通过pdft.Option强制设置文本旋转角度:

opt := &pdft.Option{Rotate: 0}
err = pt.Insert("Text Testing", 1, 222, 587, PdfDefaultW, PdfDefaultH, PdfDefaultAlign, opt)

额外排查点

  • 确认模板PDF本身是否存在页面旋转设置,可通过PDF阅读器查看页面属性中的旋转值
  • 测试替换为内置标准字体(如Helvetica),排查自定义字体文件是否存在异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:48:22