feat(性能优化): 优化页面渲染与文字传输性能
build.yaml / build (push) Successful in 42s

This commit is contained in:
xiaoqidun committed 2026-09-13 20:16:39 +08:00
1 parent 2b2e83bdbe
commit 740c088bfd
9 files changed
+34 -6

No files matched your search

+11
View File
@@ -23,10 +23,12 @@ import (
)
// Renderer 渲染器实现
// OnPageText可选,接收页面绘制时同步提取的文字,不包含图案和签名外观
type Renderer struct {
Reader *Reader
DPI float64
RenderAnnotations bool
OnPageText func(*PageContent, *PageText)
fontFamily *canvas.FontFamily
defaultFontLoaded bool
DrawParams map[string]*DrawParam
@@ -47,6 +49,7 @@ type Renderer struct {
fontFS []fs.FS
decodeImages bool
pageText *PageText
textOnly bool
}
// RendererOption 渲染器配置选项
@@ -137,6 +140,11 @@ func (r *Renderer) renderPageToContext(ctx *canvas.Context, page *PageContent, d
if err != nil {
return err
}
if r.OnPageText != nil {
renderer := *r
renderer.pageText = &PageText{}
r = &renderer
}
pageH := box.H
if drawBackground {
ctx.SetFillColor(canvas.White)
@@ -164,6 +172,9 @@ func (r *Renderer) renderPageToContext(ctx *canvas.Context, page *PageContent, d
r.renderStamp(ctx, stamp, pageH)
}
}
if r.OnPageText != nil {
r.OnPageText(page, r.pageText)
}
return nil
}