Skip to content

renderBusinessLicense

使用 Canvas 渲染中国营业执照(简化版样式,仅用于演示/测试)。

前置依赖

依赖参数

参数名类型说明
deps.createCanvas(width: number, height: number) => CanvasLike创建指定大小的 Canvas 对象
deps.ImageWindow['Image']Image 构造函数

环境要求

  • 浏览器环境: 需要支持 Canvas API

函数签名

typescript
function renderBusinessLicense(
  profile: GeneratedBusinessLicenseProfile,
  deps: RenderBusinessLicenseDeps,
  options?: RenderBusinessLicenseOptions
): RenderBusinessLicenseResult

interface RenderBusinessLicenseOptions {
  /** 企业名称(默认从 profile 中获取) */
  companyName?: string
}

interface RenderBusinessLicenseDeps {
  /** 创建指定大小的 Canvas 对象 */
  createCanvas: (width: number, height: number) => CanvasLike
  /** Image 构造函数 */
  Image: Window['Image']
}

interface RenderBusinessLicenseResult {
  /** 渲染好的 Canvas 对象 */
  canvas: CanvasLike
}

参数

参数名类型必填说明
profileGeneratedBusinessLicenseProfile营业执照信息(由 generateFakeBusinessLicense 生成)
depsRenderBusinessLicenseDeps环境依赖,提供 createCanvasImage 方法
optionsRenderBusinessLicenseOptions渲染选项,可覆盖企业名称

返回值

类型说明
RenderBusinessLicenseResult包含渲染好的 Canvas 对象,可用于导出图片或展示

工作原理

  1. 通过 deps.createCanvas 创建画布(标准尺寸:856×600 像素)
  2. 绘制标题:"营业执照"
  3. 绘制边框装饰线
  4. 绘制各项信息:
    • 统一社会信用代码(特殊样式,较大字体)
    • 企业名称
    • 类型
    • 住所(支持多行显示)
    • 法定代表人
    • 注册资本
    • 成立日期
    • 营业期限
    • 经营范围(支持多行显示)
    • 登记机关
    • 登记日期
  5. 绘制底部装饰线
  6. 返回渲染好的 Canvas 对象

说明:此实现仅为演示用途,非真实制式版式与字体布局。