147 lines
3.7 KiB
JavaScript
147 lines
3.7 KiB
JavaScript
|
/* Copyright 2020 Mozilla Foundation
|
||
|
*
|
||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
* you may not use this file except in compliance with the License.
|
||
|
* You may obtain a copy of the License at
|
||
|
*
|
||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
*
|
||
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
* See the License for the specific language governing permissions and
|
||
|
* limitations under the License.
|
||
|
*/
|
||
|
|
||
|
class PrintParams {
|
||
|
constructor(data) {
|
||
|
this.binaryOk = true;
|
||
|
this.bitmapDPI = 150;
|
||
|
this.booklet = {
|
||
|
binding: 0,
|
||
|
duplexMode: 0,
|
||
|
subsetFrom: 0,
|
||
|
subsetTo: -1,
|
||
|
};
|
||
|
this.colorOverride = 0;
|
||
|
this.colorProfile = "";
|
||
|
this.constants = Object.freeze({
|
||
|
bookletBindings: Object.freeze({
|
||
|
Left: 0,
|
||
|
Right: 1,
|
||
|
LeftTall: 2,
|
||
|
RightTall: 3,
|
||
|
}),
|
||
|
bookletDuplexMode: Object.freeze({
|
||
|
BothSides: 0,
|
||
|
FrontSideOnly: 1,
|
||
|
BasicSideOnly: 2,
|
||
|
}),
|
||
|
colorOverrides: Object.freeze({
|
||
|
auto: 0,
|
||
|
gray: 1,
|
||
|
mono: 2,
|
||
|
}),
|
||
|
fontPolicies: Object.freeze({
|
||
|
everyPage: 0,
|
||
|
jobStart: 1,
|
||
|
pageRange: 2,
|
||
|
}),
|
||
|
handling: Object.freeze({
|
||
|
none: 0,
|
||
|
fit: 1,
|
||
|
shrink: 2,
|
||
|
tileAll: 3,
|
||
|
tileLarge: 4,
|
||
|
nUp: 5,
|
||
|
booklet: 6,
|
||
|
}),
|
||
|
interactionLevel: Object.freeze({
|
||
|
automatic: 0,
|
||
|
full: 1,
|
||
|
silent: 2,
|
||
|
}),
|
||
|
nUpPageOrders: Object.freeze({
|
||
|
Horizontal: 0,
|
||
|
HorizontalReversed: 1,
|
||
|
Vertical: 2,
|
||
|
}),
|
||
|
printContents: Object.freeze({
|
||
|
doc: 0,
|
||
|
docAndComments: 1,
|
||
|
formFieldsOnly: 2,
|
||
|
}),
|
||
|
flagValues: Object.freeze({
|
||
|
applyOverPrint: 1,
|
||
|
applySoftProofSettings: 1 << 1,
|
||
|
applyWorkingColorSpaces: 1 << 2,
|
||
|
emitHalftones: 1 << 3,
|
||
|
emitPostScriptXObjects: 1 << 4,
|
||
|
emitFormsAsPSForms: 1 << 5,
|
||
|
maxJP2KRes: 1 << 6,
|
||
|
setPageSize: 1 << 7,
|
||
|
suppressBG: 1 << 8,
|
||
|
suppressCenter: 1 << 9,
|
||
|
suppressCJKFontSubst: 1 << 10,
|
||
|
suppressCropClip: 1 << 1,
|
||
|
suppressRotate: 1 << 12,
|
||
|
suppressTransfer: 1 << 13,
|
||
|
suppressUCR: 1 << 14,
|
||
|
useTrapAnnots: 1 << 15,
|
||
|
usePrintersMarks: 1 << 16,
|
||
|
}),
|
||
|
rasterFlagValues: Object.freeze({
|
||
|
textToOutline: 1,
|
||
|
strokesToOutline: 1 << 1,
|
||
|
allowComplexClip: 1 << 2,
|
||
|
preserveOverprint: 1 << 3,
|
||
|
}),
|
||
|
subsets: Object.freeze({
|
||
|
all: 0,
|
||
|
even: 1,
|
||
|
odd: 2,
|
||
|
}),
|
||
|
tileMarks: Object.freeze({
|
||
|
none: 0,
|
||
|
west: 1,
|
||
|
east: 2,
|
||
|
}),
|
||
|
usages: Object.freeze({
|
||
|
auto: 0,
|
||
|
use: 1,
|
||
|
noUse: 2,
|
||
|
}),
|
||
|
});
|
||
|
this.downloadFarEastFonts = false;
|
||
|
this.fileName = "";
|
||
|
this.firstPage = 0;
|
||
|
this.flags = 0;
|
||
|
this.fontPolicy = 0;
|
||
|
this.gradientDPI = 150;
|
||
|
this.interactive = 1;
|
||
|
this.lastPage = data.lastPage;
|
||
|
this.npUpAutoRotate = false;
|
||
|
this.npUpNumPagesH = 2;
|
||
|
this.npUpNumPagesV = 2;
|
||
|
this.npUpPageBorder = false;
|
||
|
this.npUpPageOrder = 0;
|
||
|
this.pageHandling = 0;
|
||
|
this.pageSubset = 0;
|
||
|
this.printAsImage = false;
|
||
|
this.printContent = 0;
|
||
|
this.printerName = "";
|
||
|
this.psLevel = 0;
|
||
|
this.rasterFlags = 0;
|
||
|
this.reversePages = false;
|
||
|
this.tileLabel = false;
|
||
|
this.tileMark = 0;
|
||
|
this.tileOverlap = 0;
|
||
|
this.tileScale = 1.0;
|
||
|
this.transparencyLevel = 75;
|
||
|
this.usePrinterCRD = 0;
|
||
|
this.useT1Conversion = 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export { PrintParams };
|