mirror of
https://github.com/gen2brain/cbconvert
synced 2026-09-04 04:31:11 +02:00
Fall back to a bounded dpi for a huge page
This commit is contained in:
+13
-1
@@ -212,6 +212,9 @@ func (o Options) Args() []string {
|
||||
return args
|
||||
}
|
||||
|
||||
// fallbackDPI is the resolution a page renders at when its own is too large.
|
||||
const fallbackDPI = 300
|
||||
|
||||
// renderPage renders document page n at the configured DPI, or at the page's
|
||||
// native resolution when DPI is unset.
|
||||
func (c *Converter) renderPage(doc folio.Document, n int) (*image.RGBA, error) {
|
||||
@@ -224,7 +227,16 @@ func (c *Converter) renderPage(doc folio.Document, n int) (*image.RGBA, error) {
|
||||
return page.ImageDPI(float64(c.Opts.DPI))
|
||||
}
|
||||
|
||||
return page.Image()
|
||||
img, err := page.Image()
|
||||
if err == nil {
|
||||
return img, nil
|
||||
}
|
||||
|
||||
if img, retry := page.ImageDPI(fallbackDPI); retry == nil {
|
||||
return img, nil
|
||||
}
|
||||
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Cancel cancels the operation.
|
||||
|
||||
Reference in New Issue
Block a user