edabg / jsprintsetup

JSPrintSetup Firefox addon
Mozilla Public License 2.0
76 stars 39 forks source link

Custom paper size not working with firefox 46.0.1 #14

Open 3dgroup opened 8 years ago

3dgroup commented 8 years ago

I have 4 computers all running the extensions.

jsPrintSetup.setPaperSizeUnit('kPaperSizeMillimeters');
jsPrintSetup.definePaperSize(44, 44, "na_label", 'na_label_51x25mm', "Product Label", "201", "98.5", "kPaperSizeMillimeters"); jsPrintSetup.setPaperSizeData('44'); jsPrintSetup.printWindow(window.frames[0]);

2 computers have had the Firefox updated and print everything in A4, but the old ones work fine.

mitkola commented 8 years ago

On which platform/OS you are working? If this is on Windows try to print manually on this paper and see what is stored in about::config preferences printer.<your printer name>.print_paper_data it must be 44. The 44 is your special paper for your printer in paper size definition. Enhanced Paper data handling

3dgroup commented 8 years ago

Its on windows 7. About:config. print_paper_data shows nothing until after I print manually. Then print. shows with -1 and the value. Changing this value manually to 44 does not work either. Tried reinstalling the 46.0.1 update and the add-on. The only way I can get it to work is to install a previous version of Firefox. Printing manually setting the values works fine. My 3rd device updated last night and did this same this morning, seems to be reverting to A4. There is also an unusual pause of a few seconds after printing.

3dgroup commented 8 years ago

Just check 46 update does it as well. I have to install version 45 for it to work.

mitkola commented 8 years ago

Is the 44 is custom paper form definition (for driver)? When you print manually on FF 45 what is value of printer.<your printer name>.print_paper_data in about:cobfig? I have made research about changes in printing behavior in FF 46. Changes in nsPrintOptionsImpl.cpp I found changes in FF and print settings on windows, but I must check in details how paper sizes are supported now.

mitkola commented 8 years ago

Can you test with version 0.9.5.3? Is the problem persists?

Extremal1981 commented 8 years ago

Hello, after updating to version 0.9.5.3 FF46 in Ubuntu, prints at a very small scale result. All the characters are very small. Version 0.9.5.2 is not a problem. Print.print_resolution modify variables, there is no effect. This problem only FF46, FF in the previous releases of this problem has not arisen with jsPrintSetup 0.9.5.3. In Windows 8 FF46 jsPrintSetup 0.9.5.3 In addition to the paper size has not changed, and still does not change the orientation of the page

This is my source code printing bar code labels:

jsPrint(win,defaultPrinter,55,25,0,0,0.53,0.38,95,0);

function jsPrint(win,printer,width,height,mTop,mBottom,mLeft,mRight,scalling,orient) { //orient 0 - 'kPortraitOrientation', 1 - 'kLandscapeOrientation' if (printer) { //поиск принтера var findPrinter=''; var printers = jsPrintSetup.getPrintersList(); printers = printers.split(','); for (i=0;i!=printers.length;i++) if (printers[i].indexOf(printer)>-1) { findPrinter=printers[i];break;} if (!findPrinter) { Ext.Msg.show({title:'Ошибка',msg:'Принтер '+printer+' не найден',buttons:Ext.Msg.OK});return; }; jsPrintSetup.setPrinter(findPrinter); }

    //Задаём параметры страницы
    if (!mBottom) mBottom=0.1;
    if (!mLeft) mLeft=0.1;
    if (!mRight) mRight=0.1;
    if (!mBottom) mBottom=0.1;
    if (!width) width=210;
    if (!height) height=297;
    jsPrintSetup.setPaperSizeUnit(0);
    jsPrintSetup.setOption('paperWidth',width);
    jsPrintSetup.setOption('paperHeight',height);
    jsPrintSetup.setOption('headerStrCenter','');
    jsPrintSetup.setOption('headerStrLeft','');
    jsPrintSetup.setOption('headerStrRight','');
    jsPrintSetup.setOption('footerStrCenter','');
    jsPrintSetup.setOption('footerStrLeft','');
    jsPrintSetup.setOption('footerStrRight','');
    jsPrintSetup.setOption('footerStrRight','');
    jsPrintSetup.setOption('marginTop',mTop);
    jsPrintSetup.setOption('marginBottom',mBottom);
    jsPrintSetup.setOption('marginLeft',mLeft);
    jsPrintSetup.setOption('marginRight',mRight);
    jsPrintSetup.setOption('orientation',orient);
    if (scalling) { jsPrintSetup.setOption('shrinkToFit',false);jsPrintSetup.setOption('scaling',scalling); } 
    else jsPrintSetup.setOption('shrinkToFit',true); 
    //отправляем на печать
    jsPrintSetup.clearSilentPrint();
    jsPrintSetup.setOption('printSilent',1);
    jsPrintSetup.printWindow(win);
    win.close();

}

mitkola commented 8 years ago

Are you tested on Windows OS? Because there are changes in handling paper size from FF 46. https://hg.mozilla.org/releases/mozilla-release/rev/fb4737474a9c

3dgroup commented 8 years ago

0.9.5.3 still has the same issue (windows) for me.

mitkola commented 8 years ago

See response at https://github.com/edabg/jsprintsetup/issues/15#issuecomment-219370807