mirror of
https://github.com/xiaoqidun/ofdgo.git
synced 2026-10-29 16:59:27 +08:00
1 parent
b8ed92221b
commit
9d212b6fd0
7 files changed
+14
-6
No files matched your search
@@ -9,7 +9,7 @@ require (
|
|||||||
github.com/tdewolff/canvas v0.0.0-20260923214215-09804640d00c
|
github.com/tdewolff/canvas v0.0.0-20260923214215-09804640d00c
|
||||||
github.com/tdewolff/font v0.0.0-20260913163313-54f98bb59ee6
|
github.com/tdewolff/font v0.0.0-20260913163313-54f98bb59ee6
|
||||||
github.com/xiaoqidun/jbig2 v1.1.1
|
github.com/xiaoqidun/jbig2 v1.1.1
|
||||||
github.com/xiaoqidun/pdfgo v0.0.0-20260929061025-aafe265ab017
|
github.com/xiaoqidun/pdfgo v0.0.0-20260929063458-1c0de5ea8fb5
|
||||||
golang.org/x/crypto v0.57.0
|
golang.org/x/crypto v0.57.0
|
||||||
golang.org/x/image v0.46.0
|
golang.org/x/image v0.46.0
|
||||||
golang.org/x/text v0.42.0
|
golang.org/x/text v0.42.0
|
||||||
|
|||||||
@@ -62,8 +62,8 @@ github.com/tdewolff/test v1.0.12 h1:7F21DqIajswxuche0geHdrUZRCWE4oko4b7bcmkkrxk=
|
|||||||
github.com/tdewolff/test v1.0.12/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8=
|
github.com/tdewolff/test v1.0.12/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8=
|
||||||
github.com/xiaoqidun/jbig2 v1.1.1 h1:SjliS9ZO0e9HX5oYUfBuXrfFsXhWricrSz+XY4zORDI=
|
github.com/xiaoqidun/jbig2 v1.1.1 h1:SjliS9ZO0e9HX5oYUfBuXrfFsXhWricrSz+XY4zORDI=
|
||||||
github.com/xiaoqidun/jbig2 v1.1.1/go.mod h1:8QonVWtENmh2kc6l+leqeGl7psb79DWlHDkCpdChjfQ=
|
github.com/xiaoqidun/jbig2 v1.1.1/go.mod h1:8QonVWtENmh2kc6l+leqeGl7psb79DWlHDkCpdChjfQ=
|
||||||
github.com/xiaoqidun/pdfgo v0.0.0-20260929061025-aafe265ab017 h1:VS7X7ESz+3xXj9A1AlmAwQgzxXrWvSfaMklKoIBpUKQ=
|
github.com/xiaoqidun/pdfgo v0.0.0-20260929063458-1c0de5ea8fb5 h1:V6//X67UzIETLaHx4YCNxj0Ai38rylYfMNIM6eOnPs0=
|
||||||
github.com/xiaoqidun/pdfgo v0.0.0-20260929061025-aafe265ab017/go.mod h1:4Pf0JO0BEf1uzRY+uZjlMjN/OPn3PYa0YMi6cqPPTLQ=
|
github.com/xiaoqidun/pdfgo v0.0.0-20260929063458-1c0de5ea8fb5/go.mod h1:4Pf0JO0BEf1uzRY+uZjlMjN/OPn3PYa0YMi6cqPPTLQ=
|
||||||
github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU=
|
github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU=
|
||||||
github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E=
|
github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E=
|
||||||
github.com/yuin/goldmark v1.8.5 h1:r6N5afV5qj/5S4UTch8agZHJ8UxNCMwX7WjkkJam2NA=
|
github.com/yuin/goldmark v1.8.5 h1:r6N5afV5qj/5S4UTch8agZHJ8UxNCMwX7WjkkJam2NA=
|
||||||
|
|||||||
@@ -3738,7 +3738,7 @@ func setEditorColor(fill *ofdgo.FillColor, value string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// editorColorHex 将当前文档纯色转换为浏览器色值
|
// editorColorHex 将当前文档纯色转换为浏览器色值
|
||||||
// 入参: color 颜色
|
// 入参: value 颜色
|
||||||
// 返回: string 十六进制色值
|
// 返回: string 十六进制色值
|
||||||
func editorColorHex(value *ofdgo.FillColor) string {
|
func editorColorHex(value *ofdgo.FillColor) string {
|
||||||
converted, err := currentEditor.Color(value)
|
converted, err := currentEditor.Color(value)
|
||||||
|
|||||||
+1
-1
@@ -494,7 +494,7 @@ func (e *Editor) addImage(data []byte, config image.Config, format string, decod
|
|||||||
}
|
}
|
||||||
|
|
||||||
// AddObject 按添加顺序放入正文图层,支持文字、路径和图片,自动分配对象ID
|
// AddObject 按添加顺序放入正文图层,支持文字、路径和图片,自动分配对象ID
|
||||||
// 支持基本颜色、直接资源引用及路径裁剪,不支持动作、渐变及复合图元
|
// 支持已注册资源、颜色、渐变、裁剪和动作;复合图元仅支持当前文档原对象的保真复制
|
||||||
// 入参: page 页面索引, object 对象内容,添加后不再引用调用方的可变数据
|
// 入参: page 页面索引, object 对象内容,添加后不再引用调用方的可变数据
|
||||||
// 返回: string 对象标识, error 错误信息
|
// 返回: string 对象标识, error 错误信息
|
||||||
func (e *Editor) AddObject(page int, object GraphicObject) (string, error) {
|
func (e *Editor) AddObject(page int, object GraphicObject) (string, error) {
|
||||||
|
|||||||
@@ -107,6 +107,8 @@ func (e *Editor) ImportImages(ctx context.Context, sources []ImagePageSource, at
|
|||||||
}
|
}
|
||||||
|
|
||||||
// addImagePage 保留原图并按方向、物理尺寸与纸张选项建页
|
// addImagePage 保留原图并按方向、物理尺寸与纸张选项建页
|
||||||
|
// 入参: data 图片数据, options 建页选项
|
||||||
|
// 返回: int 从0开始的页面索引, error 错误信息
|
||||||
func (e *Editor) addImagePage(data []byte, options ImagePageOptions) (int, error) {
|
func (e *Editor) addImagePage(data []byte, options ImagePageOptions) (int, error) {
|
||||||
config, format, err := image.DecodeConfig(bytes.NewReader(data))
|
config, format, err := image.DecodeConfig(bytes.NewReader(data))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -155,6 +157,8 @@ func (e *Editor) addImagePage(data []byte, options ImagePageOptions) (int, error
|
|||||||
}
|
}
|
||||||
|
|
||||||
// imagePageOrientation 将EXIF方向映射为单位图像到页面局部坐标的变换
|
// imagePageOrientation 将EXIF方向映射为单位图像到页面局部坐标的变换
|
||||||
|
// 入参: orientation EXIF方向值, w、h 图片在页面上的宽高,单位为毫米
|
||||||
|
// 返回: Matrix 图像坐标变换
|
||||||
func imagePageOrientation(orientation int, w, h float64) Matrix {
|
func imagePageOrientation(orientation int, w, h float64) Matrix {
|
||||||
switch orientation {
|
switch orientation {
|
||||||
case 2:
|
case 2:
|
||||||
|
|||||||
+1
-1
@@ -1203,7 +1203,7 @@ func parseCFFWidths(data []byte, numGlyphs int) ([]uint16, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// scanCharStringWidth 扫描CharString获取宽度
|
// scanCharStringWidth 扫描CharString获取宽度
|
||||||
// 入参: data CharString数据, nominal, def 默认宽度值
|
// 入参: data CharString数据, nominal 名义宽度, def 默认宽度
|
||||||
// 返回: float64 宽度值
|
// 返回: float64 宽度值
|
||||||
func scanCharStringWidth(data []byte, nominal, def float64) float64 {
|
func scanCharStringWidth(data []byte, nominal, def float64) float64 {
|
||||||
stackDepth := 0
|
stackDepth := 0
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ type imagePageInfo struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// imagePageMetadata 读取PNG物理尺寸与JPEG的JFIF、EXIF信息,EXIF密度优先于JFIF
|
// imagePageMetadata 读取PNG物理尺寸与JPEG的JFIF、EXIF信息,EXIF密度优先于JFIF
|
||||||
|
// 入参: data 图片数据, format 图像格式, dpi 缺少物理密度时使用的DPI
|
||||||
|
// 返回: imagePageInfo 方向与横纵DPI, error 元数据错误
|
||||||
func imagePageMetadata(data []byte, format string, dpi float64) (imagePageInfo, error) {
|
func imagePageMetadata(data []byte, format string, dpi float64) (imagePageInfo, error) {
|
||||||
info := imagePageInfo{orientation: 1, xdpi: dpi, ydpi: dpi}
|
info := imagePageInfo{orientation: 1, xdpi: dpi, ydpi: dpi}
|
||||||
var exif []byte
|
var exif []byte
|
||||||
@@ -121,6 +123,8 @@ func imagePageMetadata(data []byte, format string, dpi float64) (imagePageInfo,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// imageExifMetadata 只读取主图IFD中的方向和密度,不跟随缩略图与其他目录
|
// imageExifMetadata 只读取主图IFD中的方向和密度,不跟随缩略图与其他目录
|
||||||
|
// 入参: data EXIF中的TIFF数据
|
||||||
|
// 返回: int EXIF方向值,未声明时为1, float64 横向DPI, float64 纵向DPI, error 元数据错误
|
||||||
func imageExifMetadata(data []byte) (int, float64, float64, error) {
|
func imageExifMetadata(data []byte) (int, float64, float64, error) {
|
||||||
invalid := fmt.Errorf("invalid EXIF image metadata")
|
invalid := fmt.Errorf("invalid EXIF image metadata")
|
||||||
if len(data) < 8 {
|
if len(data) < 8 {
|
||||||
|
|||||||
Reference in new issue
Block a user