Expose the optional UserUnit entry as a page property
This commit is contained in:
parent
8a1ed8ab1f
commit
f76cd2ce43
@ -42,6 +42,7 @@ var error = sharedUtil.error;
|
|||||||
var info = sharedUtil.info;
|
var info = sharedUtil.info;
|
||||||
var isArray = sharedUtil.isArray;
|
var isArray = sharedUtil.isArray;
|
||||||
var isArrayBuffer = sharedUtil.isArrayBuffer;
|
var isArrayBuffer = sharedUtil.isArrayBuffer;
|
||||||
|
var isNum = sharedUtil.isNum;
|
||||||
var isString = sharedUtil.isString;
|
var isString = sharedUtil.isString;
|
||||||
var shadow = sharedUtil.shadow;
|
var shadow = sharedUtil.shadow;
|
||||||
var stringToBytes = sharedUtil.stringToBytes;
|
var stringToBytes = sharedUtil.stringToBytes;
|
||||||
@ -67,6 +68,7 @@ var AnnotationFactory = coreAnnotation.AnnotationFactory;
|
|||||||
|
|
||||||
var Page = (function PageClosure() {
|
var Page = (function PageClosure() {
|
||||||
|
|
||||||
|
var DEFAULT_USER_UNIT = 1.0;
|
||||||
var LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];
|
var LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];
|
||||||
|
|
||||||
function Page(pdfManager, xref, pageIndex, pageDict, ref, fontCache) {
|
function Page(pdfManager, xref, pageIndex, pageDict, ref, fontCache) {
|
||||||
@ -138,6 +140,14 @@ var Page = (function PageClosure() {
|
|||||||
return shadow(this, 'mediaBox', obj);
|
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() {
|
get view() {
|
||||||
var mediaBox = this.mediaBox;
|
var mediaBox = this.mediaBox;
|
||||||
var cropBox = this.getInheritedPageProp('CropBox');
|
var cropBox = this.getInheritedPageProp('CropBox');
|
||||||
|
@ -747,14 +747,17 @@ var WorkerMessageHandler = {
|
|||||||
return pdfManager.getPage(data.pageIndex).then(function(page) {
|
return pdfManager.getPage(data.pageIndex).then(function(page) {
|
||||||
var rotatePromise = pdfManager.ensure(page, 'rotate');
|
var rotatePromise = pdfManager.ensure(page, 'rotate');
|
||||||
var refPromise = pdfManager.ensure(page, 'ref');
|
var refPromise = pdfManager.ensure(page, 'ref');
|
||||||
|
var userUnitPromise = pdfManager.ensure(page, 'userUnit');
|
||||||
var viewPromise = pdfManager.ensure(page, 'view');
|
var viewPromise = pdfManager.ensure(page, 'view');
|
||||||
|
|
||||||
return Promise.all([rotatePromise, refPromise, viewPromise]).then(
|
return Promise.all([
|
||||||
function(results) {
|
rotatePromise, refPromise, userUnitPromise, viewPromise
|
||||||
|
]).then(function(results) {
|
||||||
return {
|
return {
|
||||||
rotate: results[0],
|
rotate: results[0],
|
||||||
ref: results[1],
|
ref: results[1],
|
||||||
view: results[2]
|
userUnit: results[2],
|
||||||
|
view: results[3]
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -747,6 +747,12 @@ var PDFPageProxy = (function PDFPageProxyClosure() {
|
|||||||
get ref() {
|
get ref() {
|
||||||
return this.pageInfo.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
|
* @return {Array} An array of the visible portion of the PDF page in the
|
||||||
* user space units - [x1, y1, x2, y2].
|
* user space units - [x1, y1, x2, y2].
|
||||||
|
@ -769,6 +769,9 @@ describe('api', function() {
|
|||||||
it('gets ref', function () {
|
it('gets ref', function () {
|
||||||
expect(page.ref).toEqual({ num: 15, gen: 0 });
|
expect(page.ref).toEqual({ num: 15, gen: 0 });
|
||||||
});
|
});
|
||||||
|
it('gets userUnit', function () {
|
||||||
|
expect(page.userUnit).toEqual(1.0);
|
||||||
|
});
|
||||||
it('gets view', function () {
|
it('gets view', function () {
|
||||||
expect(page.view).toEqual([0, 0, 595.28, 841.89]);
|
expect(page.view).toEqual([0, 0, 595.28, 841.89]);
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user