Pour les besoins d'un projet, je veux imprimer sur le LPT1 à des endroits spécifiques, cela imprimera un document dans une imprimante matricielle où je devrais imprimer des valeurs dans les endroits devrait aller. Je déteste vraiment revenir en arrière, et je n'ai aucune idée par où commencer. Internet n'a pas d'informations spécifiques sur l'impression en port LPT avec C# et surtout comment envoyer les valeurs à des endroits spécifiques lors de l'impression. Y a-t-il un bon exemple? tutoriel pour cela? serait un sauveur de la vie.Impression dans la matrice de points (port parallèle) sur C#
Répondre
Je pourrais suggérer une chose pour vous faciliter la vie, installez un pilote d'imprimante de texte générique (cela vient en standard) et réglez-le sur le port LPT1. Ensuite, vous pouvez simplement ouvrir 'LPT1' et envoyer des séquences escape code pour spécifier le type de police (gras/italique), souligné, pas de police etc. Je ne sais pas si les ressources seraient nécessaires. Mais j'imagine que ce serait quelque chose comme ceci:
System.IO.StreamWriter sr = new System.IO.StreamWriter(@"\\.\LPT1"); sr.Write(0x1b); sr.Write('k'); sr.Write('1'); sr.Write("Hello"); // print in Sans Serif sr.WriteLine(); sr.Flush(); sr.Close();
Ressources:
- impression à l'aide zebra printer VB.NET (Ceci peut être facilement traduit en C# ou le compiler à une DLL et référence dans votre projet C#)
- un article sur MSDN sur la façon d'interfacer LPT1
- Voici une liste exhaustive des informations concernant Parallel Port. (regardez plus bas près de la section intitulée «Outils de programmation pour les E/S de ports et les interruptions»), en discutant de l'utilisation de cette DLL appelée inpout32.
- Voici un autre article sur MSDN qui montre comment faire une impression brute.
Édité @ 2017-07-12: Mise à jour du lien Port parallèle pour utiliser la machine d'archivage Wayback.
[Parallel Port link] (http://www.lvr.com/parport.htm) n'affiche plus ce que vous décrivez dans votre réponse.Avez-vous une source de lien similaire? –
@MauricioAriasOlave: Mise à jour du lien, surpris que vous ne pensiez pas utiliser le wayback machi ne. – t0mm13b
L'imprimante en question ne dispose-t-elle pas d'un pilote d'impression Windows? Si c'est le cas, cela n'a pas d'importance qu'il imprime sur LPT1 ou non, il n'utilise que l'impression standard.
question similaires: Dot Matrix printing in C#?
Vous voulez dire que je pourrais simplement créer un rapport et l'envoyer à cette imprimante? –
Si vous avez un pilote d'imprimante pour l'imprimante (c'est-à-dire qu'il apparaît dans le Panneau de configuration/Périphériques en tant qu'imprimante) Oui, la plupart des imprimantes ont un mode de compatibilité générique qui leur permet d'être utilisé même si vous n'avez pas de modèle exact – ongle
Cela rend l'impression des factures 500 fois plus lente, car elle imprime du texte sous forme d'image – Vedran
Si votre imprimante dispose de pilotes pour Windows, vous pouvez utiliser des techniques d'impression standard. Voir le livre de Petzold Programming Microsoft Windows with C# pour une bonne introduction.
Merci pour la suggestion .... –
Existe-t-il actuellement des systèmes grand public qui ont encore des ports parallèles? –
Malheureusement, il ya encore des documents d'affaires doivent être imprimés dans ces imprimantes :(Mais en fait, cela se passe à l'ancienne aussi .... –