Est-il de toute façon à spécifier un PrintTo imprimante au moment de la ponte d'un processus?

Ce Que J'Ai

Je suis en train d'écrire un programme qui prend un fichier spécifié et effectue une action. Actuellement, il l'ouvre, et/ou joint à un courriel et par courrier aux adresses spécifiées.

Le fichier peut être soit des formats: Excel, Rapport Excel, Word ou PDF.

Ce que je suis en train de faire est de fraie un processus avec le chemin d'accès du fichier et puis commencer le processus, cependant, je suis aussi essayer de fixer un bug fonctionnalité que j'ai ajouté ce qui ajoute au verbe 'PrintTo" pour le démarrage de l'information, en fonction d'un paramètre spécifié.

Ce Dont J'Ai Besoin

La tâche que je suis en train d'accomplir est que je voudrais avoir ouvert le document, puis l'imprimer à l'imprimante spécifiée nommé dans le programme lui-même. Suite à cela, le fichier doit ensuite se fermer automatiquement.

Si il n'y a aucun moyen de le faire d'une manière générique, nous pourrions être en mesure de venir avec un moyen de le faire séparément pour chaque type de fichier.

Ce dont vous avez Besoin

Voici le code que j'utilise:

ProcessStartInfo pStartInfo = new ProcessStartInfo();
pStartInfo.FileName = FilePath;

//Determine wether to just open or print
if (Print)
{
    if (PrinterName != null)
    {
       //TODO: Add default printer.
    }

    pStartInfo.Verb = "PrintTo";
}

//Open the report file unless only set to be emailed.
if ((!Email && !Print) || Print)
{
    Process p = Process.Start(pStartInfo);
}

Comment je fais...

Encore perplexe... peut appeler ça comme le fait Microsoft, "by design".

OriginalL'auteur Immanu'el Smith | 2010-07-07