[Issue] Impression via "hpcups": marge supérieure coupée

Questions liées au programme de setup ou à l'installation ainsi que des problèmes d'ordre général qui ne sont pas liés à un module spécifique (dictionnaire, impression, etc).

Modérateur : Vilains modOOs

Répondre
kero
Membre lOOyal
Membre lOOyal
Messages : 43
Inscription : 12 août 2016 17:44

[Issue] Impression via "hpcups": marge supérieure coupée

Message par kero »

Bonjour,

Descriptif simple:
J'ai un problème lors de l'impression avec Writer: si la marge supérieure de la page à imprimer est inférieure à 1,5cm, la partie supérieure du texte n'est pas imprimée.

Plus précisément
En préliminaire: mon imprimante est une HP Officejet 6700 Premium. Mon ordinateur tourne avec Archlinux et j'imprime via le serveur cups. Jusqu'à récemment, je pouvais utiliser le driver hplip (qui intègre hpijs, le driver de HP pour Linux), mais depuis peu, ce dernier a été déclaré "deprecated", ce qui fait qu'il n'est plus utilisable. Du coup, on nous demande d'utiliser le driver "hpcups" à la place, un driver natif qui vient avec le serveur d'impression cups.

En préliminaire toujours: mes pages sont généralement configurées dans Writer avec une marge de 1cm (haut/droite/gauche) et 1,3cm (bas). Mon imprimante a la capacité d'imprimer avec de telles marges. Elle l'a toujours fait avec l'ancien driver hplip. En fait, je peux imprimer des pages comportant une bordure qui se trouve à 1 mm de la page.

Le driver hpcups fonctionne globalement bien, sauf pour le détail sus-mentionné: lorsque j'imprime une page dont la marge supérieure est configurée à moins de 1,5 cm, tout ce qui se trouve à moins de 1,5 cm n'est pas imprimé. Alors bien sûr, j'ai pensé dans un premier temps que le problème venait du nouveau driver et pourtant, avec ce même driver hpcups, l'imprimante parvient à imprimer une page de test avec des marges très réduites. Et même: si je prends un document Libreoffice, si j'imprime directement le haut de la page est découpé, mais si je convertis d'abord en PDF et j'imprime, la page est imprimée complètement.

Autrement dit, on dirait que le problème ne se situe pas dans le driver en soi, mais dans l'intéraction entre Libreoffice et hpcups. À noter d'ailleurs qu'avec un autre driver (Gutenprint), Libreoffice imprime sans ce problème de marge (mais je ne peux utiliser ce driver-là puisqu'il ne gère pas la couleur).

Voilà voilà... Problème complexe. Si quelqu'un avait une idée ?

kero
Dernière modification par kero le 30 juin 2018 10:09, modifié 1 fois.
Libreoffice 5.4.5.1 (sur Archlinux)
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25143
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Re: Impression via "hpcups": marge supérieure coupée

Message par Dude »

Commence par :
  1. Vérifier si tu as la version officielle ou celle des dépôts
  2. Regarder si le phénomène existe en exportant le document en PDF puis en l'imprimant
kero
Membre lOOyal
Membre lOOyal
Messages : 43
Inscription : 12 août 2016 17:44

Re: Impression via "hpcups": marge supérieure coupée

Message par kero »

Hello Dude,

Merci pour ta réponse. Et désolé pour ma réaction tardive. J'ai été très pris par le boulot et par des essais que je faisais pour régler le problème. Problème qui n'est pas réglé au final.

Alors, pour rebondir à tes suggestions:
1) Tu parles de la version officielle de quoi ? Libreoffice, le driver, ou cups ? Dans les trois cas, j'ai pu constater que depuis un autre ordi avec une conf similaire (Archlinux/Libreoffice/cups/hpcups) l'impression fonctionne normalement. Le problème ne vient donc pas en soi d'une version du matériel que j'utilise, mais plutôt d'un défaut de configuration/intéraction foireuse dans les soft de mon PC.
2) Comme je le dis dans mon message, si je convertis en PDF et j'imprime, l'impression se fait sans problème.

Maintenant, à force de bidouiller pour chercher la source du problème, je n'ai pas réussi à le résoudre, mais j'ai pu déterminer que ce n'est pas en soi un problème de marge, mais un problème de format papier. Dans Libreoffice, mes fichiers sont configurés, normalement, en format A4. L'imprimante est aussi, dans cups, configurée en A4. Et de cette manière, ça foire. Par contre l'impression fonctionne (du moins pour la marge supérieure) si dans Libreoffice, je change le format en "Letter". Je n'y comprends rien. On dirait soit que cups prend un fichier en A4 mais veut l'imprimer en Letter malgré sa configuration. Ou que Libreoffice envoie un fichier "Letter" bien que le fichier soit, à l'origine, configuré en A4. Ou quelque chose dans le genre.

Maintenant, je me pose une question. Je crois comprendre (mais en réalité je ne comprends rien là-dessus) que lorsque Libreoffice doit imprimer du matériel, il y a tout un tat de softs intermédiaires/conversions de fichiers qui interviennent entre Libreoffice et cups. Je pense à PostScript, GhostScript, et autres bidules de ce genre. Mais je ne comprends pas trop comment tout ça intéragit. Quelqu'un aurait-il des suggestions de ce coté-là ?
Libreoffice 5.4.5.1 (sur Archlinux)
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25143
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Re: Impression via "hpcups": marge supérieure coupée

Message par Dude »

kero a écrit :Tu parles de la version officielle de quoi ?
A lire : avant de poser une question.
kero a écrit :depuis un autre ordi avec une conf similaire (Archlinux/Libreoffice/cups/hpcups) l'impression fonctionne normalement
Il te reste donc à regarder plus attentivement les différences entre les 2 machines.
Si LibO est en cause, on peut recopier le profil utilisateur pour voir s'il y a une incidence.

Cependant, afin d'écarter un problème lié à LibO, tu peux installer un autre produit comme Abiword ou OpenOffice.
kero
Membre lOOyal
Membre lOOyal
Messages : 43
Inscription : 12 août 2016 17:44

Re: Impression via "hpcups": marge supérieure coupée

Message par kero »

Sur le premier point, j'utilise effectivement la version des dépots d'Archlinux, pas la version proposée en téléchargement par Libreoffice. Je vais essayer de tester avec une version vanilla, même si je pense pas que ça change grand chose, puisque la politique des packagers d'Archlinux est de laisser le contenu des softs packagés en l'état (contrairement à d'autres distribs comme Debian).

Maintenant, j'ai essayé de faire le test que tu suggères et alors là c'est curieux: j'ai le même problème avec Openoffice (une version vanilla) mais je ne l'ai pas avec Abiword. J'ai même pu, avec Abiword, ouvrir un fichier .odt créé et modifié par Libreoffice et l'imprimer sans problème. Donc, contrairement à ma supposition (je soupçonnais plutôt le driver hpcups), il semblerait que le problème vient d'un problème commun à Libreoffice et Openoffice lié à l'envoi de la requête d'impression.

Affaire vraiment curieuse... :/
Libreoffice 5.4.5.1 (sur Archlinux)
kero
Membre lOOyal
Membre lOOyal
Messages : 43
Inscription : 12 août 2016 17:44

Re: Impression via "hpcups": marge supérieure coupée

Message par kero »

Bon. J'ai encore trituré la bécane un bon coup pour chercher la source du problème, alors je vais refaire le point (merci d'oublier tout ce qui a été dit jusqu'ici). Des fois que - à partir des observations que j'ai faites - quelqu'un aurait une idée pour la suite des opérations.

Donc, plusieurs remarques:
1) Pour rappel, le problème de base est que lorsque j'imprime une feuille A4 depuis Libreoffice sur mon imprimante HP Officejet 6700 Premium (via cups avec le driver hpcups pour Officejet 6700), avec une marge du haut de page qui est inférieure 1,5 cm, tout ce qui se trouve au-delà de cette marge n'est pas imprimé (alors que par ailleurs, les pages de test ou impression de PDF montrent que l'imprimante peut parfaitement imprimer avec une marge plus réduite).
1) J'avais fait une erreur dans mes tests et en fait, il apparaît que le problème se retrouve sur mon autre laptop avec Archlinux/cups/hpcups/libreoffice.
2) J'ai fait d'autres tests sur mon PC avec d'autres softs et il apparaît que le problème ne se pose PAS si j'utilise Abiword mais se pose aussi si j'utilise Openoffice. De plus, avec Libreoffice, si j'utilise le driver hpcups pour une version proche d'imprimante HP (Officejet 6600), le problème disparaît.

Maintenant, j'ai activé les traces de débugguage de cups et j'ai remarqué des choses intéressantes. Peut-être que ça peut donner des indications à quelqu'un pour m'aider.

Je ne transmets ici que la partie des logs où il me semble trouver des choses pertinentes. S'il peut être utile d'en donner plus, laissez-moi savoir.

Voilà deux extraits pris de /var/log/cups/error_log après une impression foireuse:
D [28/Jun/2018:12:50:44 +0200] [Job 3155] 3 filters for job:
D [28/Jun/2018:12:50:44 +0200] [Job 3155] pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
D [28/Jun/2018:12:50:44 +0200] [Job 3155] gstoraster (application/vnd.cups-pdf to application/vnd.cups-raster, cost 99)
D [28/Jun/2018:12:50:44 +0200] [Job 3155] hpcups (application/vnd.cups-raster to printer/HP_Officejet_6700, cost 0)
D [28/Jun/2018:12:50:44 +0200] [Job 3155] job-sheets=none,none
D [28/Jun/2018:12:50:44 +0200] [Job 3155] argv[0]="HP_Officejet_6700"
D [28/Jun/2018:12:50:44 +0200] [Job 3155] argv[1]="3155"
D [28/Jun/2018:12:50:44 +0200] [Job 3155] argv[2]="keikoz"
D [28/Jun/2018:12:50:44 +0200] [Job 3155] argv[3]="PlanningTravail.odt"
D [28/Jun/2018:12:50:44 +0200] [Job 3155] argv[4]="1"
D [28/Jun/2018:12:50:44 +0200] [Job 3155] argv[5]="Duplex=None InputSlot=Tray1 PageSize=A4.Duplex job-uuid=urn:uuid:85bae156-3acd-3fd7-6141-240a734334ad job-originating-host-name=localhost date-time-at-creation= date-time-at-processing= time-at-creation=1530183044 time-at-processing=1530183044 document-name-supplied=DS9pHR"
D [28/Jun/2018:12:50:44 +0200] [Job 3155] Ghostscript using Any-Part-of-Pixel method to fill paths.
D [28/Jun/2018:12:50:44 +0200] [Job 3155] Ghostscript command line: gs -dQUIET -dPARANOIDSAFER -dNOPAUSE -dBATCH -dNOINTERPOLATE -dNOMEDIAATTRS -dShowAcroForm -sstdout=%stderr -sOutputFile=%stdout -sDEVICE=cups -sMediaType=Plain -sOutputType=0 -r600x600 -dMediaPosition=1 -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=841 -dcupsBitsPerColor=8 -dcupsColorOrder=0 -dcupsColorSpace=17 -dcupsInteger0=26 -scupsPageSizeName=A4.Duplex -I/usr/share/cups/fonts -c \'<</.HWMargins[9.360000 33.192001 9.359985 42.552002] /Margins[0 0]>>setpagedevice\' -f -_
Les éléments mis en gras me semblent intéressants. Je ne comprends pas pourquoi le papersize est à A4.Duplex alors que nulle part le duplex est activé. De plus, à noter qu'une marge de page est définie qui semble faire partie du problème (je ne sais pas si c'est lié au A4.Duplex ou pas...). Maintenant, ce qui est intéressant, c'est que le log de cups est différent (et plus cohérent) aussi bien lorsque j'impime SOIT avec Abiword SOIT avec Libreoffice + hpcups pour Officejet 6600. Dans tous ces cas, le log, pour le passage équivalent, donne:
D [28/Jun/2018:13:11:19 +0200] [Job 3158] 3 filters for job:
D [28/Jun/2018:13:11:19 +0200] [Job 3158] pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
D [28/Jun/2018:13:11:19 +0200] [Job 3158] gstoraster (application/vnd.cups-pdf to application/vnd.cups-raster, cost 99)
D [28/Jun/2018:13:11:19 +0200] [Job 3158] hpcups (application/vnd.cups-raster to printer/HP_Officejet_6700, cost 0)
D [28/Jun/2018:13:11:19 +0200] [Job 3158] job-sheets=none,none
D [28/Jun/2018:13:11:19 +0200] [Job 3158] argv[0]="HP_Officejet_6700"
D [28/Jun/2018:13:11:19 +0200] [Job 3158] argv[1]="3158"
D [28/Jun/2018:13:11:19 +0200] [Job 3158] argv[2]="keikoz"
D [28/Jun/2018:13:11:19 +0200] [Job 3158] argv[3]="abiword, tâche n°2"
D [28/Jun/2018:13:11:19 +0200] [Job 3158] argv[4]="1"
D [28/Jun/2018:13:11:19 +0200] [Job 3158] argv[5]="InputSlot=Tray1 number-up=1 MediaType=Plain PageSize=A4 noCollate OutputMode=Normal ColorModel=RGB Duplex=None job-uuid=urn:uuid:ef77a143-a9ee-3f6e-4fdf-9d60704df776 job-originating-host-name=localhost date-time-at-creation= date-time-at-processing= time-at-creation=1530184279 time-at-processing=1530184279"
D [28/Jun/2018:13:11:19 +0200] [Job 3158] Ghostscript command line: gs -dQUIET -dPARANOIDSAFER -dNOPAUSE -dBATCH -dNOINTERPOLATE -dNOMEDIAATTRS -dShowAcroForm -sstdout=%stderr -sOutputFile=%stdout -sDEVICE=cups -sMediaType=Plain -sOutputType=0 -r600x600 -dMediaPosition=1 -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=841 -dcupsBitsPerColor=8 -dcupsColorOrder=0 -dcupsColorSpace=17 -dcupsInteger0=26 -scupsPageSizeName=A4 -I/usr/share/cups/fonts -c \'<</.HWMargins[9.360000 9.360000 9.359985 9.359985] /Margins[0 0]>>setpagedevice\' -f -_
On voit dans cet extrait que le format de page est correct et que les marges sont plus faibles.

Enfin, à noter que si j'utilise Libreoffice + hpcups6700 (c'est-à-dire la configuration qui pose problème) mais avec la page configurée en "Letter" au lieu de A4, l'impression se fait aussi normalement, et dans les logs, les marges (HWMargin) sont également plus faibles, et d'ailleurs, il n'y a plus l'ajout de ".Duplex". Voilà un extrait plus court:
D [28/Jun/2018:13:21:10 +0200] [Job 3162] Ghostscript command line: gs -dQUIET -dPARANOIDSAFER -dNOPAUSE -dBATCH -dNOINTERPOLATE -dNOMEDIAATTRS -dShowAcroForm -sstdout=%stderr -sOutputFile=%stdout -sDEVICE=cups -sMediaType=Plain -sOutputType=0 -r600x600 -dMediaPosition=1 -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -dcupsBitsPerColor=8 -dcupsColorOrder=0 -dcupsColorSpace=17 -dcupsInteger0=2 -scupsPageSizeName=Letter -I/usr/share/cups/fonts -c \'<</.HWMargins[9.360000 9.360000 9.359985 9.359985] /Margins[0 0]>>setpagedevice\' -f -_
Donc, pour conclure, on dirait qu'il y a un problème dans l'intéraction entre Libreoffice et le driver hpcups/6700, mais seulement dans le cas de certains formats de page (A4 en tout cas, on ne sait pas si c'est le cas pour d'autres) sans que je parvienne à comprendre qui est le fautif/d'où vient le problème.

Si quelqu'un est arrivé au bout du pavé, je l'en remercie. Des idées ? :)
Libreoffice 5.4.5.1 (sur Archlinux)
kero
Membre lOOyal
Membre lOOyal
Messages : 43
Inscription : 12 août 2016 17:44

Re: Impression via "hpcups": marge supérieure coupée

Message par kero »

Bon, après avoir encore un peu cherché, il m'apparait qu'il doit y avoir un bug. Libreoffice transforme le format de page de A4 en A4.Duplex, pour une raison qui m'échappe. J'ai aussi pu voir qu'il y a pas mal de problèmes liés à Libreoffice et l'impression Duplex (beaucoup de gens ont le problème inverse: ils ne parviennent pas à imprimer en Duplex).

J'ai posté un bugreport sur le bugzilla: https://bugs.documentfoundation.org/sho ... ?id=118467

En attente de résolution, donc. Merci à tous ceux qui ont essayé de m'aider. Je ne sais pas si je dois mettre en [résolu] puisque de fait, ce n'est pas résolu. "[bug en attente]", peut-être ?
Libreoffice 5.4.5.1 (sur Archlinux)
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9223
Inscription : 28 août 2010 10:45

Re: Impression via "hpcups": marge supérieure coupée

Message par micmac »

Bonjour,

Compte tenu de leur longueur, on vous pardonnera d'avoir posté plusieurs messages à la suite
[b][color=#404080]kero[/color][/b] a écrit :Je ne sais pas si je dois mettre en [résolu]
Vous avez déposé un rapport, il faut donc ajouter au début du titre de votre premier message la balise [Issue] accompagnée de l'icône Image pour un appel au vote.
Comment faire

Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
kero
Membre lOOyal
Membre lOOyal
Messages : 43
Inscription : 12 août 2016 17:44

Re: Impression via "hpcups": marge supérieure coupée

Message par kero »

D'accord, merci pour les indications micmac. :)
Libreoffice 5.4.5.1 (sur Archlinux)
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25143
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Re: [Issue] Impression via "hpcups": marge supérieure coupée

Message par Dude »

Sous OpenOffice, il est possible de désactiver CUPS afin de dialoguer en direct avec le pilote.
no_problemo.png
kero
Membre lOOyal
Membre lOOyal
Messages : 43
Inscription : 12 août 2016 17:44

Re: [Issue] Impression via "hpcups": marge supérieure coupée

Message par kero »

Hello Dude,

Je viens d'essayer, mais d'après ce que j'ai pu voir, cela implique de passer via la commande lpr à destination d'une imprimante générique. À moins qu'il soit possible de faire cette manip tout en indiquant un pilote spécifique, mais alors je ne vois pas comment.

Dans tous les cas: ce que j'ai pu trouver jusqu'à maintenant semble montrer que le problème ne se situe pas au niveau de Cups, mais plutôt dans la manière dont Libreoffice dialogue avec le pilote. J'ai lu d'anciens rapports de bogue d'après lesquels Libreoffice ne parvenait pas à imprimer en A4/Duplex. Je soupçonne que la résolution de ces anciens bugs s'est faite d'une manière qui force parfois le mode Duplex même s'il n'est pas demandé. Une résolution pour une régression, quoi. Mais ce n'est qu'hypothèse. J'ai essayé de parcourir le code de Libreoffice mais mes connaissances en C++ sont très rouillées. Si je décide de m'y mettre vraiment, ça prendra (beaucoup) de temps.

Dans tous les cas: pour l'instant, le problème n'est plus bloquant pour moi, puisque j'ai modifié le fichier PPT de l'imprimante de manière à supprimer les formats A4.Duplex, ce qui me permet d'imprimer comme je le veux. J'attends juste que les développeurs du bugzilla réagissent, mais j'ai l'impression que ça va prendre du temps...
Libreoffice 5.4.5.1 (sur Archlinux)
Répondre