feat(性能优化): 优化PDF字形复用,降低多页导出耗时与内存分配
build.yaml / build (push) Successful in 42s

This commit is contained in:
xiaoqidun committed 2026-09-13 23:49:21 +08:00
1 parent e488d25775
commit ad00e95ae6
3 files changed
+28 -1

No files matched your search

+2 -1
View File
@@ -244,13 +244,14 @@ func (r *Renderer) renderPDFPages(pages []pdfPage, writer io.Writer) error {
}
start := buf.Len()
p := pdf.New(buf, pages[0].Box.W, pages[0].Box.H, nil)
renderer := &pdfRenderer{PDF: p, glyphPaths: make(map[*canvas.Path]*canvas.Path)}
p.SetInfo("", "", "", "", "xiaoqidun/ofdgo")
for i, page := range pages {
if i > 0 {
p.NewPage(page.Box.W, page.Box.H)
}
navigation.apply(p, i)
if err := r.renderPageToContext(canvas.NewContext(p), page.Content, true); err != nil {
if err := r.renderPageToContext(canvas.NewContext(renderer), page.Content, true); err != nil {
buf.Truncate(start)
return fmt.Errorf("failed to render page %d: %w", i+1, err)
}