Stampare PDF da asp.net

domenica 14 giugno 2009 - 19.53

86Marco Profilo | Expert

Salve, per la mia applicazione ho una sezione che mi deve consentire la stampa di uno o + record su file pdf.
Tra le altre cose è prevista anche la stampa di un certo numero di record restituito da una query: un pò come un normale conto corrente bancario:
si inseriscono le due date e il pdf dovrà riprodurmi una tabella HTML che metterà dentro il pdf.

Ho trovato sul web la libreria pdfsharp.dll che oltre ad essere gratuita mi sembra anche abbastanza facile da usare, solo che mi servirebbe un buon manuale per poterla studiare x bene? sapete aiutarmi??

Magari datemi qualche altra dll che abbia un buon manuale d'uso. Grazie mille :)

Jeremy Profilo | Guru

Ciao Marco.
Usare CrystalReport ... non ti gusta???

Ad ogni modo, un'altra libreria, potrebbe essere ItextSharp, e qui:
http://itextsharp.sourceforge.net/tutorial/ch01.html
puoi trovare un tutorial.

Facci sapere...
Ciao

motogpdesmo16 Profilo | Senior Member

Io ho utilizzato iText.
Dopo qualche ora investita in studio ed adattamento, anche mentale, al suo funzionamento, mi son reso conto che, sebbene sia un po' macchinosa da utilizzare, almeno nel mio caso è stata la soluzione migliore per la generazione dei pdf.
I tutorial presenti sul sito sono realizzati davvero molto bene e prendono in esame un'ampia casistica. Combinando quindi più tutorial credo che riuscirai ad utilizzare la dll anche nel tuo progetto.

86Marco Profilo | Expert

Ho visto degli esempi di itext.. grazie ad entramib, ma nn esiste un manuale in italiano che è possibile studiare per bene di questa utility?
Grazieee :)

Ad ogni modo ho provato ad usare un po questa libreria, volevo chiederti come si inserisce direttamente all'interno del progetto.
Io utilizzo visual web developer e il linguaggio utilizzato è vb.net.

Vado su riferimenti-> Aggiungi ed aggingo la libreria, ma non appena tento di chiamarmela da codice nn fa niente! come mai?
Aiutatemi, grazie ;)

86Marco Profilo | Expert

nessuno sa aiutarmi???

motogpdesmo16 Profilo | Senior Member

Nella pagina in cui preparo il file .pdf da stampare ho aggiunto i seguenti riferimenti in testa alla pagina (Codebehind)
Imports System Imports com.lowagie.text Imports com.lowagie.text.pdf Imports System.IO


Questi riferimenti sono presenti nei tutorial online sul sito http://www.ujihara.jp/iTextdotNET/en/examplesvb.html
Per quanto ne sappia manualistica in italiano non ce n'è (o forse non l'ho trovata io). Guarda attentamente gli esempi e cerca di prendere le parti che ti interessano.

86Marco Profilo | Expert

ok.. grazie, e senti... questo codice che mi hai inserito nell'ultima discussione è relativo a C, io programmo con Vb dove lo devo inserire questo codice per imporrtare la libreria? Grazie e scusami per "l'ignoranza":)

motogpdesmo16 Profilo | Senior Member

Il codice che ti ho inserito è relativo a vb.net, analogamente al link dove puoi trovare esempi inerenti vb.net
Questo frammento di codice dovrai inserirlo nella pagina che sarà atta a generare il pdf.
Otterrai quindi qualcosa di simile:

Imports System Imports com.lowagie.text Imports com.lowagie.text.pdf Imports System.IO Partial Class NomeDellaTuaPagina Inherits System.Web.UI.Page .... .... .... End Class

86Marco Profilo | Expert

ok grazie mille davvero mi metto subito alla prova.
Mi è venuta una ulteriore domanda che credimi sarà l'ultima, predendo l'esempio n.1 del tutorial il file pdf mi viene creato direttamente su una cartella di destinazione.
Come posso fare pero a far si che il documento mi si crei ed automaticamente mi si avvi a schermo senza che si salvi sulla cartella?
Dopo di cio chiudo. ti rginrazio davvero tanto

motogpdesmo16 Profilo | Senior Member

Io utilizzo questo codice, che ti fa comparire la classica finestra di dialogo "Apri", "Salva", "Annulla".

Response.ContentType = "application/pdf" Response.AddHeader("Content-Disposition", "attachment; filename=NOMEFILE.pdf") Response.WriteFile("NOMEFILE.pdf") Response.Flush() Response.End()

Al momento non ho avuto tempo di sperimentare qualcosa che apra direttamente il file saltando questa finestra di dialogo.


86Marco Profilo | Expert

Flush a che serve??
Mille grazie comunque se dovessi trovare il metodo per farlo vedere direttamente a schermo posta una risposta :) grazie

motogpdesmo16 Profilo | Senior Member

Dai un'occhiata qui http://msdn.microsoft.com/en-us/library/ms525560.aspx

Se ritieni che ti siano state date le risposte di cui avevi bisogno, accetta una delle risposte così lo si considera risolto.
Ciao

86Marco Profilo | Expert

Ciao ho capito tutto, mi sono già messo all'opera per creare le procedure per le mia applicazioni.

Pero a questo punto ti chiedo è possibile usare anche qyesta libreria per Visual Basic (credo proprio di si), in virtu di questo la parte Imports .... dove la devo inserrire se si tratta di WinForms?
Grazie

motogpdesmo16 Profilo | Senior Member

Relativamente a questa tua ultima domanda non saprei risponderti.
Ritengo comunque sia meglio aprire un altro thread nell'apposita sezione.
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