Browse Source

Merge pull request #6046 from AppShuttle/pdf-version-fix

Extract correct PDF format version from the catalog
Yury Delendik 10 years ago
parent
commit
d105734686
  1. 6
      src/core/core.js
  2. BIN
      test/pdfs/basicapi.pdf
  3. 1
      test/unit/api_spec.js

6
src/core/core.js

@ -343,6 +343,10 @@ var PDFDocument = (function PDFDocumentClosure() { @@ -343,6 +343,10 @@ var PDFDocument = (function PDFDocumentClosure() {
PDFDocument.prototype = {
parse: function PDFDocument_parse(recoveryMode) {
this.setup(recoveryMode);
var version = this.catalog.catDict.get('Version');
if (isName(version)) {
this.pdfFormatVersion = version.name;
}
try {
// checking if AcroForm is present
this.acroForm = this.catalog.catDict.get('AcroForm');
@ -444,8 +448,10 @@ var PDFDocument = (function PDFDocumentClosure() { @@ -444,8 +448,10 @@ var PDFDocument = (function PDFDocumentClosure() {
}
version += String.fromCharCode(ch);
}
if (!this.pdfFormatVersion) {
// removing "%PDF-"-prefix
this.pdfFormatVersion = version.substring(5);
}
return;
}
// May not be a PDF file, continue anyway.

BIN
test/pdfs/basicapi.pdf

Binary file not shown.

1
test/unit/api_spec.js

@ -156,6 +156,7 @@ describe('api', function() { @@ -156,6 +156,7 @@ describe('api', function() {
var promise = doc.getMetadata();
waitsForPromiseResolved(promise, function(metadata) {
expect(metadata.info['Title']).toEqual('Basic API Test');
expect(metadata.info['PDFFormatVersion']).toEqual('1.7');
expect(metadata.metadata.get('dc:title')).toEqual('Basic API Test');
});
});

Loading…
Cancel
Save