Pues funcionó perfecto, aquí va un resumen...
Genero el PDF y lo guardo en una ruta con extensión ASP en lugar de PDF:
Código asp:
Ver originalruta = "/informes/F" & destino & ".asp"
pdf.Save(ruta)
Para leer ese fichero utilizo una simplifaicación del código de
Myakire (por legibilidad he quitado las comprobaciones de que el fichero existe, etc):
Código asp:
Ver originalResponse.Clear
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile Server.mappath("/informes/F" & [B]destino [/B]& ".asp")
Response.Clear
'*********************
'AL nombre del fichero le pongo extenison PDF en lugar de ASP para que
'el cambio de extension sea transparente al usuario
'*********************
Response.AddHeader "Content-Disposition", "attachment; filename="&destino &".pdf"
Response.Charset = "UTF-8"
Response.ContentType = "application/pdf"
Response.BinaryWrite objStream.Read
Response.Flush
objStream.Close
Si en el navegador intento meter directamente la ruta del fichero "/informes/F" &
destino & ".asp" obtengo el siguiente error, por lo tanto nadie podrá acceder a ese informe directamente.
Cita: Tipo de error:
Páginas Active Server, ASP 0116 (0x80004005)
El bloque Script no contiene la etiqueta de cierre de la secuencia de comandos (%>).
/informes/fichero.asp, línea 637
Perfecto