Skip to content

Commit

Permalink
Expose the optional UserUnit entry as a page property
Browse files Browse the repository at this point in the history
  • Loading branch information
seanburke-wf committed Nov 21, 2016
1 parent 8a1ed8a commit 85d5c17
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 3 deletions.
9 changes: 9 additions & 0 deletions src/core/document.js
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,15 @@ var Page = (function PageClosure() {
return shadow(this, 'mediaBox', obj);
},

get userUnit() {
var obj = this.getPageProp('UserUnit');
// Optional according to the spec with a default value of 1.0.
if (typeof obj !== 'number') {
obj = 1.0;
}
return shadow(this, 'userUnit', obj);
},

get view() {
var mediaBox = this.mediaBox;
var cropBox = this.getInheritedPageProp('CropBox');
Expand Down
9 changes: 6 additions & 3 deletions src/core/worker.js
Original file line number Diff line number Diff line change
Expand Up @@ -747,14 +747,17 @@ var WorkerMessageHandler = {
return pdfManager.getPage(data.pageIndex).then(function(page) {
var rotatePromise = pdfManager.ensure(page, 'rotate');
var refPromise = pdfManager.ensure(page, 'ref');
var userUnitPromise = pdfManager.ensure(page, 'userUnit');
var viewPromise = pdfManager.ensure(page, 'view');

return Promise.all([rotatePromise, refPromise, viewPromise]).then(
function(results) {
return Promise.all([
rotatePromise, refPromise, userUnitPromise, viewPromise
]).then(function(results) {
return {
rotate: results[0],
ref: results[1],
view: results[2]
userUnit: results[2],
view: results[3]
};
});
});
Expand Down
6 changes: 6 additions & 0 deletions src/display/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -747,6 +747,12 @@ var PDFPageProxy = (function PDFPageProxyClosure() {
get ref() {
return this.pageInfo.ref;
},
/**
* @return {number} The default size of units in 1/72nds of an inch.
*/
get userUnit() {
return this.pageInfo.userUnit;
},
/**
* @return {Array} An array of the visible portion of the PDF page in the
* user space units - [x1, y1, x2, y2].
Expand Down
3 changes: 3 additions & 0 deletions test/unit/api_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -769,6 +769,9 @@ describe('api', function() {
it('gets ref', function () {
expect(page.ref).toEqual({ num: 15, gen: 0 });
});
it('gets userUnit', function () {
expect(page.userUnit).toEqual(1.0);
});
it('gets view', function () {
expect(page.view).toEqual([0, 0, 595.28, 841.89]);
});
Expand Down

0 comments on commit 85d5c17

Please sign in to comment.