Merge pull request #7832 from seanburke-wf/expose-userunit-on-page
Expose the optional UserUnit entry as a page property
This commit is contained in:
commit
9ff19985c0
@ -42,6 +42,7 @@ var error = sharedUtil.error;
|
||||
var info = sharedUtil.info;
|
||||
var isArray = sharedUtil.isArray;
|
||||
var isArrayBuffer = sharedUtil.isArrayBuffer;
|
||||
var isNum = sharedUtil.isNum;
|
||||
var isString = sharedUtil.isString;
|
||||
var shadow = sharedUtil.shadow;
|
||||
var stringToBytes = sharedUtil.stringToBytes;
|
||||
@ -67,6 +68,7 @@ var AnnotationFactory = coreAnnotation.AnnotationFactory;
|
||||
|
||||
var Page = (function PageClosure() {
|
||||
|
||||
var DEFAULT_USER_UNIT = 1.0;
|
||||
var LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];
|
||||
|
||||
function Page(pdfManager, xref, pageIndex, pageDict, ref, fontCache) {
|
||||
@ -138,6 +140,14 @@ var Page = (function PageClosure() {
|
||||
return shadow(this, 'mediaBox', obj);
|
||||
},
|
||||
|
||||
get userUnit() {
|
||||
var obj = this.getPageProp('UserUnit');
|
||||
if (!isNum(obj) || obj <= 0) {
|
||||
obj = DEFAULT_USER_UNIT;
|
||||
}
|
||||
return shadow(this, 'userUnit', obj);
|
||||
},
|
||||
|
||||
get view() {
|
||||
var mediaBox = this.mediaBox;
|
||||
var cropBox = this.getInheritedPageProp('CropBox');
|
||||
|
@ -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]
|
||||
};
|
||||
});
|
||||
});
|
||||
|
@ -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].
|
||||
|
@ -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]);
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user