2010-05-20 8 views
1

J'ai besoin d'imprimer un fichier PDF existant à partir d'un script Python.Impression par programme d'un fichier PDF - Spécification de l'imprimante

Je dois pouvoir spécifier l'imprimante dans le script. Il fonctionne sous Windows XP.

Des idées ce que je pouvais faire?

This method ressemble à cela fonctionnerait, sauf que je ne peux pas spécifier l'imprimante:

win32api.ShellExecute (
    0, 
    "print", 
    filename, 
    None, 
    ".", 
    0 
) 
+0

vous dire "ne peut pas spécifier l'imprimante" plutôt que "peut spécifier", oui? – msw

+0

Oui, j'ai réparé ça, merci. – Greg

+0

Je pense que vous pouvez trouver une réponse appropriée dans [ce poste similaire] (http://stackoverflow.com/questions/1462842/print-pdf-document-with-pythons-win32print-module) – bluish

Répondre

0

s'il vous plaît consulter ce link pour plus de détails

import tempfile 
import win32api 
import win32print 

filename = tempfile.mktemp (".txt") 
open (filename, "w").write ("This is a test") 
win32api.ShellExecute (
    0, 
    "print", 
    filename, 
    # 
    # If this is None, the default printer will 
    # be used anyway. 
    # 
    '/d:"%s"' % win32print.GetDefaultPrinter(), 
    ".", 
    0 
) 

Cela doit fonctionner s'il vous plaît consulter le link fourni pour plus de détails.

0

Il y a un verbe printto underdocumented qui prend le nom de l'imprimante comme paramètre (entre guillemets si elle contient des espaces).

import tempfile 
import win32api 
import win32print 

filename = tempfile.mktemp (".txt") 
open (filename, "w").write ("This is a test") 
win32api.ShellExecute (
    0, 
    "printto", 
    filename, 
    '"%s"' % win32print.GetDefaultPrinter(), 
    ".", 
    0 
) 

extrait de link de Ja8zyjits

Questions connexes