Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Stampare una pagina Asp

    Ho letto molte discussioni a riguardo e scaricato altrettande librerie varie.

    Quello che so è che ci sono varie vie:

    - fpdf che però comporta un lavoro immenso di formattazione manuale della grafica del pdf.

    - rtf/doc di cui non ho capito bene quale sia il codice di conversione

    - Il print del CSS (anche qui non ho le idee chiare)

    - La disperazione finale: File>Stampa

    La mia pagina Asp crea (con dei database alle spalle) l'impaginazione di una fattura (utilizzando anche qualche immagine).
    Dopo averla impaginata in Asp/Html ho semplicemente bisogno di stamparla.

    Metodo più semplice?


    Ps= il tutto si svolge in locale con IIS.


    Grazie

  2. #2

  3. #3
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    codice:
    'Per leggere il documento utilizzo FSO
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    strTemp = FSO.GetTempName
    
    'doc.rtf e' il documento di base che contiene i tag
    Set f = fso.OpenTextFile(Server.MapPath("base.rtf"), 1)
     
    'Leggo tutto il contenuto del documento
    Documento = f.ReadAll
     
    'chiudo subito
    f.Close
    Set f = Nothing
     
    'ora sostituisco i TAG con i campi contenuti nella form
    PROTOCOLLO = request("PROTOCOLLO")
    DATA_RICH = request("DATA_RICH")
    SIG = request("SIG")
    DATA_INIZIO = request("DATA_INIZIO")
    DATA_FINE = request("DATA_FINE")
    EMAIL = request("EMAIL")
    
    Documento = Replace(Documento, "[PROTOCOLLO]", PROTOCOLLO)
    Documento = Replace(Documento, "[DATA_RICH]", DATA_RICH)
    Documento = Replace(Documento, "[SIG]", SIG)
    Documento = Replace(Documento, "[DATA_INIZIO]", DATA_INIZIO)
    Documento = Replace(Documento, "[DATA_FINE]", DATA_FINE)
    Documento = Replace(Documento, "[EMAIL]", EMAIL)
    
    'creo un nuovo documento con Nome e Cognome reali al posto dei TAG
    Set f = fso.OpenTextFile(Server.MapPath("base_nuovo.rtf"), 2, True)
    
    Function RenameExt(Path) 
    Dim Fso,Dic,Ext,Files,File,NuovoNome 
    Set Fso = Server.CreateObject("Scripting.FileSystemObject") 
    Set Files = Fso.GetFolder(Server.MapPath(Path)).Files 
    dim i
    i = -1
    For each File in files 
    i = i+1
    NuovoNome = i&".rtf" 
    if fso.FileExists(server.mappath(path) & "\" & Nuovonome) = true then
    fso.DeleteFile server.mappath(path) & "\" & Nuovonome,true
    end if
    fso.MoveFile File.Path, server.MapPath(path) & "\" &  Nuovonome 
    next
    Set Files = Nothing 
    Set Fso = Nothing 
    end function 
    RenameExt("quadrati") 
    
    'chiudo tutto
    f.Write Documento
    f.Close
    Set f = Nothing
    Set fso = Nothing
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  4. #4
    Grazie mille ho risolto in maniera + semplice ( o almeno sembra ).

    Ho aggiunto questo ad inizio pagina:

    codice:
     Response.Buffer = TRUE
     Response.ContentType = "application/msword"
    E il browser mi apre word con la mia pagina Html ben formattata.

    Ora ho un problema banalissimo:

    - Non voglio riversare la mia fattura direttamente in Word dopo ke il server l'ha compilata. Infatti vorrei isolare inizialmente il codice con application/msword in modo tale da mostrare nel browse prima la mia bella paginetta in asp/html.
    Da lì poi vorrei mettere un banale pulsante che ricarichi la pagina attivando l'opzione application/msword..
    Purtroppo mi viene inmente solo la soluzione php -_-
    Con il solito If isset Bottone ecc ecc fai questo (ricarikando la pagina con l'application/msword.

    In Asp sono un po' indietro !!

  5. #5

  6. #6
    scusa, metti un bel link o un pulsante che punta alla pagina in formato stampabile (trattasi di html e non di ASP)
    byluciani.com - Soluzioni ASP/VBScript freeware

    bylucianiUpload 2.0

  7. #7
    Purtroppo la pagina da stampare è composta dinamicamente da ASP con dei dati da database. Dopo averla visionata in html ho bisogno di ricaricarla attivando application/msword. Avevo pensato di mettere un pulsante che ricaricava la stessa pagina asp che in più ha application/msword ma naturalmente ragionandoci bene poi quest'ulteriore pagina asp perde tutti i valori dinamici che avevo in quell aprecedente ed esce vuota!

    quindi mi serve un pulsante che aggiorna la mia pagina iniziale ( composta con database ecc ) e che nell'aggiornare renda attiva la funcione application/msword all'inizio...

  8. #8
    io trovo motlo più semplice creare un duplicato della pagina iniziale con in più l'header di word da lanciare attraverso link o pulsante in una nuova finestra
    byluciani.com - Soluzioni ASP/VBScript freeware

    bylucianiUpload 2.0

  9. #9
    spiegati meglio... faresti comporre la pagina fattura con tutti i dati presi dal database e poi? un pulsante che in altra finestra riapra la stessa pagina fattura con header word?

    Anch'io avevo pensato a questo ma la nuova pagina perde le variabili che compiono le query sui recordset e quindi non sa più comporre la fattura.

    Sbaglio nel ragionamento?

  10. #10
    nel link passi gli stessi parametri che ricevi nella pagina che visualizza la fattura
    byluciani.com - Soluzioni ASP/VBScript freeware

    bylucianiUpload 2.0

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.