Costruire un PDF usando ASP

3 pagine in totale: <<Indietro 1 [2] 3 Avanti >>

Creiamo e salviamo un file fdf dinamicamente sul server: il metodo FDFSaveToFile

<%
Response.Buffer = true
%>
<html>
<head><%
Response.ContentType = "text/html"
%>
<title>Primo esempio: Metodo FDFSaveToFile</title>
</head>
<%
' ** Ricevo I dati che sono stati inseriti nella pagina precedente e
' ** inviati con il metodo post.
ValorePrimoCampo = Request.form("NomePrimoCampo")
ValoreSecondoCampo = Request.form("NomeSecondoCampo")
ValoreTerzoCampo = Request.form("NomeTerzoCampo")
ValoreQuartoCampo = Request.form("NomeQuartoCampo")
ValoreQuintoCampo = Request.form("NomeQuintoCampo")
' ** Valorizzo come meglio credo altre variabili
ValoreSestoCampo = "Questo campo è visibile, ma non stampabile. Istante di generazione della pagina: "&Now()
' ** Creiamo un oggetto fdf ToolKit ActiveX
Set FdfAcx = Server.CreateObject("FdfApp.FdfApp")
' ** Creiamo un documeto fdf
Set myFdf = FdfAcx.FDFCreate
' ** Riempiamo i campi con i relativi valori
myFdf.fdfsetvalue "NomePrimoCampo", ValorePrimoCampo, False
myFdf.fdfsetvalue "NomeSecondoCampo", ValoreSecondoCampo, False
myFdf.fdfsetvalue "NomeTerzoCampo", ValoreTerzoCampo, False
myFdf.fdfsetvalue "NomeQuartoCampo", ValoreQuartoCampo, False
myFdf.fdfsetvalue "NomeQuintoCampo", ValoreQuintoCampo, False
myFdf.fdfsetvalue "NomeSestoCampo", ValoreSestoCampo, False

La funzione FDFSetValue ha la sintassi: Sub FDFSetValue(fieldName As String, newValue As String) dove fieldName è la stringa rappresentante il nome completo del campo (per esempio, employee.name.last) newValue è la stringa da usare come nuovo valore

' ** E' quì che indichiamo, nel fdf che stiamo creando, quale file
' ** pdf dovra' essere richiamato. L'indirizzo deve essere fornito
' ** come URL. Per indirizzamenti in relativo approfondite sulla
' ** documentazione. In questo caso scelgo di salvare il file fdf
' ** sul server e di creare un link su cui l'utente puo' cliccare.
' ** E' anche possibile dirigere direttamente l'fdf creato verso il
' ** buffer. Vi rimando alla documentazione del metodo FDFSavetoBuf
' ** e soprattutto all'esempio successivo.
' ** IL RESTO DEL CODICE NON NECESSITA altRE MODIFICE, MA E'
' ** NECESSARIO INDICARE QUI' IL PERCORSO VIRTUALE PRECISO PERCHE'
' ** VENGA RAGGIUNTO IL PDF.
myFDF.fdfSetFile "http://localhost/test/asppdf/test.pdf"
' ** Salvo il file fdf generato come CheckThis.fdf.
' ** Per evitare che due persone possano creare due file fdf con lo
' ** stesso nome dovrete decidere una convenzione o generare parte
' ** del nome in maniera univoca. Facendo finta che due richieste nello
' ** stesso secondo non siano possibili genero il nome come
' ** gGIORNOhORAmMINUTOsSECONDO.fdf il che mi risolve anche eventuali
' ** problemi di caching di Acrobat e del browser.
' ** E' inoltre necessario fornire un percorso "fisico" e che l'utente
' ** IUSR_nomeserver abbia i diritti di scrivere in quel percorso.
' ** Tutti problemi che non nascono se scegliamo di dirigere il fdf
' ** direttamente al buffer, dunque non approfondisco soluzioni piu'
' ** articolate per ripulire dai file creati.
' ** Immaginando di essere in C:\inetpub\wwwroot\test\asppdf
' ** il server.mappath("./") restituirà C:\inetpub\wwwroot\test\asppdf
FisicalPathCompleto = Server.MapPath("./")
NomeFile="g"&Day(Now())&"h"&Hour(Now())&"m"&Minute(Now())&"s"&second(Now())&".fdf"
myFDf.FDFSaveToFile FisicalPathCompleto&"\"&NomeFile
%>
<body>
<%
' ** A questo punto puntiamo il file con il percorso "virtuale" relativo
Response.Write("<a href="&NomeFile&">Per vedere il pdf compilato premi qui</A>")
' ** E infine non scordiamoci di fare un poco di pulizia.
myfdf.fdfclose
set fdfacx = nothing
%>
</body>
</html>

3 pagine in totale: <<Indietro 1 [2] 3 Avanti >>

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC