Djvu Validate patch from tigran123

refer to commit in master(kpv) tree:
64b6ef4afd
This commit is contained in:
Qingping Hou
2012-10-09 16:15:13 -04:00
parent f641f50e2a
commit 8ccbfba6cc

View File

@@ -9,6 +9,11 @@ DjvuDocument = Document:new{
}
function DjvuDocument:init()
if not validDjvuFile(self.file) then
self.error_message = "Not a valid DjVu file"
return
end
local ok
ok, self._document = pcall(djvu.openDocument, self.file, self.djvulibre_cache_size)
if not ok then
@@ -20,6 +25,16 @@ function DjvuDocument:init()
self:_readMetadata()
end
-- check DjVu magic string to validate
function validDjvuFile(filename)
f = io.open(filename, "r")
if not f then return false end
local magic = f:read(8)
f:close()
if not magic or magic ~= "AT&TFORM" then return false end
return true
end
function DjvuDocument:getUsedBBox(pageno)
-- djvu does not support usedbbox, so fake it.
local used = {}