2 copie di un report

martedì 09 marzo 2010 - 14.31

Trinità Profilo | Junior Member

Ciao a tutti, sono poco esperto di Crystal Report, cmq sono riuscito a crearmi il report dentro un mio sito web in asp.net 2.0 (vs 2008, vb.net)
IL report viene salvato in PDF su disco, ha un'intestazione, una sezione dettagli che uso a mò di area ripetuta poichè i dati vengono presi da un dataset. IL tutto termina con un "piè di pagina report".

Il tutto ci sta su 1 pagina.

Ora quello che vorrei ottenere è un pdf con 2 pagine esattamente uguali, con il risultato che se viene lanciata la stampa si stampano 2 copie.

Come posso fare ?

Grazie a tutti, ciao

freeteo Profilo | Guru

Ciao,
ma ti andrebbe bene fare il report duplicato già dentro il pdf, o vorresti fare il pdf solo di una pagina ma poi che venga stampato in 2 copie?

Per entrambi i casi non c'è un'impostazione diretta nel report, devi fare qualcosa tramite codice.
Se fossi in Windowsform il secondo caso è il più semplice, infatti ti basta fare la stampa con il metodo "PrintToPrinter" dove hai tutte le impostazioni di stampa che ti servono...ma credo proprio che essendo dentro ad un sito web tu abbia necessità di stampare sulla stampante client, quindi questo metodo non funziona.

Forse il primo caso è il più semplice dato che sei in un'applicazione asp.net, il fatto di fare 2 pagine lo puoi fare facilmente se replichi i dati nella datasource (appunto da codice) e quindi gli passi 2 righe esattamente uguali, che quindi ti generano 2 pagine in anteprima e quindi anche poi nel pdf...

Altrimenti dovresti andare ad utilizzare ItextSharp per fare una duplicazione del documento pdf, aprendolo, leggendo la pagina e generandone uno dove copi dentro 2 volte la stessa pag appena letta...un po' più complesso a livello codice...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Trinità Profilo | Junior Member

si sono nel web, e la cosa fondamentale è che si possano stamapre 2 copie facilmente.
Carina l'idea della duplicazione dati, ma credo non funzioni. Ad occhio il blocco ripetuto può contenere da 1 a 4 righe (le righe sono un pò ampie)

Se le righe reali fossero 1 sola, con la duplicazione avrei 2 righe tutte su 1 pagina.
Mentre quello che voglio è sostanzialmente avere una copia, nella pagina seguente con intestazione e tutto.

Grazie cmq

freeteo Profilo | Guru

Nel fare la copia della riga, puoi tranquillamente usare un gruppo:
- raggruppi per un campo del record (puoi usarea anche "id", ma se hai più record, allora devi usare un campo comune che abbia gli stessi valori per la stessa pagina che vuoi)

- nascondi la sezione di GroupHeader/Footer tanto è fittizio

- nel footer del gruppo gli dici "New Page After" e quindi ti salta di pagina

Secondo me è fattibile una cosa di questo genere, sempre se gli passi tu i dati e gli puoi duplicare la riga chiaramente...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5