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

pdf-lib 使用的是什么颜色格式?如何将标准RGB转换为对应格式?

pdf-lib颜色格式说明及转换方法

支持的颜色格式

pdf-lib 内置的rgb()、cmyk()、grayscale()等颜色创建函数,要求所有输入的颜色分量均为0~1区间的归一化浮点值:

  • 常规0-255范围的RGB颜色,需将R/G/B分量分别除以255得到归一化值
  • 常规0-100范围的CMYK颜色,需将C/M/Y/K分量分别除以100得到归一化值
    直接传入超过1的分量值会触发参数校验错误。

0-255标准RGB转pdf-lib兼容格式方法

对三个RGB分量分别做归一化计算即可,可直接参考如下实现:

// 数值钳位工具,避免输入超范围值
const clamp = (val, min, max) => Math.min(Math.max(val, min), max)

// RGB转换函数:输入0-255范围的r/g/b值,返回pdf-lib可用的颜色对象
const convertRgbToPdfLib = (r, g, b) => {
  return rgb(
    clamp(r, 0, 255) / 255,
    clamp(g, 0, 255) / 255,
    clamp(b, 0, 255) / 255
  )
}

// 调用示例:转换RGB(156, 132, 67)
const docFillColor = convertRgbToPdfLib(156, 132, 67)

如果需要转换CMYK格式,同理对每个0-100范围的分量除以100即可:

const convertCmykToPdfLib = (c, m, y, k) => {
  return cmyk(
    clamp(c, 0, 100) / 100,
    clamp(m, 0, 100) / 100,
    clamp(y, 0, 100) / 100,
    clamp(k, 0, 100) / 100
  )
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:27:05