Come stampare un file PDF con Crystal Report

martedì 25 novembre 2008 - 16.32

ramsette Profilo | Newbie

Cerco notizie e/o trucchi per poter stampare da dentro Crystal report dei files PDF, files che devono cambiare ogni volta in funzione del valore che assume un campo di un database.

In altre parole , ho necessità di trovare un sistema per far si che si possa pilotare il nome dell'oggetto PDF da stampare in funzione di cosa si sta stampando... questo per poter stampare dei disegni tecnici ( con istruzioni) da allegare insieme alla scheda di montaggio che si ricava dai dati del database.

N.B.Per diversi motivi non posso utilizzare la funzione di Posizione grafica nel formato delle immagini.... altrimenti avrei quasi trovato una soluzione.

freeteo Profilo | Guru

Ciao,
Crystal report nasce per fare report, quindi "impaginare" i dati provenienti da qualche fonte, per essere visualizzati, elaborati e analizzati in maniera più efficiente.
Se vuoi fare dei pdf, puoi fare il report, e poi esportarlo in quel formato, anche senza visualizzarlo, facendo tutto da codice.
Ma non è che un report sia utilizzable come "gestione" di file pdf

Altrimenti puoi pensare di farti un'applicazione che a seconda dei parametri passati da riga di comando esegua qualcosa, tipo gli passi il path del file e lui lo visualizza etc...
Questo "link" a qualche applicazione esterna fatta da te, o cmq anche link diretto al file pdf (l'equivalente di un doppio click sul file in esplora risorse) lo puoi fare, impostando la proprietà "HyperLink" nelle proprietà di un campo:
tastoDX sopra al campo del report -> Format Object ->tab Hyperllink

li dentro tra le varie opzioni c'è "link a File" dove gli puoi dare tramite il path del file. Se il path arriva dal database, premi il tasto formula [X+2] e gli puoi dare qualcosa di "diretto":
{CampoPathPDF}

oppure composto (come ti dicevo prima se devi chiamare qualche altra applicazione):
"F:\prove\2008\Win32Tmp\Win32Tmp\bin\Debug\Win32Tmp.exe " + {altrocampo}



Ciao.

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

ramsette Profilo | Newbie

Ringrazio subito per la velocità della risposta , le considerazioni fatte le avevo già valutate , infatti questa modalità già la utilizzo per un'altra tipologia di report , dove va bene stampare un oggetto PDF su richiesta con un link ( cosa oltretutto comodissima).

Ciò nonostante ( anche considerandomi un ottimo esperto di Crystal ) , il mio obbiettivo è che arrivi subito sulla stampante del reparto il report completo di tutti i files PDF integrati con i dati provenienti dal database.

Forse lo schema in allegato spiega meglio ..certo!
alcune mezze idee ci sarebbero ma significa lavorare con del codice per fare un programma "esterno" che costruisca il report ogni volta
......e una ricerca di altre ispirazioni non è mai brutta cosa

Se per caso ci sono suggerimenti per "pre-elaborare" i dati e costruire ad-hoc il report ....ben vengano.

Saluti saluti saluti


359x433 19Kb


Sil

freeteo Profilo | Guru

Ciao,
le elaborazioni che dici, mi sa proprio che non sono fattibili con Crystal (e nemmeno con Sql Reporting).

Se devi accodare diversi PDF e "simulare" un report, devi lavorare con ITextSharp, il quale ti permette di manipolare in maniera veramente completa file pdf, ad esempio puoi fare il merge, costruirli via codice etc...
Ti consiglio di dare un'occhiata qui:
http://itextsharp.sourceforge.net/
http://itextsharp.sourceforge.net/tutorial/index.html


Ciao.

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

teo256 Profilo | Newbie

Ciao Matteo,

è possibile visualizzare documenti pdf all'interno di un report? L'idea è di salvare su db sql il collegamento al file pdf (che può essere sia di una pagina che di più pagine) e poi, in fase di ricerca, visualizzare il file pdf all'interno di un report.

Ti ringrazio in anticipo.

freeteo Profilo | Guru

Ciao,
crystal supporta un oggetto COM da inserire, ma non ho esperienze riguardo al fatto di rendere dinamico il path dell'oggetto da caricare...e cmq sia è una "mezza porcheria" perchè integri qualcosa di completamente diverso dentro ad un report, secondo me non è pulito.
Se quello che devi visualizzare è un documento esterno meglio avere il file caricato nel viewer corretto e non mischiare le cose.

Questa ovviamente è una mia opinione...

Ciao.

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

leviathan89 Profilo | Newbie

Ho visto con itextsharp, ma mi crea soltato un pdf su una tabella che scrivo su codice. Io invece ho già i dati inseriti su di una listview, quindi, dopo che il programma mi fa i calcoli, me li mette nella listview e da lì, con un bottone, mi dovrebbe salvare in pdf i dati inseriti nella listview.
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