mirror of
https://github.com/xiaoqidun/ofdgo.git
synced 2026-10-29 15:06:46 +08:00
1 parent
d09c57f226
commit
5dcd7a4e8d
7 files changed
+61
-21
No files matched your search
@@ -128,6 +128,11 @@ func (CanvasBackend) RenderPDF(r *Renderer, pages []RenderDocumentPage, writer i
|
||||
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), images: make([][]image.Image, 1)}
|
||||
defer func() {
|
||||
if renderer.imageError != nil {
|
||||
r.canvasState().images = renderCache[*EncodedImage, image.Image]{limit: imageCacheLimit}
|
||||
}
|
||||
}()
|
||||
var info DocInfo
|
||||
if docInfo, err := r.Reader.DocInfo(); err == nil {
|
||||
info = *docInfo
|
||||
@@ -143,6 +148,10 @@ func (CanvasBackend) RenderPDF(r *Renderer, pages []RenderDocumentPage, writer i
|
||||
buf.Truncate(start)
|
||||
return fmt.Errorf("failed to render page %d: %w", i+1, err)
|
||||
}
|
||||
if renderer.imageError != nil {
|
||||
buf.Truncate(start)
|
||||
return fmt.Errorf("failed to render page %d: %w", i+1, renderer.imageError)
|
||||
}
|
||||
pages[i].Content = nil
|
||||
if progress != nil {
|
||||
if err := progress(i+1, len(pages)); err != nil {
|
||||
|
||||
Reference in new issue
Block a user