Search code examples
angularjsprintingkiosk-mode

Silent/kiosk printing incompatible with Angular?


Ok, so here's my story: I developed a web application that populates printing area which I prepared before with something like this :

<div class="print-area">
   <div class="receipt" ng-repeat="receipt in receipts" style="padding: 10px">
       <div .... >
       <span .... >
       <table .... >
   </div>
</div>

where receipts is an array generated asynchronously by Ajax call (with $http dependency injector) :

$http.get("/some/api/call").success(function(reply){
   $scope.receipts = reply;

   $timeout(function(){
       window.print();
   }, 1000);

});

and thing started to get weird here, I use latest chrome 51.0.2704.79 in windows 7 machine with (--kiosk --kiosk-printing) enabled, whenever window.print() gets called, some of the .receipt don't get printed. They're just skipped randomly (mostly the last .receipt element) and leave a blank space. But, when I disabled --kiosk --kiosk-printing options, it prints all .receipt normally.

I had no issue with the printer driver and have tested it in another computer with the same result, it seems kiosk mode disturb angular in some ways

Any suggestion ? Thank you


Solution

  • found it! It's an issue with Google Chrome itself. If you're also have the same problem, Follow this : https://bugs.chromium.org/p/chromium/issues/detail?id=136343