feat(转换能力): 增强PDF转换与保存稳定性
build.yaml / build (push) Successful in 3m52s

This commit is contained in:
xiaoqidun committed 2026-10-21 13:03:03 +08:00
1 parent b4d566019d
commit 201082daa0
9 files changed
+434 -16

No files matched your search

+13 -1
View File
@@ -414,7 +414,7 @@ func (p *pdfImporter) compileGroup(build func(*pdfImporter) error) (*RasterPage,
if err := local.commitObjects(); err != nil {
return nil, box, err
}
reader, err := editor.resourceReader()
reader, err := local.temporaryReader()
if err != nil {
return nil, box, err
}
@@ -435,6 +435,18 @@ func (p *pdfImporter) compileGroup(build func(*pdfImporter) error) (*RasterPage,
return p.groupSceneBounds(scene)
}
// temporaryReader 为局部编译准备资源,带有保留信息时使用完整快照
// 返回: *Reader 独立阅读器, error 准备或取消错误
func (p *pdfImporter) temporaryReader() (*Reader, error) {
if err := p.ctx.Err(); err != nil {
return nil, err
}
if p.editor.source != nil || len(p.editor.origins) != 0 {
return p.editor.readerContext(p.ctx, nil)
}
return p.editor.resourceReader()
}
// groupSceneBounds 计算已编译场景在页面内的像素对齐区域
// 入参: scene 中立绘制场景
// 返回: *RasterPage 非空场景, Box 页面区域, error 度量错误