|
|
@ -22,8 +22,8 @@ if (typeof PDFJS === 'undefined') { |
|
|
|
(typeof window !== 'undefined' ? window : this).PDFJS = {}; |
|
|
|
(typeof window !== 'undefined' ? window : this).PDFJS = {}; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
PDFJS.version = '1.0.982'; |
|
|
|
PDFJS.version = '1.0.984'; |
|
|
|
PDFJS.build = 'f5df30f'; |
|
|
|
PDFJS.build = 'ee1b125'; |
|
|
|
|
|
|
|
|
|
|
|
(function pdfjsWrapper() { |
|
|
|
(function pdfjsWrapper() { |
|
|
|
// Use strict in our context only - users might not want it
|
|
|
|
// Use strict in our context only - users might not want it
|
|
|
@ -8975,6 +8975,10 @@ var Page = (function PageClosure() { |
|
|
|
* `PDFDocument` objects on the main thread created. |
|
|
|
* `PDFDocument` objects on the main thread created. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
var PDFDocument = (function PDFDocumentClosure() { |
|
|
|
var PDFDocument = (function PDFDocumentClosure() { |
|
|
|
|
|
|
|
var FINGERPRINT_FIRST_BYTES = 1024; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var EMPTY_FINGERPRINT = '\x00\x00\x00\x00\x00\x00\x00' + |
|
|
|
|
|
|
|
'\x00\x00\x00\x00\x00\x00\x00\x00\x00'; |
|
|
|
function PDFDocument(pdfManager, arg, password) { |
|
|
|
function PDFDocument(pdfManager, arg, password) { |
|
|
|
if (isStream(arg)) { |
|
|
|
if (isStream(arg)) { |
|
|
|
init.call(this, pdfManager, arg, password); |
|
|
|
init.call(this, pdfManager, arg, password); |
|
|
@ -9188,14 +9192,21 @@ var PDFDocument = (function PDFDocumentClosure() { |
|
|
|
get fingerprint() { |
|
|
|
get fingerprint() { |
|
|
|
var xref = this.xref, hash, fileID = ''; |
|
|
|
var xref = this.xref, hash, fileID = ''; |
|
|
|
|
|
|
|
|
|
|
|
if (xref.trailer.has('ID')) { |
|
|
|
if (xref.trailer.has('ID') && |
|
|
|
|
|
|
|
xref.trailer.get('ID')[0] !== EMPTY_FINGERPRINT) { |
|
|
|
hash = stringToBytes(xref.trailer.get('ID')[0]); |
|
|
|
hash = stringToBytes(xref.trailer.get('ID')[0]); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
hash = calculateMD5(this.stream.bytes.subarray(0, 100), 0, 100); |
|
|
|
if (this.stream.ensureRange) { |
|
|
|
|
|
|
|
this.stream.ensureRange(0, |
|
|
|
|
|
|
|
Math.min(FINGERPRINT_FIRST_BYTES, this.stream.end)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
hash = calculateMD5(this.stream.bytes.subarray(0, |
|
|
|
|
|
|
|
FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
for (var i = 0, n = hash.length; i < n; i++) { |
|
|
|
for (var i = 0, n = hash.length; i < n; i++) { |
|
|
|
fileID += hash[i].toString(16); |
|
|
|
var hex = hash[i].toString(16); |
|
|
|
|
|
|
|
fileID += hex.length === 1 ? '0' + hex : hex; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return shadow(this, 'fingerprint', fileID); |
|
|
|
return shadow(this, 'fingerprint', fileID); |
|
|
|