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".
double possible de Comment faire pour Imprimer n'importe quel document à une imprimante SÉLECTIONNÉE
OriginalL'auteur Immanu'el Smith | 2010-07-07
Vous devez vous connecter pour publier un commentaire.
La suivante fonctionne pour moi (testé avec un *.doc et *.les fichiers docx)
windows printto boîte de dialogue s'affiche en utilisant le Système".De Windows.Les formulaires.PrintDialog" et pour "le Système de.Diagnostics.ProcessStartInfo" je viens de prendre l'imprimante sélectionnée 🙂
il suffit de remplacer le nom de fichier avec le Nom complet (Chemin+Nom) de votre fichier Office. Je pense que ce sera également travailler avec d'autres fichiers...
Celle-ci, elle travaille pour moi! Merci
Peut-on passer tout les paramètres d'impression à partir de la boîte de dialogue d'impression?
duMpty: Que voulez-vous dire par "passer l'ensemble des paramètres d'impression"? Vous avez déjà recevoir tous les paramètres d'impression à partir de la boîte de dialogue imprimer à l'aide de "yourPrintDialog1.PrinterSettings."
Son travail pour moi, mais que faire si l'imprimante n'est pas disponible ou n'est pas connecté. C'est leur toute manière, nous pouvons afficher un message d'erreur à l'utilisateur que l'imprimante n'est pas disponible dans de tels cas.
OriginalL'auteur dataCore
Théoriquement, selon un article sur MSDN vous devriez être en mesure de le changer pour être le long des lignes de (non testé):
Pas de.
ShellExecute
prend uniquement en charge l'envoi du document et le nom de l'imprimanteEst il possible que je peux passer à la configuration de l'imprimante?
La seule façon de gérer l'impression avec les détails à partir de la boîte de dialogue paramètres de l'imprimante, est de gérer l'impression (c'est à dire de mise en page, etc.) vous-même. Il n'y a pas moyen de passer des paramètres à l'arbitraire des applications de client.
OriginalL'auteur Rowland Shaw