JS打印设置-选择系统纸张大小

JS print Setup - Select System Paper Size?

本文关键字:系统 张大小 选择 打印 设置 JS      更新时间:2023-09-26

我需要按照系统(Windows)/打印机和传真中定义的自定义纸张大小打印页面。

我正在使用此FireFox扩展"JS打印设置"。我查阅了他们的文件http://jsprintsetup.mozdev.org/reference.html

它具有获取系统打印机列表的功能

jsPrintSetup.getPrintersList()

但我找不到任何函数可以获得系统纸张大小。他们拥有的是

jsPrintSetup.getPaperSizeList()//未获取系统纸张大小:(

但它给出了自己的纸张尺寸,而不是来自系统。

那么,我如何通过扩展选择系统纸张大小,或者如果不可能,那么在扩展中创建一个?

旁注:我使用这个扩展是因为它可以通过选择(通过代码)打印机和纸张大小来静音打印(尚未发生)。

目前我找不到使用系统纸张尺寸的方法,但找到了将新纸张尺寸添加到jsPrintSetup.getPaperSizeList() 的方法

jsPrintSetup.definePaperSize(101, 101, "Custom", "Custom_Paper", "Custom PAPER", 250, 400, 
jsPrintSetup.kPaperSizeMillimeters);
jsPrintSetup.setPaperSizeData(101);

根据文件

void definePaperSize(in short jspid, in short pd, in wstring pn, in wstring pwg, in wstring name, in double w, in double h, in short m); 

在不同的平台及其打印子系统上,纸张定义不同。jsPrintSetup使用自己的内置列表,其中包含具有自己ID的纸张定义,并与特定于平台的ID相匹配。您可以查看预定义的图纸定义列表,并使用最适合您的情况的图纸定义。(http://jsprintsetup.mozdev.org/reference.html#ENHANCED_PAPERHANDLING)例如,如果您想使用ISO A4纸张大小,可以调用jsPrintSetup.setPaperSizeData(10);要使用自定义纸张尺寸,您必须首先在平台打印系统中定义,然后在jsPrintSetup中使用正确的paperData和paperName值进行定义。找到它们最简单的方法是在从Firefox手动打印到本文后,从about:config中获取。(print.printer_{您的打印机名称}.paper_data和print.printerer_{您打印机名称}.paper_name)

我希望这对你有帮助!

问候,

Dimitar Angelov