J'ai un fichier de contrôle de travaux CUPS (ceux-ci peuvent être trouvés dans/var/spool/cups/cnnnnn). J'ai besoin d'obtenir les dimensions réelles de l'impression qui a été faite.Est-ce la meilleure façon d'obtenir la taille d'un papier via CUPS?
C'est la façon dont j'ai compris de le faire:
- obtenir le nom de papier en utilisant l'attribut
media
. (par exemple,Letter
) - Extrait l'uri d'imprimante de l'attribut
printer-uri
. (Par exempleipp://localhost/printers/MyPrinter
) - obtenir le nom de l'imprimante en passant l'imprimante uri à l'opération
IPP_GET_PRINTER_ATTRIBUTES
et obtenir l'attributprinter-name
. (Par exempleMyPrinter
) - Obtenez le chemin d'accès au fichier PPD en passant le nom de l'imprimante à la méthode
cupsGetPPD
. - Ouvrez le fichier PPD transmettant le chemin d'accès au fichier PPD à la méthode
ppdOpenFile
. - Obtenez le format de papier en transmettant le nom PPD et le nom de papier à la méthode
ppdPageSize
.
Cela va fonctionner, mais il semble un peu rond-point. Existe-t-il un moyen plus efficace d'obtenir ce dont j'ai besoin?