Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image printing autosize incorrect #58

Closed
jstans opened this issue May 19, 2016 · 15 comments
Closed

Image printing autosize incorrect #58

jstans opened this issue May 19, 2016 · 15 comments
Labels

Comments

@jstans
Copy link

jstans commented May 19, 2016

I've just got around to updating my API for 2.0 and firstly I am loving the new promise based API!

After testing a label though the first thing I noticed is that the images on the label are coming out at the wrong size and position. Also that the labels took significantly longer to come out of the printer than when using 1.9.x. The image is using about 60% of the label size and appears to pad the image by about 115% (printing a blank label first). Aspect ratio of the image is consistent.

I solved this by putting:

                size: {width: 4, height: 6},
                units: 'in',
                orientation: 'landscape'

I tested this using mm too which also works. width: 6, height: 4 provides the same size as not setting it but without the padding issue.

I also set the printer default back to Portrait and applied landscape in the options object. A very useful feature over 1.9.x!

It would appear 2.0.0 is not detecting and using the label size properly whereas 1.9.x can, is there a known reason for this?

@tresf
Copy link
Contributor

tresf commented May 19, 2016

@jstans thanks for the feedback.

It would appear 2.0.0 is not detecting and using the label size properly whereas 1.9.x can, is there a known reason for this?

Later revisions of 1.9 used a technique we call JAPANESE_POSTCARD to force the correct 4x6 label size. https://github.com/qzind/qz-print/blob/1.9/src/qz/PrintPostScript.java#L138:L142

2.0 had to drop this logic to support custom paper sizes as not all paper sizes conveniently fall into a Java pre-defined dimension. For example, 2.25 x 1.25 is a common Dymo label dimension, but there exist no such form for it in Java.

In regards to the adverse effects it has had, we've experienced some of these as well and we've been struggling to get our new logic to work perfectly for the scenarios you're describing. Perhaps a good first step is to offer up an test case (including a sample image) and expected results so that we can reproduce.

Also that the labels took significantly longer to come out of the printer than when using 1.9.x. The image is using about 60% of the label size and appears to pad the image by about 115% (printing a blank label first).

Our latest code hit some very specific Mac bugs which forces us to do rendering a bit differently. That said, we have some very platform-specific code to make sure the DPI is what was intended so there may be some up-scaling occurring which was not happening previously. I'll say that generally, this is intended.

Last, the hardware and OS you're using is important as we try to reproduce this on our end.

@tresf
Copy link
Contributor

tresf commented Jun 1, 2016

Perhaps a good first step is to offer up an test case (including a sample image) and expected results so that we can reproduce.

Note, we will close out this bug as invalid if we cannot get steps to reproduce (including hardware, drivers, etc).

@jstans
Copy link
Author

jstans commented Jun 1, 2016

Sorry for the delay.

I have run more tests (and printed way too many labels!) but I have some extra information.

I was using a TSC DA200 last time but this time I have been testing on a Citizen CL-S521Z. Interestingly the positioning on the label is different (not 2 labels, same size but offset all the way to the edge) but the problem is still present. OS is Windows 10.

I created a simple image of a black rectangle 400x600 in size for testing and have been sending the image as base64. testimage

What I noticed when printing with lots of different settings is that when landscape is set (either via the driver or the config), the width and height appear to be treated as width: 6, height: 4 rather than height: 4, width: 6. When I set 4x6 on the config it works correctly, when I set 6x4 it shows the same problem; whether in landscape or portrait.

tsc-incorrect (seems I cut off the bottom)
citizen-incorrect
citizen-correct (the margins are slightly off but it is the correct size)

I'll test if this solves the same problem on the TSC DA200 later (it's having an issue detecting the paper gap right now).

Does this help? or do you need more information to test this on your side?

@tresf
Copy link
Contributor

tresf commented Jul 22, 2016

Does this help? or do you need more information to test this on your side?

Yes, thanks for the very detailed write-up.

We have two Zebra printers (similar models) and we'll do some similar testing. @lite1979 can you do some further experiments with 4x6 versus 6x4, portrait vs. landscape using image printing to the LP2844-Z and report back your findings?

Note, the LP2844 and LP2844-Z printers printing the paper in portrait orientation naturally so I feel we should experiment using an image which is oriented opposite.

@jstans
Copy link
Author

jstans commented Nov 8, 2016

@tresf did you manage to investigate this at all? Apologies for not getting the LP2844 samples, I don't have one available for testing at the moment as we've kind of phased them out but I will keep an eye out for any old ones kicking around.

I'm still seeing these problems in the latest commit on a Citizen CLS-521/521Z. With an 1800x1200 image sent with scaling set to none I'm getting an image which is way too large for the 6x4 label, with scaling set to auto it's too small (like above) and with scaling set manually to 6x4 it works correctly. The label sizes on the printer driver in windows are set correctly. I'm seeing the same problem on a windows 10 machine and even an old xp machine!

EDIT: At auto it is printing the image at size 4x4 which reinforces my original theory that auto seems to be mixing up 6x4 and 4x6.

@tresf
Copy link
Contributor

tresf commented Nov 8, 2016

@tresf did you manage to investigate this at all?

This was tasked out. I'll get an update for you.

@lite1979
Copy link
Contributor

lite1979 commented Nov 9, 2016

@jstans , how exactly are you sending your image? Is it still base64, and if so, could you provide me with a sample of your code?

I was able to successfully print both a 600 pixels wide by 400 pixels tall image and a 1800 pixels wide by 1200 pixels tall image to my Zebra LP-2844-Z using

scaleContent: true

I'm using Windows 10 and QZ-Tray 2.0.1
3663469871666046594 account_id 1 jpg

@jstans
Copy link
Author

jstans commented Nov 9, 2016

@lite1979 It is base64, I have provided a sample.

qz.print(qz.configs.create("Citizen CL-S521",{colorType: "grayscale", orientation: "landscape", scaleContent: true}),[{ type: "image", format: "base64", data: "iVBORw0KGgoAAAANSUhEUgAABwgAAASwCAYAAADv4h4DAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AsJCiARIutOPwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAgAElEQVR42uzdf6wXdL3H8fehA6RUg4M/hulUQidxDrQmMLYokNFwhuZa0UE2m384Z2M6k6Zrbia2friYqaPQzdncBDObBE0NWgbCTDlYIRCCFQLqCfWoR2B6zuH0z72su2v3anHgnPN6PLbv5l/nx/v7nvt8eH6/59vQ29vbWwAAAAAAAECEIUYAAAAAAAAAOQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCBEAAAAAAAAIIIhAAAAAAAABBEIAQAAAAAAIAgAiEAAAAAAAAEEQgBAAAAAAAgiEAIAAAAAAAAQQRCAAAAAAAACCIQAgAAAAAAQBCB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V9ddd11dccUVNXz4cAMZoB599NG68cYb649//KNh/AsTJkyo7373uzV37lzDsPt2HwD3Vj6wF154oX72s5/VL37xi9q0aZOB9JHm5ua64YYbat68edXY2Gggzu7O7th9u88AJxCG+etf/1pjx47ts69vnaiqOnDgQH3ve9+rJUuWRH++4NEyduzYWrJkSV1yySWGMYDs2bOnFi5cWCtXrjSM92nOnDm1dOnSOvvssw3D7tt9APdW91b+T+3t7bVixYp64IEH6umnnzaQY2jcuHF155131pw5cwzD2d3ZHbtv9xnAvDc0TF99hgP890X7vvvuq3POOaduvfVWcfAo+ctf/lJf/OIX6/Of/3xt27bNQPq5np6eWrJkSY0fP95B8wN67LHHqrm5uW677bbq7u42ELtv9wHcW+F/6OrqqkceeaQuvvjiOv300+vaa68VB4+DXbt21YUXXlhf+tKXas+ePQbi7O7sjt23+wxQ3kEYZuHChXXXXXf12de3Trm2b99eV155ZT355JOG0YcaGxvr6quvrptvvrlGjRplIP3M7t2767LLLqsNGzYYxn/o/PPPrxUrVtQnPvEJw7D7dh/AvdW9NdxLL71Uy5Ytq7vvvrteeeUVA+lHRowYUTfddFNdd911NXToUANxdnd2x+7bfQYQ7yAMs3HjRkPgqOrq6qqbb765PvWpT4mDx0B3d3fdcccdNWHChFq7dq2B9CMPPvhgTZo0yUHzKNm0aVN9+tOfruXLlxuG3bf7AO6thNq8eXO1trbWmWeeWbfccos42A8dOHCgbrjhhpo4cWK1tbUZiLO7szt23+4zgHgHYZCOjo465ZRT+vQtwNYpy44dO2rBggU+BP54/Q+8oaG++c1v1uLFi71S8zjq7u6ua665ppYuXWoYfeTKK6+su+66y57bfbsP4N7q3hpk9uzZXhQ5wAwfPrxuv/32uuqqqwzD2d3ZHbtv9xkABMIgS5cura9//et9+j2sU4577rmnrr32Wp8z2A9MmTKlHnjgAW/rPw46Ojrqy1/+cv3mN78xjD42Y8aMevjhh6upqckw7L7dB3BvdW8N0NDQYAgD1Pz58+vuu++uESNGGIazu7M7dt/u05/PWwJhjsmTJ/f5O72s0+B36NChuvrqq+u+++4zjH7kox/9aC1btqxaW1sN4xjZuXNnXXTRRbVz507DOEbO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OXHRRRcVTDlYr169GDVqlHIQs7vZ3ewu+7Iv+0XHOwiL/YD9JWbSVq1aFTvssENBfCRL/fr1Y+zYsbHzzjs7mO/gnnvuiTPPPDOz9Z955pk46KCDinqP33333dhll10y+cVDaWlpvPDCCwXxi9d8GzZsWPTt2zeTtcvKyuLdd9+Npk2bJv36Ivuyn7pTTjkl7rvvvryvu/XWW8eMGTOiUaNG1WavFi5cGK1atYrFixdneh277rprTJ48OTbbbDMB9tzqubWILV++PPr06ZPJd8N+m+bNm8czzzwTzZs3d0CY3c3uZnfZl33ZLzreQQhFbJNNNimY72759NNPo3v37gXxkaeFbsyYMXHeeedltn63bt2Kvhz828P+EUcckcnaVVVVcfTRR8d7772XVLanTZsWp512Wmbr9+3b16Ap+7KfuHvvvTeTcrCkpCSGDBlSrcrBiIiGDRtm9t0j/2j27Nlx6qmnCjAUsfnz50fXrl0Lqhzs2rVrvPbaa8pBzO5md7O77Mu+7Bct7yAs9gP2l5jJW7lyZbRo0SI++eSTgrieZs2axdixY6vdL8jyZfLkyXHggQfGF198kcn6paWlMW3atGjVqlUS+z116tRo3759Zuvvsssu8eqrr8ZWW21V9Hv98ccfR6dOnWLhwoWZ/Xs4a9as2G233bzQyL7sJ/xvbNeuXWP16tV5X/uXv/xlXHvttdV2737+85/HLbfckvl13HLLLXH++ed7Effc6rm1CG2//fYxb968grme448/PgYPHhw1atRwOJjdze5md9mXfdkvWt5BCEVu0003jUGDBhXM9cydOze6desW77zzjsP5J+PHj48DDjggs3IwIuK0005LphyMiGjXrl1mf5EWETFnzpzo2bNnLF26tKj3ecGCBdGzZ8/MBs2IiGOOOcagKfuyn7DPPvssjjrqqEzKwS5dusRVV11Vrffv+uuvj9atW2d+Hf3794/XXnvNizgUoUIqB6+88soYMmSIchCzu9nd7C77si/7Rc87CIv9gP0lJn89lw4dOsSUKVMK5pq22mqrePLJJ2OfffZxQBExatSo+OlPfxpff/11ZtfQsGHD+J//+Z+oW7duUns/Z86c2H333WP9+vWZXUOHDh3iueeeK8q9/+STT2L//ffP9KM5atSoEXPmzPFRFbIv+4mqqqqKXr16xYsvvpj3tevVqxczZsyI7bbbrtrv49tvvx3t2rWLFStWZHodjRo1iunTp0dlZaUXcs+tnltlYIOqWbNmDB48OI477jgHgtnd7G52l33Zl/0keAchJPKwdc8990RZWVnBXNOSJUuiR48eMWTIkOTP5+67746DDz4403IwIuKuu+5KrhyM+MtHRvzsZz/L9BomTZoUXbp0Kbrv6Jw2bVp07tw588/tP/vssw2asi/7CbvssssyKQdLSkriD3/4Q1GUgxERLVq0iFtvvTXz65g/f3707ds3018SAcWnXr16MWrUKOUgZnezu9ld9mVf9tOSo6hFRF5/KGy/+MUv8p6J7/Jz/vnn51auXJnceaxYsSJ3/PHHF8QZHHvssUnfG5988klus802y/wcGjRokBs7dmxR7OmwYcNytWrVynxP69Spk/vss8/8AyD7sp+op556KldSUpLJGVxyySVFuad9+vQpiNllwIABXsQ9t3pulYEN8rPzzjvn3nvvPYeA2d3sbnaXfdmX/fRmMFtgyPaglY4VK1bkmjdvXpAl4W677ZabPn16Mmfx5ptv5nbfffeC2PtmzZrlvvzyy+Tvj+uuu64gzqOsrCx31VVX5davX18t9/Grr77K/exnPyuY15Y77rjDi7/sy36i3nnnnVydOnUy2f/OnTvn1q5dW5T7unTp0lzTpk0zz3hJSUluxIgRXsQ9t3pulYEf9dOtW7fckiVLHABmd7O72V32ZUZRUpYAACAASURBVF/205zBbIEh24NWWiZPnpyrqKgoyJKwRo0auWuvvbZof6GWy/2lpL3kkkty5eXlBbHnFRUVuUmTJrkxcrncmjVrcrvuumvB3A8dO3asdqX5E088kWvSpElB7WF1HdplX/Zl/8f/e9uyZctM9n+rrbbKffzxx0W9vxMnTiyIWaZu3bq5uXPneiH33Oq5VQb8+Enm/ja7m909t8q+7LNBZzBbYMg2iKXn2muvLeiBvkWLFrmnnnqq6Pb96aefLqh/iCMid9ttt7kh/sGYMWMK6nzKyspy5557bm7+/PkFvW+TJk3K7b///gW1d+Xl5bkZM2YItezLfqKOPfZY72rbyK655pqCyHybNm2S/Kh6z62eW2XAj59072+zu9ndc6vsyz4bbAazBYZsg1h6qqqqcoccckjBD/b77rtvburUqdV+v0eOHJnr2LFjwe3vaaed5mb4BqeddlrB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AgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAAAkREEIAAAAAAAACVEQAgAAAAAAQEIUhAAAAAAAAJAQBSEAAAAAAPD/27MDAQAAAABB/taDXBoBI4IQAAAAAAAARgQhAAAAAAAAjAhCAAAAAAAAGBGEAAAAAAAAMCIIAQAAAAAAYEQQAgAAAAAAwIggBAAAAAAAgBFBCAAAAAAAACOCEAAAAAAAAEYEIQAAAAAAAIwIQgAAAAAAABgRhAAAAAAAADAiCAEAAAAAAGBEEAIAAAAAAMCIIAQAAAAAAIARQQgAAAAAAAAjghAAAAAAAABGBCEAAAAAAACMCEIAAAAAAAAYEYQAAAAAAAAwIggBAAAAAABgRBACAAAAAADAiCAEAAAAAACAEUEIAAAAAAAAI4IQAAAAAAAARgQhAAAAAAAAjAhCAAAAAAAAGBGEAAAAAAAAMCIIAQAAAAAAYEQQAgAAAAAAwIggBAAAAAAAgBFBCAAAAAAAACOCEAAAAAAAAEYEIQAAAAAAAIwIQgAAAAAAABgRhAAAAAAAADAiCAEAAAAAAGBEEAIAAAAAAMCIIAQAAAAAAIARQQgAAAAAAAAjghAAAAAAAABGBCEAAAAAAACMCEIAAAAAAAAYEYQAAAAAAAAwIggBAAAAAABgRBACAAAAAADAiCAEAAAAAACAEUEIAAAAAAAAI4IQAAAAAAAARgQhAAAAAAAAjAhCAAAAAAAAGBGEAAAAAAAAMCIIAQAAAAAAYEQQAgAAAAAAwIggBAAAAAAAgBFBCAAAAAAAACOCEAAAAAAAAEYEIQAAAAAAAIwIQgAAAAAAphqDOwAAAvxJREFUABgRhAAAAAAAADAiCAEAAAAAAGBEEAIAAAAAAMCIIAQAAAAAAIARQQgAAAAAAAAjghAAAAAAAABGBCEAAAAAAACMCEIAAAAAAAAYEYQAAAAAAAAwIggBAAAAAABgRBACAAAAAADAiCAEAAAAAACAEUEIAAAAAAAAI4IQAAAAAAAARgQhAAAAAAAAjAhCAAAAAAAAGBGEAAAAAAAAMCIIAQAAAAAAYEQQAgAAAAAAwIggBAAAAAAAgBFBCAAAAAAAACOCEAAAAAAAAEYEIQAAAAAAAIwIQgAAAAAAABgRhAAAAAAAADAiCAEAAAAAAGBEEAIAAAAAAMCIIAQAAAAAAIARQQgAAAAAAAAjghAAAAAAAABGBCEAAAAAAACMCEIAAAAAAAAYEYQAAAAAAAAwIggBAAAAAABgRBACAAAAAADAiCAEAAAAAACAEUEIAAAAAAAAI4IQAAAAAAAARgQhAAAAAAAAjAhCAAAAAAAAGBGEAAAAAAAAMCIIAQAAAAAAYEQQAgAAAAAAwIggBAAAAAAAgBFBCAAAAAAAACOCEAAAAAAAAEYEIQAAAAAAAIwIQgAAAAAAABgRhAAAAAAAADAiCAEAAAAAAGBEEAIAAAAAAMCIIAQAAAAAAIARQQgAAAAAAAAjghAAAAAAAABGBCEAAAAAAACMCEIAAAAAAAAYEYQAAAAAAAAwIggBAAAAAABgRBACAAAAAADAiCAEAAAAAACAEUEIAAAAAAAAI4IQAAAAAAAARgQhAAAAAAAAjAhCAAAAAAAAGBGEAAAAAAAAMCIIAQAAAAAAYEQQAgAAAAAAwIggBAAAAAAAgBFBCAAAAAAAACOCEAAAAAAAAEYEIQAAAAAAAIwIQgAAAAAAABgRhAAAAAAAADAiCAEAAAAAAGBEEAIAAAAAAMCIIAQAAAAAAIARQQgAAAAAAAAjghAAAAAAAABGBCEAAAAAAACMCEIAAAAAAAAYEYQAAAAAAAAwIggBAAAAAABgRBACAAAAAADASP/iHoD6RyG/AAAAAElFTkSuQmCC" }])

Replacing scaleContent with the size like below produces the expected results:
{ colorType: "grayscale", orientation: "landscape", size: { height: 6, width: 4 }, units: "in" }

This is on a CLS-521 not a LP2844, but I have just run tests on a LP2844 on an XP machine and am seeing the same results (though placement is a bit different and sizing is smaller with scaleContent: true). Again it works as expected when the sizing is set manually.

@jstans
Copy link
Author

jstans commented Nov 9, 2016

When setting the density through qz to 300 (which is the density of the image vs the printer which is 200/203) I'm getting the correct sizing with scaleContent: true. It seems the setting doesn't apply to scaleContent: false (though shouldn't it?).

@tresf
Copy link
Contributor

tresf commented Nov 9, 2016

300 (which is the density of the image

The image should be 72 dpi. Java works best with 72 dpi images.

The density you supply to QZ Tray should be either 1. Unspecified, or 2. That of the printer. 203 is most common for Zebra label printers (they do make a 300 dpi model as well but it is less common).

Edit: Note also, we'll detect 203 DPI from Windows, so unspecified is generally recommended for thermal printers that are leveraging Pixel features.

@jstans
Copy link
Author

jstans commented Nov 15, 2016

@tresf Sorry, I could of been a bit clearer. I meant that at the resolution the images I'm printing are provided at (1800x1200) and no auto scaling it would need to be a 300dpi printer to print correctly to 6x4, with 1200x800 being for a 200dpi printer.

That's good to know that I shouldn't be changing the density at least, one less value to worry about.

Is anyone able to report if they are or are not seeing the same issue with the test I provided? I just rotated the image and set to portrait and I'm still seeing the same issue. It just appears to not be picking up the correct size from the printer.

@tresf
Copy link
Contributor

tresf commented Nov 15, 2016

@jstans would it help if we obtained your hardware? You can contact support@qz.io if interested (and assuming you have a spare printer to ship to us) we can test against this model and report our findings.

@tresf
Copy link
Contributor

tresf commented Dec 20, 2016

@jstans how would you like us to proceed with this bug? We can obtain the hardware and reproduce, just tell us the printer. The more common the hardware the better. 👍

@jstans
Copy link
Author

jstans commented Dec 20, 2016

@tresf Sorry, I actually started typing a response out to this a month ago but got distracted checking something else. I'm not confident it's the hardware as it seems to happen on all printer models I've tested (Citizen CL-S521Z, Zebra GK420d, Zebra 2844) and I believe at least the Zebra 2844 was tested by @lite1979. It has however seemingly worked ocassionally but not consistently on the TSC DA200 here but I haven't been able to work out why.

@tresf
Copy link
Contributor

tresf commented Jan 30, 2017

@jstans once we have steps to reproduce we'd be happy to address this problem. For now, we're closing out as invalid since we're unable to reproduce what you are seeing and we now have a large enough user-base on 2.0 that we feel confident this logic is working for 99% of the printers out there.

@tresf tresf closed this as completed Jan 30, 2017
@tresf tresf added the invalid label Jan 30, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants