11.886 messaggi dal 09 febbraio 2002
Contributi

semplice sì, ma se quel documento lo devi archiviare (o trasmettere) RTF o PDF sono i migliori formati che si trovino in giro.


indubbiamente il formato PDF è il più indicato per l'archiviazione e la distribuzione... ma l'RTF? non mi da le stesse potenzialità di design di un file html, è comunque editabile e non mi permette (facilmente) di embeddare immagini.

Sarebbe molto utile invece una classe che carichi un'immagine da file e la trasformi in codifica a base64 per poter essere inserita in un file .mht.


credimi non è cosa assai più difficile che mettere su una pagina HTML.

indubbiamente. sia che si debba scrivere un html o un rtf lo "sforzo" da fare è lo stesso, si tratta sempre di alternare tags a testo.
Ma, dato che si può facilmente estrapolare html dai controlli perchè non usarlo?

La versatilità dell'html è abbastanza importante: una volta prodotto il mio documento posso scegliere se farlo aprire con word, se inserirlo come corpo di un'email o se, tornando alla sicurezza, trasformarlo in pdf usando dei prodotti esistenti (basta cercare html2pdf su google).

Insomma, la cosa che mi preme sottolineare più di tutte è la libertà di design.
ciao :)
Modificato da BrightSoul il 21 settembre 2004 20.03 -

Enjoy learning and just keep making
RTF è un formato portabile, che trovi su qualsiasi piattaforma del mondo, come PDF, con il vantaggio, rispetto a quest'ultimo, di avere un formato più semplice.
anche PDF lo puoi scrivere alternando tag, ma sono più difficili rispetto ad RTF.
btw, se posso scegliere, ovviamente, anche io preferisco usare un HTML "stampato" su PDF

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
42 messaggi dal 21 aprile 2004
BrightSoul ha scritto:
Ciao,
sostanzialmente si tratta di creare un file html e salvarlo con l'estensione .doc in modo che poi venga aperto con Word.

Per definire il contenuto di un semplice file html via codice, mi basta valorizzare una variabile stringa.

Dim contenuto As String = ""
contenuto &= "<html>"
contenuto &= "<body><b>Ciao!</b></body>"
contenuto &= "</html>"

poi:

'creo il file
Dim sw As System.Io.StreamWriter = System.Io.File.CreateText("C:\pippo.doc")
'scrivo il contenuto
sw.Write(contenuto)
'chiudo la scrittura
sw.Close

quello che devi fare è cambiare il contenuto in base alle tue esigenze (quindi includere varie formattazioni, tabelle, ecc). Fortunamente asp.net ti viene in aiuto e ti risparmia la scrittura di alcune parti di contenuto. Siccome hai un datalist, puoi estrapolare da esso il codice html e metterlo opportunamente nella variabile contenuto.
a tal proposito, leggi questo articolo:
http://www.aspitalia.com/liste/usag/script.aspx?ID=590

ciao



Ciao BrightSoul,
ho provato a seguire il tuo suggerimento ma ottego un eccezione che dice:
"il controllo 'shareholdersList_ctl1_editLink' di tipo linkbutton deve essere usato dentro un tag form con runat=server",
il fatto è che è già all'interno di un form con runat=server!...

mi sai venire ancora in aiuto?
Ciao!
Paolo
124 messaggi dal 28 giugno 2001
Adesso ti faccio questa domanda, se tu avessi un file di word come template da trasformare in html che contiene per esempio elementi grafici, ecc. e considerando che il risultato finale deve essere un documento di n pagine tutte ovviamente con lo stesso template come faresti?

Il caso pratico è quello di un offerta dove hai n pagine di cui la prima è la testata poi via via le pagine descrittive con l'header e footer.

Come fare tutto ciò?

Filippo
www.miecube.com
11.886 messaggi dal 09 febbraio 2002
Contributi

il fatto è che è già all'interno di un form con runat=server!...
mi sai venire ancora in aiuto?

boooh dovresti postare il codice della pagina


Adesso ti faccio questa domanda, se tu avessi un file di word come template da trasformare in html che contiene per esempio elementi grafici, ecc. e considerando che il risultato finale deve essere un documento di n pagine tutte ovviamente con lo stesso template come faresti?

L'ouput html salvato da Word che ottieni facendo "Salva come html" fa semplicemente pena, non lo usare. Rifai tutto da capo con un editor html tipo frontpage, dreamwaver, webmatrix o quello che preferisci.
Crea questo file html come se dovessi fare un sito, quindi le immagini rimangono su file esterni e vengono richiamate nella pagina col metodo classico <img src="titolo.gif">.

Per creare le varie pagine, ognuna con la sua intestazione e piè di pagina, guarda l'output di questa pagina:
http://www.doppioslash.it/misc/impaginazione.htm
ho messo 3 tabelle con altezza="100%" e avendo impostato style="page-break-after:always" sono sicuro che ogni tabella venga rappresentata in una pagina.

L'unica cosa a cui devi fare attenzione è al contenuto (dinamico) che metti in ogni pagina. Se ne è troppo la tabella si allunga e non hai più la garanzia che venga stampata su una sola pagina. Tuttavia .net ti offre .MeasureString() che, con un po' di pratica, potrebbe anche farti aggirare questo problema.

Tornando al discorso delle immagini:
una volta creato il tuo template, aprilo con Internet explorer e fai File -> Salva pagina. Scegli "archivio web completo" in modo che le immagini vengano incluse nel file html a produrre un archivio .mht.
Rinomina questo file come .doc

Word te lo aprirà con tutte le immagini all'interno.
Ora, se non ti si conservano i salti di pagina, potrebbere essere necessario spostare il page-break-after da qualche altra parte.
oppure prova a metterci questo:
<br clear=all style='page-break-before:always'>

l'unica vera noia è che Word aprirà il documento con il layout Web che non ti fa vedere i salti di pagina, ma forse c'è un qualche tag specifico di word per impostare il layout di pagina all'apertura.
caio

Enjoy learning and just keep making
42 messaggi dal 21 aprile 2004
"boooh dovresti postare il codice della pagina"


ciao BrightSoul,
appena posso posto il codice ... è un pò lungo, inoltre mi dimentico di portareil file da casa in studio.

è una cosa che mi piacerebbe veramente capire! (...certo non l'unica!...)

Ciao!
Paolo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.