Browse Source

[Minor] Fix one corner case

tags/3.7.1
Vsevolod Stakhov 7 months ago
parent
commit
f9962fb58f
No account linked to committer's email address
1 changed files with 14 additions and 9 deletions
  1. 14
    9
      lualib/lua_content/pdf.lua

+ 14
- 9
lualib/lua_content/pdf.lua View File

@@ -428,18 +428,23 @@ local function maybe_extract_object_stream(obj, pdf, task)
if dict.Length and type(obj.stream) == 'table' then
local len = math.min(obj.stream.len,
tonumber(maybe_dereference_object(dict.Length, pdf, task)) or 0)
local real_stream = obj.stream.data:span(1, len)
if len > 0 then
local real_stream = obj.stream.data:span(1, len)

local uncompressed, filter_err = maybe_apply_filter(dict, real_stream, pdf, task)
local uncompressed, filter_err = maybe_apply_filter(dict, real_stream, pdf, task)

if uncompressed then
obj.uncompressed = uncompressed
lua_util.debugm(N, task, 'extracted object %s:%s: (%s -> %s)',
obj.major, obj.minor, len, uncompressed:len())
return obj.uncompressed
if uncompressed then
obj.uncompressed = uncompressed
lua_util.debugm(N, task, 'extracted object %s:%s: (%s -> %s)',
obj.major, obj.minor, len, uncompressed:len())
return obj.uncompressed
else
lua_util.debugm(N, task, 'cannot extract object %s:%s; len = %s; filter = %s: %s',
obj.major, obj.minor, len, dict.Filter, filter_err)
end
else
lua_util.debugm(N, task, 'cannot extract object %s:%s; len = %s; filter = %s: %s',
obj.major, obj.minor, len, dict.Filter, filter_err)
lua_util.debugm(N, task, 'cannot extract object %s:%s; len = %s',
obj.major, obj.minor, len)
end
end
end

Loading…
Cancel
Save