Qu'est-ce que «Imprimer dans un fichier» et peut-il être utilisé à partir de la ligne de commande?

12

Lorsque vous sélectionnez "Imprimer dans un fichier" dans une boîte de dialogue d'impression Gnome (pas cups-pdf):

imprimer en tant que fichier

... quelle est la commande réelle qui est exécutée? (Je suis intéressé par la variante postscript, comme sur l'image)

D'un autre côté - peut-être qu'il n'y a pas d'appel de commande; c'est peut-être gtk_print_operation_set_export_filenamede la nouvelle API d'impression Gtk + ?

Dans tous les cas - existe-t-il un moyen pour moi d'utiliser ce code particulier à partir de la ligne de commande (pas pdf2pset autres)? Disons, en utilisant lprpour "imprimer dans un fichier" dans un fichier postscript - comme si j'utilisais la boîte de dialogue ci-dessus?

sdaau
la source
3
AFAIK, c'est une caractéristique du sous-système utilisé par certaines applications GNOME et GTK + pour imprimer des trucs (certains d'entre eux utilisent Cairo). lprinteragit cupsdirectement avec , l'option d'impression dans un fichier contourne complètement le serveur d'impression. il n'appelle probablement pas de commande, il appelle simplement la fonction de rendu du Caire d'une manière différente afin de générer une sortie pdf, postscript ou svg dans un fichier.
njsg
Ah, c'est le backend du Caire! Avez-vous des idées si une ligne de commande comparable est disponible, qui peut invoquer cette fonction de rendu de la même manière que la boîte de dialogue d'impression? Merci beaucoup pour le commentaire, @njsg - cheers!
sdaau
3
Il peut y avoir un outil en ligne de commande cairo (je ne sais vraiment pas), mais je suppose que c'est un peu délicat, car de nombreuses applications utilisent cairo pour imprimer leurs propres documents, et cette application est celle qui est capable de comprendre le format de fichier . Le Caire ne pourra pas lire les formats de fichiers aléatoires. Le plus proche que vous pouvez obtenir est de vérifier si le programme avec la boîte de dialogue dispose d'une option de ligne de commande pour imprimer un fichier sans ouvrir l'interface graphique.
njsg
Merci d'avoir expliqué que @njsg - la capture d'écran ci-dessus a été prise à partir de la evinceboîte de dialogue d'impression; malheureusement, je ne vois aucun commutateur de ligne de commande evincequi ferait quelque chose comme ça.
sdaau
Ceci est juste une convention d'interface utilisateur, chaque programme peut en principe faire ce qu'il souhaite lorsque "Imprimer dans un fichier" est sélectionné.
vonbrand

Réponses:

4

Vous pouvez utiliser le cups-pdfpackage comme une solution indépendante de gnome. Après avoir installé le package, ajoutez l'imprimante PDF à l'aide de l'interface Web cups http://localhost:631comme décrit iciGénéral» en tant que fabricant de l'imprimante, CUPS-PDF en tant que pilote ).

Pour votre commodité, changez le répertoire de sortie avec l'option Outen /etc/cups/cups-pdf.conf, comme, ${HOME}ou tout ce que vous voulez. Ensuite, faites comme suggéré par @ Noam pour imprimer dans un fichier.

J. Katzwinkel
la source
2
lpr -P "Print_to_PDF" file_to_print

Pour obtenir la liste des imprimantes actuellement configurées, exécutez lpstat -p -d.

Noam Kremen
la source
mmm, -P "Print_to_PDF" me donne cette erreur "lpr: l'imprimante ou la classe n'existe pas."
Aubrey
0

Vous pouvez également utiliser la commande d'impression lp pour imprimer un fichier sur l'imprimante par défaut (ou uniquement) du système:

lp filename

ou vers une imprimante spécifique

lp -d printer filename
Andriy Simonov
la source
0

L'impression dans un fichier envoie le document non pas à l'imprimante mais à un document pdf.

La même chose peut être faite avec le système d'impression de gobelets, que vos applications utilisent lorsqu'elles envoient des commandes d'impression.

Utilisez l'outil cupsfilter. Il convertit efficacement un document. Il se convertit en pdf par défaut.

$ cupsfilter inputfilename > outputfilename.pdf

Comme décrit ici .

marquage
la source