Sign in as Administrator then enter to debug mode. Select Settings >> Technical >> Reporting >> Print Access Right menu.
Create a new record. Give the access right name, then select the report that you want to give the access right.
Select the type of access right. Select list of user that you want this access right will take an effect. Then set the error message to the affected user.
This is 4 type of access right that you can choose.
It's mean the user can not print the document forever. If affected user try to print the related document, an error message will appear.
User can print the document for limited count only. If affected user try to print the related document more than Max Print Count, an error message will appear.
You can monitor how many times user already print some document in Print Count tab in Settings >> Technical >> Reports menu.
User can print the document only if the limitation condition not match. You can configure the condition dynamically by creating a domain. If affected user try to print the related document, and the record or data is match with the condition, an error message will appear.
User can print the document only if the limitation condition not match and the print count not reached the Max Print Count.
This module is tested in odoo 15, for other versions please check other branches. Please report me if you found a bug.