feat(文件拆分): 拆分字体图像基础能力
build.yaml / build (push) Successful in 49s

This commit is contained in:
xiaoqidun committed 2026-10-14 00:12:00 +08:00
1 parent ee3fd02a0a
commit 64f9ec4241
87 files changed
+2693 -2289

No files matched your search

+5 -19
View File
@@ -22,6 +22,8 @@ import (
"encoding/xml"
"fmt"
"strings"
baseimage "github.com/xiaoqidun/ofdgo/internal/base/image"
)
const (
@@ -333,7 +335,7 @@ func sealMediaFromElements(elements []asn1.RawValue) (string, []byte, bool) {
if len(elements) < 2 || elements[1].Tag != asn1.TagOctetString {
return "", nil, false
}
mediaType := normalizeSealType(sealString(elements[0]))
mediaType := baseimage.NormalizeFormat(sealString(elements[0]))
if isSealMediaType(mediaType) {
if mediaType == "ofd" {
if data := trimOFDPackage(elements[1].Bytes); len(data) > 0 {
@@ -363,22 +365,6 @@ func sealString(raw asn1.RawValue) string {
return s
}
// normalizeSealType 标准化印章媒体类型
// 入参: s 原始媒体类型
// 返回: string 标准媒体类型
func normalizeSealType(s string) string {
switch s {
case "jpg":
return "jpeg"
case "bmp":
return "bmp"
case "jb2", "gbig2":
return "jbig2"
default:
return s
}
}
// isSealMediaType 判断是否为可渲染印章媒体类型
// 入参: s 媒体类型
// 返回: bool 是否可渲染
@@ -438,11 +424,11 @@ func zipDataEnd(data []byte) int {
// 入参: data 原始数据
// 返回: string 媒体类型, []byte 图片数据
func probeImageMedia(data []byte) (string, []byte) {
_, format, err := decodeImageConfigData(data)
_, format, err := baseimage.DecodeConfigData(data)
if err != nil {
return "", nil
}
return normalizeSealType(format), data
return baseimage.NormalizeFormat(format), data
}
// addStamp 添加印章到页面