New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 813051 link

Starred by 5 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Chrome printing bug: not printing some special character on PS printer

Project Member Reported by marcore@chromium.org, Feb 16 2018

Issue description

Chrome version: 64.0.3282.167
OS version: Microsoft Windows [Version 10.0.14393]
OS version: ChromeOs 
Case#: 14676599

Description: the customer has a pdf file with some check marks that can be toggled.
this check marks are not printed or replaced with another character. (https://screenshot.googleplex.com/tFTTgarkrsP.png)

Steps to reproduce: 
1) open source file: https://drive.google.com/open?id=14LOjBu4cdaTmCx87z-CD5x7mIvfIPYVp
2) toggle some check marks 
3) print to a PS printer
 I've saved as pdf after compiling the source file: https://drive.google.com/open?id=1hpdAdzrN0bcCj_DVFpDx1r4lUH7TYI4K

Current Behavior / Reproduction: 
the check marks are not printed: 
customer screenshot: https://screenshot.googleplex.com/tFTTgarkrsP.png
64.0.3282.167 https://drive.google.com/open?id=1e9iHAzD8MP3RfdcjsQ75P76-1dZvxWeb
66.0.3347.1   https://drive.google.com/open?id=1ORJurdsSWFBKfPJYRnj7BJlBwmgJ3uGj
66.0.3348.0   https://drive.google.com/open?id=1E2hEvbkBH14z9i8UiMPk_n4AZdJaq3fG
chromeOS:63.0.3239.140 https://drive.google.com/open?id=1R2rbXIIZq9yBEYhqQ5PCYTZWZvfWHFD-

Expected Behavior: 
check marks printed: 
acrobat reader https://drive.google.com/open?id=1tbUAbCyEZFeWKEuiyHapXedAaPS1NmQE
firefox https://drive.google.com/open?id=1IbXQxz_toT_0HP-LxO29kLMEj99eMyzB

Version tested:
ChromeOS 63.0.3239.140 (Official Build) stable-channel veyron_minnie https://drive.google.com/open?id=1sm_pzHMNq0XFnEy6MARAUGHA6EzPuvcA
64.0.3282.167 (Official Build) (64-bit) (cohort: 64_167_win) https://drive.google.com/open?id=1cKUgxXF8Qm6QDZEVtEa9fwGKmRqkryw5
66.0.3347.1 (Official Build) canary SyzyASan (32-bit) (cohort: ASAN)https://drive.google.com/open?id=15UfKdGEw2JYidRUxayqYdn-bi7fPfbIw
66.0.3348.0 (Official Build) (64-bit) https://drive.google.com/open?id=1cQIrG57sINe_VcUDUKDoETaSB0PtG2BX

I've also tried to enable chrome://flags/#postscript-printing but there is still the issue: https://drive.google.com/open?id=1ESGU_lySToPxorYc0I1ht9iIBQTOt1zA

 
Summary: Chrome printing bug: not printing some special character on PS printer (was: Chrome printing bug: not printing some special caracter)
Hi, could you please help triage this issue ?

Owner: rbpotter@chromium.org
Labels: Needs-Feedback
A couple of questions:
1) Is ChromeOS being used to print locally (with CUPS) or is this a Chrome OS machine printing to a cloud printer that is connected to a Windows cloud print server?
2) Is this unique to postscript printers in general, a particular postscript printer, or is this happening with Windows printers in general? If it still happens with the postscript printing path disabled (i.e. the Disable PostScript Printing flag enabled as mentioned), that means it is happening with the EMF path, which we use for all Windows printers.
marcore: We still have unanswered questions. ^
[answers]
1) Chrome OS machine printing to a cloud printer that is connected to a Windows cloud print server (which prints to file://)
on the ChromeOS I can't print locally, I don't have the infrastructure.
2) no, I've tried different postscript drivers, but all on Windows.

After the following tests, the issue is print to a windows PS printer using Cloudprint.

Test on ChromeOS:
ChromeOS 64.0.3282.167 :https://drive.google.com/open?id=1Oom2MYBczArRc4YmLrtMge74XmZkSTze

tried with this PS drivers:

KO ChromeOs_original_file_Cloud_print_dell_laser_printer_1720.ps https://drive.google.com/open?id=1EQ7X_joMweT8M65ofZ5mzNQBE2Ss-h01
KO ChromeOs_original_file_Cloud_print_HP_color_laserJet_2800.ps https://drive.google.com/open?id=1KlTlxG3ZOFGzgsOspiDP5J4o4R8noHuq
KO ChromeOs_original_file_Cloud_print_xerox_workCentre_7855.ps https://drive.google.com/open?id=1QfykVgx7TQOKxUGp-XZx1vMxaTf81qNI

same result, no check marks.

I've tried also with beta & Canary(only 1 printer):
65.0.3325.107 (Official Build) beta (64-bit) https://drive.google.com/open?id=142tOy9CZ_Q9lTMmWSuBZFCzk9UpunM1j
67.0.3363.0 (Official Build) canary (64-bit) https://drive.google.com/open?id=1cBHu1UcaXebxtZBbN91BRuSx2t2wReNN

KO ChromeOs_Canary_original_file_Cloud_print_HP_color_laserJet_2800.ps https://drive.google.com/open?id=1oDckf94PD2YmXOcnlrz5ktEufx33BG0I
KO ChromeOs_Beta_original_file_Cloud_print_HP_color_laserJet_2800.ps https://drive.google.com/open?id=1P-jO9sBSU7xfXe_IpCM2EpOK-PP8qmAD

same result, no check marks.

On windows system:
If I print directly to the PS printer it prints correctly, if I use CloudPrint no check marks.
Chrome: 65.0.3325.146 https://drive.google.com/open?id=1yS3UJl12l6jgZ4-_P2FyxgeFwxEJFt5g

OK windows_original_file_dell_laser_printer_1720.ps https://drive.google.com/open?id=1S_UcKfqcSq9WdC6HOw_wckq-xsJZkAlQ
OK windows_original_file_HP_color_laserJet_2800.ps https://drive.google.com/open?id=1V-CmazBXQSI5zieYs8E1-s5teTsBGvBp
OK windows_original_file_xerox_workCentre_7855.ps https://drive.google.com/open?id=1Eye-qZZcL3OJfieWhoCdsjTRgYPC-4vW

KO windows_original_file_Cloud_print_dell_laser_printer_1720.ps https://drive.google.com/open?id=1VaQzjDQLi8vOzSfSSTkKl4moQs9aUJEt
KO windows_original_file_Cloud_print_HP_color_laserJet_2800.ps https://drive.google.com/open?id=1HEt3mPNeU6uSrIjNOL2_o2mrdZa4UyiT
KO windows_original_file_Cloud_print_xerox_workCentre_7855.ps https://drive.google.com/open?id=1Q4XDhhaxIgypCYdbj8aOpKoTW0u4ZPvT

Labels: -Needs-Feedback
Cc: vkhabarov@google.com
That explains why the flag didn't make a difference. Cloud print doesn't use the postscript printing path (see https://cs.chromium.org/chromium/src/chrome/service/cloud_print/print_system_win.cc?l=451 where the mode is set to NORMAL). Given that this is the case, I am curious if you can reproduce the missing checkmarks by printing locally on Windows with the "Disable PostScript Printing" flag set to "Enabled", as this will force the local printing to go through PDF to EMF conversion, which I think will be more similar to the cloud print path.

Unfortunately I am having trouble reproducing this on Windows. What version of Windows are you running for the Windows tests? I installed the HP color laserjet 2700 PS driver and a Xerox universal PS driver to print to file on Windows 10. I saw checkmarks when I converted the output document back to PDF for both local and cloud printing.
Labels: Needs-Feedback
Labels: -Needs-Feedback
my test environment is based on Google Cloud platform, so all windows machine are server.

AD domain controller (mre-2008-AD): windows 2008 R2 Datacenter
on this server is installed the Cloud print connector and the various printers.
I run the cloud print connector in a cmd window for debug and save to file interactions.

Client in the domain:
mre-2008-client: Windows 2008 R2 Datacenter
mre-2012-client: Windows 2012 R2 Datacenter
mre-2016-client: Windows 2016 Datacenter

I don't convert the files from PS to PDF because on my linux desktop, Document Viewer can read directly the PS files.

testing locally with --enable-features=DisablePostScriptPrinting in incognito mode (so there is no confusion on which printer is using)
OK windows_original_file_Disable_postscript_HP_color_laserJet_2800.ps https://drive.google.com/open?id=10j-OT5ryFjkk5EQ9-vZohpc_MQBWwQox
OK windows_original_file_Disable_postscript_dell_laser_printer_1720.ps https://drive.google.com/open?id=1EaCzNMbDitl7ncSZ2hkLNe_ntRpM9a61
OK windows_original_file_Disable_postscript_xerox_workCentre_7855.ps https://drive.google.com/open?id=1AwaCDsmXcG6_OOLEUHZb6bxaO5ujcuNv


rbpotter: where you able to reproduce on your systems ?
I've tried with the last canary: 68.0.3400.0 on ChromeOS
but it's still not displaying the special characters 
Status: Assigned (was: Untriaged)
rbpotter@
Is there any update that can be shared with the customer?

Tried this again on latest Stable (67) to see if it reproduces now. Added PostScript printer driver to cloud print through chrome://devices on a Win10 machine and tried printing from Windows and Linux. This time I just looked at the output PS directly. In both cases the checkmarks showed up. I was planning to also try adding the printers with the cloud print service like I did earlier, but that currently isn't working for me at all with M67.

Based on comment 10 it sounds like this doesn't reproduce with local printing. Maybe it is somehow related to cloud print + a Windows server machine, instead of normal Windows 10? It will be difficult to make much more progress without a way to reproduce the issue.
rbpotter: I'm not aware of any issues with CloudPrint right now. Are you using the standalone connector from Github:

https://github.com/google/cloud-print-connector

or Chrome itself (we strongly recommend the standalone connector in enterprise setups).
I've tried with the standalone connector in the past and was not able to reproduce the issue. However, as noted in comment 14, the standalone connector currently isn't working for me on M67 (have tried a couple of different Windows 10 machines and am still unable to print anything). Once we debug that issue, I can try again with the connector.

Wasn't necessarily saying this is a cloud print server side issue, but rather that it is specific to printing with cloud printers, since marcore@ confirmed it cannot be reproduced with either local printing path on Windows. This means there is a good chance it is unrelated to the PostScript and EMF local printing code.
Update: jayhlee@ helped me get the cloud print connector set up on Windows, and I can now reproduce this. It does not appear to be PS printer specific, as it also reproduces when I add the XPS Document Writer using the connector and print to that. I also confirmed that it only reproduces with printers added via the connector (not chrome://devices) and does not reproduce with local printing on Windows (either PostScript or EMF).
This sounds like a bug in the standalone connector. Looking at the code, it appears to be using libpoppler to render the PDF from the Cloud Print server for printing to the local printer.
Labels: -M-64
One can potentially work around this bug with the "Print as image" option in Print Preview on ChromeOS.
Cc: rbpotter@chromium.org
Owner: ----
Status: Available (was: Assigned)
Unassigning myself for now since this looks like a connector bug rather than an issue with the Chrome PostScript printing path, and I am not all that familiar with the cloud print connector - thestig@, do you know who might be able to take a look at this from the cloud print/connector side?
jayhlee: ^
Cc: goanuj@chromium.org

Sign in to add a comment