• ×
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
  • ×
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
Guidelines
Ready to level up? Join the Expert Program—
HP Recommended

I'd like to use the PPD modfication solution.

 

Where are 'PPD' files found in the OS? Is there a specific name for the file/printer type, e.g. HPM551.PPD? I've never heard of those types of files before and haven't been able to find it for my M551 on the Mac hard drive.

 

Are PDP's under //Library, //System, //Users? Which subdirectories? I know that "/Printers" directories exist in a numbrer of places but I can't seem to find the correct one that has these PPDs.

 

I'd really appreciate the help! Tank you. 

HP Recommended

/Libraray/Printers/PPDs/Contents/Resources contains archived files (.gz) with the names of the printers, e. g. HP LaserJet 500 color M551.gz . Double clicking creates an editable file in which you can find the TTRasterizer ...

HP Recommended

@Prints_William - Thank you very much!

 

I can confirm this for the HP LJ 1320 and the HP Color LJ  500.

 

That's unbelievable - HP and Apple were not able to pinpoint this issue for months, and you found the solution!

 

Seeing the solution, this suddenly makes all puzzle parts fall together. 

 

Apple changed something in their TT font format, and those printers have a TT renderer that sometimes can't handle the changed format (depending on font, diacriticals, etc.). Your patch tells the printing system the printer does not have a renderer of its own, so rather than trying to offload the rendering to the printer, the mac does it in software (and obviously can handle the new format reliably).

 

But how did you find that out? Awesome!

 

You should send an invoice for your hours invested to Apple and HP 😉 Thinking of it, many here on the forum have spent numerous hours debugging this for HP and Apple at no cost - and should get a reward. @HP What about a lifetime free toner subscription? 😉 😄

HP Recommended

Just a warning: 

After several hours with the TTRasterizer modification Apple Software Update showed up to install HP Printer Update 5.1., which it did already several times in the past, without any problem solution.

Apparently the modifications somehow triggered the update again. Do not install this update. With the update the problem will be back, of course!

HP Recommended

A quick bash script to apply this change to installed printers. 

 

I populated the model list with the "M" printers from the Essentials S package, as well as the 1320 confirmed here. Don't know if all are affected, but figured a place to start.

 

Usable in management tools such as Jamf, ARD send, or local run with sudo.

 

Worked for me, but use at your own risk, and TEST!

 

#!/bin/bash

declare -a models=('1320' 'M1522' 'M1536' 'M175' 'M201' \
                   'M202' 'M225' 'M226' 'M251' 'M252' \
                   'M2727' 'M274' 'M275' 'M276' 'M277' \
                   'M3027' 'M3035' 'M351' 'M375' 'M377' \
                   'M401' 'M402' 'M403' 'M425' 'M426' \
                   'M427' 'M4345' 'M4349' 'M435' 'M451' \
                   'M452' 'M4555' 'M475' 'M476' 'M477' \
                   'M501' 'M5025' 'M5035' 'M5039' 'M506' \
                   'M521' 'M525' 'M527' 'M551' 'M552' \
                   'M553' 'M570' 'M575' 'M577' 'M601' \
                   'M602' 'M603' 'M604' 'M605' 'M606' \
                   'M630' 'M651' 'M680' 'M701' 'M706' \
                   'M712' 'M725' 'M750' 'M775' 'M806' \
                   'M830' 'M855' 'M880' 'M9040' 'M9050' \
                   'M9059')

for ppd in $(ls -1 /etc/cups/ppd/*.ppd)
do

    model=$(cat "$ppd" | grep "ModelName: " | tr -d '\"' | awk -F': ' '{ print $2 }')

    for i in "${models[@]}"
    do
        if [[ $model == *"$i"* ]]; then
            sed -i '' 's/^\(\*TTRasterizer: \).*$/\1None/' "$ppd"
        fi
    done

done

exit 0
HP Recommended

@G-V-H

 

Did you make the edits in /etc/cups/ppd, or in /Library/Printers/PPDs/Contents/Resources?

 

If you did the latter, I'm betting that is where Apple is seeing that something has "changed" and wants to reinstall.

 

Just trying to narrow down...

HP Recommended

I can confirm that „*ttrasterizer: none“ works on a M605 insofar as an excel sheet with the cells formatted in the Calibri font now prints correctly whereas before it generated the error „offending command: xshow“.

I‘m planning of changeing that line in all ppd files in /etc/cups/ppd. What is the disadvantage (at least in theory if not in practice) of that change?

 

Roger

HP Recommended

@KernsB wrote:

@G-V-H

 

Did you make the edits in /etc/cups/ppd, or in /Library/Printers/PPDs/Contents/Resources?

 

If you did the latter, I'm betting that is where Apple is seeing that something has "changed" and wants to reinstall.

 

Just trying to narrow down...


Actually, neither nor - but ... I edited a copy of the ppd and modified the printer using the cups browser interface to accept the new ppd. This should give the same result as editing /etc/cups/ppd.

 

However, as I like to have everything consistent I updated /Library/Printers/PPDs/Contents/Resources later. That seemed to trigger the App Store to offer HP Printer Update 5.1 again to restore the old ppd and the well-known problems. So Apple and HP seem to insist to have the problem!

 

I did this twice now to verify the procedure. And yes, you are right, if I only change the active ppd in CUPS and do not change /Library/Printers/PPDs/Contents/Resources then the 5.1 update does not show up.

HP Recommended

This is great news! Well done everyone!

 

Can I apply this fix directly to our MacMini which is acting as a print server running Papercut rather than aply it individually to each machine?

 

I assuming it will be OK as the mini just queues the job and then passes it to the printer via IP so the mini is doing the rendering as such.

 

Edit: Just tried it anyway and it seems to have worked. I used the Bash Script above. You guys are awesome!

 

 

HP Recommended

I just run

 

sudo grep -l "*TTRasterizer: Type42" /etc/cups/ppd/*.ppd -s | while read filename ; do sed -i .T42bak  's/*TTRasterizer: Type42/*TTRasterizer: None/g' $filename ; done

 

to change all ppds in /etc/cups/ppd regardless of model since we have only HP devices.

 

I found that when I install a device as AirPrint (AirPrint printers so far haven't shown the problem) the associated ppd doesn't have the TTRasterizer attribute at all, thus defaulting to "*TTRasterizer: None" according to the documentation. So I assume globally setting "*TTRasterizer: None"  doesn't really hurt.

† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the <a href="https://www8.hp.com/us/en/terms-of-use.html" class="udrlinesmall">Terms of Use</a> and <a href="/t5/custom/page/page-id/hp.rulespage" class="udrlinesmall"> Rules of Participation</a>.