Come salvare una preview di stampa?

mercoledì 21 gennaio 2009 - 23.38

peppedp Profilo | Newbie

La mia domanda è semplice: creo dei calcoli a video con una serie di label e textbox, nelle quali compaiono i risultati di alcune operazioni aritmetiche ed una somma finale. Mi sono creato con il metodo e.Graphics.DrawString tutta una preview di stampa che vorrei salvare in un file di testo. Come posso fare?
Se non si può, che alternative ho? Premetto che non ho database o connessioni dalle quali prendo dati, quindi non credo di poter usare crystal report (tra l'altro non saprei proprio da che parte cominciare...)
Grazie

Jeremy Profilo | Guru

> non credo di poter usare crystal report
E' qui ti sbagli....caro peppe
Il fatto che tu non abbia una connessione ad un Database, non implica l'impossibilità di usare CrystalReport o i Report.rdlc(tra l'altro io potrei darti aiuto solo sui Report.rdlc).
Puoi creare un dataset all'interno del quale crei una DataTable composta come tu la vuoi....
E' quella, che poi usi come origine dati per il Report.

D'altro canto, però, dovresti abbandonare, la classe Graphics per l'anteprima a video(se ho capito bene..)

Tutto il resto...più che alternative, li chiamerei 'accrocchi'(attendo smentite)

Se ti sta bene la soluzione dei report di VisualStudio...fammi un fischio, altrimenti aspetta qualcuno di più autorevole che i Crystalreport li conosce di sicuro.

Ciao....

P.S. Pensa...i Report.rdlc li puoi salvare anche in pdf....senza scrivere una riga di codice, ma semplicemente cliccando il 'bottoncino' salva(in realtà qualche righettina ci và...).

Ciao

ilario Profilo | Senior Member

ciao

per salvare in jpg , gif,tiff

io faccio così

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


ti ho iserito tutto il codice c'e un sistema più semplice, ti salva si jpg ,gif...... ma di dimensioni enormi così sono delle dimensioni reali

qundo crei la preview ricordati di creare un rettangolo bianco per l'intero foglio altrimenti quando salvi viene uno sfondo tutto nero

se devi anche salvare in pdf ti mando il codice

ciao
ilario

prima o poi (appena ho tempo di ripulire un pò il codice) inserisco il form di anteprima che mi sono fatto , basta passargli il documentprint


ilario Profilo | Senior Member

ciao

per il momento ho sempre stampato con print document e mi sono trovato sempre bene volevo iniziare a guardare qualcosa d'altro

mi suggerisci qualche sito su Report.rdlc come istallarlo e ........

ciao
ilario

peppedp Profilo | Newbie

Ciao Jeremy, fiiiiiiiiii (sto fischiando)
Spiegami un pò come funziona report.rdlc... se hai una specie di guida mi farebbe comodo!
Se abbandono la classe graphics, come creo l'anteprima di stampa?
Grazie!

@Ilario: sto intanto valutando il tuo metodo. Anche se i file grossi non sono proprio quello che vorrei, dal momento che salvo il file per inviarlo per email...
Comunque lo provo, perchè mi piace capire come funzionerebbe.
Grazie!

ilario Profilo | Senior Member

< Anche se i file grossi non sono proprio quello che vorrei, dal momento che salvo il file per inviarlo per email...>


con il codice che ti ho dato sono file piccoli in kb e rispettano le dimensioni del foglio originale

altrimenti esiste una stadaa più veloce ma ti crea file non grossi come kb ma come dimensioni del foglio
ciao
ilario

peppedp Profilo | Newbie

Grazie, sto già provando!
Ilario ma avevi creato una variabile DocumentoPrint?
pxcm cosa è?

ilario Profilo | Senior Member

Dim WithEvents DocumentoPrint As Printing.PrintDocument
Dim printdialog As New PrintDialog


Public Enum CmPx As Integer
Cm = 0
Pixel = 1
End Enum


DocumentoPrint = DocumentoPrint

ovviamente il codice che ho postato fa parte di un form quindi ho usato DocumentoPrint pia comodità , tu puoi passargli direttamente il tuo printdocument

ciao
ilario

peppedp Profilo | Newbie

Ilario ho fatto come dicevi tu. Gli ho passato il mio printdocument ed ho creato il rettangolo bianco, per evitare lo sfondo nero.
Tutto perfetto!
E le dimensioni non sono neppure grandi!
Grazie!
Ora, però, aspetto di vedere la guida sul report.rdlc

Jeremy Profilo | Guru

Ok....intanto fai come ti ha consigliato ilario....fine settimana vedo di cercare e o scrivere un articoletto in merito....
Se intanto hai voglia.....inserisci il report all'interno del progetto e prova a creare un dataset senza connessione ad una sorgente dati(db).....

Resta poco e nient'altro da fare(a parte la grafica del report)

Ciao.....

peppedp Profilo | Newbie

Ok, ci proverò stasera, grazie!
Però aspetto lo stesso la tua guida, ok?
@Ilario
il tuo codice mi sembra avere un piccolo bug al quale sto lavorando: se clicchi su annulla nel savefiledialog il file viene salvato lo stesso...
ti faccio sapere, ok?
intanto controlla se a te risulta lo stesso problemino

ilario Profilo | Senior Member

no non mi è ai capitato, comunque basta cambiare queste righe e controlli marmente il risultato del savedialog

............
If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
PrintDocumentToImage(DocumentoPrint, SaveFileDialog1.FileName.Remove(SaveFileDialog1.FileName.Length - 4, 4), SaveFileDialog1.FilterIndex)
End If

ciao
ilario

peppedp Profilo | Newbie

ciao, avevo fatto già così come mi consigli tu, ma ora mi succede che se clicco su annulla mi si ripresenta la SaveFileDialog e solo al secondo tentativo su annulla si chiude definitivamente.
Però il file non lo salva più
Che sarà mai?
Risolto con questo codice:
If DialogResult = Windows.Forms.DialogResult.OK Then
PrintDocumentToImage(prtMicropermanenti, SaveFileDialog1.FileName.Remove(SaveFileDialog1.FileName.Length - 4, 4), SaveFileDialog1.FilterIndex)
End If

Ora provo con report!

sergio58 Profilo | Junior Member

Scusa se mi intrometto, ma a me servirebbe sapere come salvare in .pdf.

puoi inviarmi il codice ?

sergio

peppedp Profilo | Newbie

Jeremy, aspettiamo la tua guida per la creazione di report!!!

Jeremy Profilo | Guru

Sapevo che prima o poi arrivavi...

Ho appena aperto il blog....dammi il tempo di scriverla.....
Ogni tanto dagli un occhio.....
http://blogs.dotnethell.it/tizianomuratore/

Ciao...
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