feat(转换渲染): 保留PDF结构并优化渲染
build.yaml / build (push) Successful in 2m37s

This commit is contained in:
xiaoqidun committed 2026-10-18 18:08:52 +08:00
1 parent 627a06cda3
commit a2de650b52
31 files changed
+2166 -249

No files matched your search

+10
View File
@@ -20,7 +20,9 @@ import (
"image"
"image/color"
"io"
"maps"
"strconv"
"time"
"github.com/tdewolff/canvas"
cimage "github.com/tdewolff/canvas/image"
@@ -32,6 +34,7 @@ import (
// pdfRenderer PDF渲染器
type pdfRenderer struct {
*pdf.PDF
information pdfgo.Dictionary
glyphPaths renderCache[*canvas.Path, *canvas.Path]
fonts map[*canvas.Font]*canvas.Font
cffFonts map[*canvas.Font][]*pdfFontSubset
@@ -159,7 +162,14 @@ func (r *pdfRenderer) writePDF(ctx context.Context, data []byte, writer io.Write
if r.imageError != nil {
return r.imageError
}
information := maps.Clone(r.information)
if information == nil {
information = make(pdfgo.Dictionary)
}
information["Producer"] = pdfgo.String(ofdCreator)
information["CreationDate"] = pdfgo.String(time.Now().UTC().Format("D:20060102150405Z"))
options := codecpdf.WriteOptions{
Information: information,
Images: r.images,
Text: r.text,
ExactImages: r.exactImages,