Stampare un file di testo

lunedì 04 luglio 2005 - 12.38

karoo Profilo | Newbie

ciao a tutti, ho un bisogno vitale di una cosa banale :P

devo stampare un file di testo con una stampante ad aghi dandoli più opzioni possibili su margini ecc.

aggiungere i dettagli non è un problema, il fatto è che non trovo in rete un esempio di codice funzionante (nemmeno nell' MSDN).
Inoltre sono senza visual studio e sto scrivendo tutto in notepad compilando da riga di comando :,(

Insomma, quialcuno può postare un codice COMPLETO di stampa di un file di testo qualunque ? vi sarei molto grato ...

thanks in anticipo e ciauz

karoo Profilo | Newbie

ciao, ti ringrazio per l'aiuto.

ho provato a copiare il codice ed a mettere tutti i namespace che mi indica il testo.
Quando compilo scrivo:

csc /r:System.Drawing.dll stampaFile.cs

pultroppo mi da i seguenti errori:

CS0234 non riconosce da nessuna parte il namespace "windows", e non so ocme includerlo :(



karoo

Cteniza Profilo | Guru

Prova di stampa fatta con #D (stampa da linea comandi) passi il nome del file da stampare -> file di testo, mi raccomando!
Come puoi vedere NON fa uso di System.Windows

/*
* Created by SharpDevelop.
* User: luciano
* Date: 04/07/2005
* Time: 20.27
*
*/
using System;
using System.IO;
using System.Drawing;
using System.Drawing.Printing;

namespace PrintFile
{


class StampaProva
{
public StampaProva()
{
}
private StreamReader sPrint = null;
private Font printFont;
public static void Main(string[] args)
{
StampaProva pr = new StampaProva();
if (args == null)
return;
pr.Printing(args[0]);
}

public void Printing(string fileName)
{

try
{
sPrint = new StreamReader (fileName);
printFont = new Font("Arial", 10);
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler
(this.pd_PrintPage);

pd.Print();
}
finally
{
sPrint.Close() ;
}
}
private void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
float linesPerPage = 0;
float yPos = 0;
int count = 0;
float leftMargin = ev.MarginBounds.Left;
float topMargin = ev.MarginBounds.Top;
string line = null;

// Calculate the number of lines per page.
linesPerPage = ev.MarginBounds.Height /
printFont.GetHeight(ev.Graphics);

// Print each line of the file.
while(count < linesPerPage &&
((line=sPrint.ReadLine()) != null))
{
yPos = topMargin + (count *
printFont.GetHeight(ev.Graphics));
ev.Graphics.DrawString(line, printFont, Brushes.Black,
leftMargin, yPos, new StringFormat());
count++;
}

// If more lines exist, print another page.
if(line != null)
ev.HasMorePages = true;
else
ev.HasMorePages = false;
}

}

}

karoo Profilo | Newbie

grazie 1.000.000.000.000.000.000 !!!
mi hai praticamente salvato la vita ..
in verità non vi erano problemi nel mio codice, ma non so perchè csc me li trovava comunque, prob è un compilatore un pò primitivo :)

appena ho installato il prog è andato tutto liscio, thanks e ciauz !!

karoo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5