Add pageSize option in printToPDF API.

This commit is contained in:
Haojian Wu 2015-07-26 11:43:23 +08:00
parent 9ec60cd585
commit 9eeebedf5f

View file

@ -6,6 +6,34 @@ ipc = require 'ipc'
nextId = 0 nextId = 0
getNextId = -> ++nextId getNextId = -> ++nextId
PDFPageSize =
A4:
custom_display_name: "A4"
height_microns: 297000
name: "ISO_A4"
is_default: "true"
width_microns: 210000
A3:
custom_display_name: "A3"
height_microns: 420000
name: "ISO_A3"
width_microns: 297000
Legal:
custom_display_name: "Legal"
height_microns: 355600
name: "NA_LEGAL"
width_microns: 215900
Letter:
custom_display_name: "Letter"
height_microns: 279400
name: "NA_LETTER"
width_microns: 215900
Tabloid:
height_microns: 431800
name: "NA_LEDGER"
width_microns: 279400
custom_display_name: "Tabloid"
wrapWebContents = (webContents) -> wrapWebContents = (webContents) ->
# webContents is an EventEmitter. # webContents is an EventEmitter.
webContents.__proto__ = EventEmitter.prototype webContents.__proto__ = EventEmitter.prototype
@ -41,32 +69,27 @@ wrapWebContents = (webContents) ->
webContents.printToPDF = (options, callback) -> webContents.printToPDF = (options, callback) ->
printingSetting = printingSetting =
pageRage:[], pageRage: []
mediaSize: mediaSize: {}
height_microns:297000, landscape: false
is_default:true, color: 2
name:"ISO_A4", headerFooterEnabled: false
width_microns:210000, marginsType: 0
custom_display_name:"A4", isFirstRequest: false
landscape:false, requestID: getNextId()
color:2, previewModifiable: true
headerFooterEnabled:false, printToPDF: true
marginsType:0, printWithCloudPrint: false
isFirstRequest:false, printWithPrivet: false
requestID: getNextId(), printWithExtension: false
previewModifiable:true, deviceName: "Save as PDF"
printToPDF:true, generateDraftData: true
printWithCloudPrint:false, fitToPageEnabled: false
printWithPrivet:false, duplex: 0
printWithExtension:false, copies: 1
deviceName:"Save as PDF", collate: true
generateDraftData:true, shouldPrintBackgrounds: false
fitToPageEnabled:false, shouldPrintSelectionOnly: false
duplex:0,
copies:1,
collate:true,
shouldPrintBackgrounds:false,
shouldPrintSelectionOnly:false
if options.landscape if options.landscape
printingSetting.landscape = options.landscape printingSetting.landscape = options.landscape
@ -77,6 +100,11 @@ wrapWebContents = (webContents) ->
if options.printBackgrounds if options.printBackgrounds
printingSetting.shouldPrintBackgrounds = options.printBackground printingSetting.shouldPrintBackgrounds = options.printBackground
if options.pageSize and PDFPageSize[options.pageSize]
printingSetting.mediaSize = PDFPageSize[options.pageSize]
else
printingSetting.mediaSize = PDFPageSize['A4']
@_printToPDF printingSetting, callback @_printToPDF printingSetting, callback
binding._setWrapWebContents wrapWebContents binding._setWrapWebContents wrapWebContents