2010-03-11 5 views
0

J'utilise une imprimante matricielle et je dois effectuer un travail d'impression continu.Impression continue avec C#

Le papier que j'utilise mesure 213 mm x 350 mm et est divisé au milieu de la page.

J'ai essayé quelque chose et je suis capable d'imprimer le premier côté de la page mais les tirages sont décalés quand il s'agit de la deuxième partie de la page?

Y a-t-il un didacticiel qui explique comment faire cela à partir de scracth, y compris ce que les paramètres de l'imprimante doivent être.

Je code avec C# mais je suppose que la bibliothèque de .Net ne convient pas pour cela.

Des suggestions?

Répondre

1

Voici ce que je l'ai fait:

Mon imprimante était OKI 3320. J'ai trouvé son manuel et appris les caractères d'échappement de l'imprimante.

J'ai préparé un modèle de chaîne pour correspondre à la mise en forme. Y compris les balises pour les variables, les séquences d'échappement "retour chariot", "saut de ligne" et "avance de page".

J'ai mesuré la longueur de mes papiers et j'ai défini la longueur de la page d'alimentation de mon imprimante en fonction de celle-ci. En faisant cela, lorsque j'envoie la commande FF de l'imprimante, il ajustera l'imprimante au point de départ de la prochaine forme.

Dans mon application j'ai pris la chaîne remplacée les jetons avec des valeurs apropritate et les envoie à l'imprimante en utilisant RawPrinterHelper. Puisque RawPrinterHelper ne supporte que les caractères anglais, j'ai aussi dû remplacer les caractères turcs.

Cela fonctionne bien maintenant.

Bien sûr, il peut y avoir plus d'approches professionnelles. Vous pouvez totalement contrôler votre imprimante en utilisant des séquences d'échappement. Vous pouvez donner des coordonnées de la zone d'impression ou définir la longueur de la page par programme, ce qui élimine le besoin de configurer l'imprimante. Comme ma demande ne sera utilisée qu'une seule fois, ma solution me convient.

2

semble peut-être un peu étrange, mais avant un certain temps que nous avons fait imprimer à partir de Windows aux imprimantes matricielles en utilisant quelque chose comme ce

  1. contenu écrire dans un fichier (en utilisant les imprimantes séquences d'échappement en cas de besoin, l'écriture FF (de formulaire) où la page doit se terminer, vous devez avoir la taille de la page Corrent définie sur l'imprimante)
  2. shell exec "copier file.txt lpt1:"
+1

Merci pour la réponse. Mais mon imprimante utilise le port USB;) J'ai été en mesure de faire les bons réglages et maintenant je peux imprimer à partir d'un fichier texte dans un environnement Windows. Mais je dois imprimer à partir du code. J'ai essayé d'envoyer le même fichier texte à l'imprimante à partir du code, mais après la première page, la tête de l'imprimante continue où elle est restée. Comment puis-je envoyer la commande FormFeed à partir du code. Ou est-il un moyen de dire au code d'utiliser le formulaire que j'ai créé dans Windows. – fkucuk

+1

Une imprimante matricielle sur un port USB - ça m'a un peu effleuré l'esprit. – harpo

-1

semble peut-être un peu étrange, mais avant un certain temps que nous avons fait imprimer à partir de Windows aux imprimantes matricielles utilisant quelque chose comme ce

1.write contenu dans un fichier (en utilisant les imprimantes séquences d'échappement en cas de besoin, l'écriture FF (de formulaire) où la page doit se terminer, vous devez avoir la taille de la page Corrent définie sur l'imprimante) 2.shell exec "copie file.txt lpt1:"

Can Nighttingale7 expliquer plus:

  • sera l'impression comme celle-ci conserve le type de police a nd taille de la police du fichier?Si oui, comment définir le type de police et la taille de la police lors de l'écriture des données dans le fichier?