[api-minor] Add an optional param to DocumentInitParameters for specifying the range request chunk size to use. Defaults to 2^16 = 65536.
This commit is contained in:
parent
aae82ec4c5
commit
ef667823dd
@ -19,9 +19,6 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
// The maximum number of bytes fetched per range request
|
|
||||||
var RANGE_CHUNK_SIZE = 65536;
|
|
||||||
|
|
||||||
// TODO(mack): Make use of PDFJS.Util.inherit() when it becomes available
|
// TODO(mack): Make use of PDFJS.Util.inherit() when it becomes available
|
||||||
var BasePdfManager = (function BasePdfManagerClosure() {
|
var BasePdfManager = (function BasePdfManagerClosure() {
|
||||||
function BasePdfManager() {
|
function BasePdfManager() {
|
||||||
@ -153,7 +150,8 @@ var NetworkPdfManager = (function NetworkPdfManagerClosure() {
|
|||||||
disableAutoFetch: args.disableAutoFetch,
|
disableAutoFetch: args.disableAutoFetch,
|
||||||
initialData: args.initialData
|
initialData: args.initialData
|
||||||
};
|
};
|
||||||
this.streamManager = new ChunkedStreamManager(args.length, RANGE_CHUNK_SIZE,
|
this.streamManager = new ChunkedStreamManager(args.length,
|
||||||
|
args.rangeChunkSize,
|
||||||
args.url, params);
|
args.url, params);
|
||||||
|
|
||||||
this.pdfDocument = new PDFDocument(this, this.streamManager.getStream(),
|
this.pdfDocument = new PDFDocument(this, this.streamManager.getStream(),
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals PDFJS, createPromiseCapability, LocalPdfManager, NetworkPdfManager,
|
/* globals PDFJS, createPromiseCapability, LocalPdfManager, NetworkPdfManager,
|
||||||
NetworkManager, isInt, RANGE_CHUNK_SIZE, MissingPDFException,
|
NetworkManager, isInt, MissingPDFException,
|
||||||
UnexpectedResponseException, PasswordException, Promise, warn,
|
UnexpectedResponseException, PasswordException, Promise, warn,
|
||||||
PasswordResponses, InvalidPDFException, UnknownErrorException,
|
PasswordResponses, InvalidPDFException, UnknownErrorException,
|
||||||
XRefParseException, Ref, info, globalScope, error, MessageHandler */
|
XRefParseException, Ref, info, globalScope, error, MessageHandler */
|
||||||
@ -160,7 +160,7 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
source.length = length;
|
source.length = length;
|
||||||
if (length <= 2 * RANGE_CHUNK_SIZE) {
|
if (length <= 2 * source.rangeChunkSize) {
|
||||||
// The file size is smaller than the size of two chunks, so it does
|
// The file size is smaller than the size of two chunks, so it does
|
||||||
// not make any sense to abort the request and retry with a range
|
// not make any sense to abort the request and retry with a range
|
||||||
// request.
|
// request.
|
||||||
|
@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
var DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The maximum allowed image size in total pixels e.g. width * height. Images
|
* The maximum allowed image size in total pixels e.g. width * height. Images
|
||||||
* above this value will not be drawn. Use -1 for no limit.
|
* above this value will not be drawn. Use -1 for no limit.
|
||||||
@ -217,6 +219,9 @@ PDFJS.isEvalSupported = (PDFJS.isEvalSupported === undefined ?
|
|||||||
* @property {number} length - The PDF file length. It's used for progress
|
* @property {number} length - The PDF file length. It's used for progress
|
||||||
* reports and range requests operations.
|
* reports and range requests operations.
|
||||||
* @property {PDFDataRangeTransport} range
|
* @property {PDFDataRangeTransport} range
|
||||||
|
* @property {number} rangeChunkSize - Optional parameter to specify
|
||||||
|
* maximum number of bytes fetched per range request. The default value is
|
||||||
|
* 2^16 = 65536.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -326,6 +331,8 @@ PDFJS.getDocument = function getDocument(src,
|
|||||||
params[key] = source[key];
|
params[key] = source[key];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
params.rangeChunkSize = source.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
|
||||||
|
|
||||||
workerInitializedCapability = createPromiseCapability();
|
workerInitializedCapability = createPromiseCapability();
|
||||||
transport = new WorkerTransport(workerInitializedCapability, source.range);
|
transport = new WorkerTransport(workerInitializedCapability, source.range);
|
||||||
workerInitializedCapability.promise.then(function transportInitialized() {
|
workerInitializedCapability.promise.then(function transportInitialized() {
|
||||||
|
Loading…
Reference in New Issue
Block a user