mirror of
https://github.com/foliojs/pdfkit.git
synced 2025-12-08 20:15:54 +00:00
fix a few max call stack size exceeded errors
resolves a RangeError when finalizing documents with many images and/or many pages.
This commit is contained in:
parent
73926bee12
commit
dd8fb58092
@ -1,5 +1,6 @@
|
||||
fs = require 'fs'
|
||||
Data = '../data'
|
||||
setImmediate = setImmediate ? process.nextTick # backfill for node <0.10
|
||||
|
||||
class JPEG
|
||||
constructor: (@data) ->
|
||||
@ -49,6 +50,6 @@ class JPEG
|
||||
obj.data['Decode'] = [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]
|
||||
|
||||
obj.add @data.data
|
||||
fn obj
|
||||
setImmediate -> fn(obj)
|
||||
|
||||
module.exports = JPEG
|
||||
module.exports = JPEG
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
zlib = require 'zlib'
|
||||
PNG = require 'png-js'
|
||||
setImmediate = setImmediate ? process.nextTick # backfill for node <0.10
|
||||
|
||||
class PNGImage
|
||||
constructor: (data) ->
|
||||
@ -87,7 +88,7 @@ class PNGImage
|
||||
|
||||
# add the actual image data
|
||||
obj.add @imgData
|
||||
fn obj
|
||||
setImmediate -> fn(obj)
|
||||
|
||||
splitAlphaChannel: (fn) ->
|
||||
@image.decodePixels (pixels) =>
|
||||
@ -126,4 +127,4 @@ class PNGImage
|
||||
throw err if err
|
||||
fn()
|
||||
|
||||
module.exports = PNGImage
|
||||
module.exports = PNGImage
|
||||
|
||||
@ -4,6 +4,7 @@ By Devon Govett
|
||||
###
|
||||
|
||||
zlib = require 'zlib'
|
||||
setImmediate = setImmediate ? process.nextTick # backfill for node <0.10
|
||||
|
||||
class PDFReference
|
||||
constructor: (@id, @data = {}) ->
|
||||
@ -47,13 +48,13 @@ class PDFReference
|
||||
else
|
||||
@finalizedStream = data
|
||||
@data.Length = @finalizedStream.length
|
||||
fn()
|
||||
setImmediate fn
|
||||
else
|
||||
@finalizedStream = ''
|
||||
fn()
|
||||
setImmediate fn
|
||||
|
||||
toString: ->
|
||||
"#{@id} #{@gen} R"
|
||||
|
||||
module.exports = PDFReference
|
||||
PDFObject = require './object'
|
||||
PDFObject = require './object'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user