666 messaggi dal 10 febbraio 2006
Ciao

[VisualStudio 2008, C#]
[Controllo Word, RichTextBox, TabControl]
[Realizzare controllo Word]

Ho bisogno di un "controllo Word"
che possa essere inserito in una windows Form
all'interno di una TabPage di un TabControl.

Inserire un documento word nel form "a mò di controllo"
è impossibile;
si può usare un controllo webBrowser ma viene una cosa pesante e poco funzionale.

Ho provato a cercare qualcosa nella rete,
ma di controlli free di questo tipo non c'è neanche l'odore
mentre di controlli a pagamento ce ne sono un paio, ma sono costosissimi.

Quindi se volessi realizzarlo io...

Le funzionalità che mi servono
sono quelle di un RichTextBox con l'aggiunta della funzionalità per l'uso delle tabelle
che il RTB gestisce male.

Vi chiedo dei consigli:
partendo da zero
1) conviene strutturare la formattazione di un documento del WordProcessor
in xml come mi sembra avviene in un documento Word?
2) per poter far visualizzare un font anzichè un altro,
oppure per poter creare delle righe di una tabella,
devo usare il namespace System.Drawing?
Modificato da Giovanni_3478 il 22 febbraio 2008 19.15 -
176 messaggi dal 04 giugno 2007
Contributi | Blog
Parti da qui:

http://support.microsoft.com/default.aspx?scid=KB;it-it;304662

Saluti

--Alessandro
666 messaggi dal 10 febbraio 2006
Intanto grazie.

io ho bisogno di un word processor
di cui possa salvare il testo formattato in un dataset.

Con il controllo WebBrowser posso solo visualizzare un documento Word.

Per questo vorrei cominciare a realizzare un word processor da capo.


Quoto il primo post di questo thread:
Quindi se volessi realizzarlo io...

Le funzionalità che mi servono
sono quelle di un RichTextBox con l'aggiunta della funzionalità per l'uso delle tabelle
che il RTB gestisce male.

Vi chiedo dei consigli:
partendo da zero
1) conviene strutturare la formattazione di un documento del WordProcessor
in xml come mi sembra avviene in un documento Word?
2) per poter far visualizzare un font anzichè un altro,
oppure per poter creare delle righe di una tabella,
devo usare il namespace System.Drawing?

Modificato da Giovanni_3478 il 23 febbraio 2008 13.32 -
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

In effetti non c'è molto e richieste come la tua sono frequenti. Non credo, però, che al posto tuo mi metterei a costruire un editor Word Like partendo da zero. L'aspetto "grafico" è solo l'ultimo dei problemi che potresti avere (e non è affatto un problema da poco). Dovresti poi valutare il formato del tuo documento (sei così sicuro che RTF sia sufficiente?), l'interoperabilità con altri editor, il contesto di visualizzazione del tuo documento (va nel web, va in un report, va solo visualizzato a video), ecc. ecc.

Il formato di Word 2007 non è semplicemente XML: si tratta in realtà di un protocollo noto con il nome di Office Open XML (http://en.wikipedia.org/wiki/Office_Open_XML) ed è l'alternativa Microsoft a OpenDocument (http://en.wikipedia.org/wiki/OpenDocument). I documenti .DOCX sono definiti da Open Packaging Convention (http://en.wikipedia.org/wiki/Open_Packaging_Convention) e altro non sono, detto in termini poveri, che file .ZIP contenenti strutture XML e non-XML (prova a rinominare un file .DOCX in .ZIP e ...).

Quindi, se è tua intenzione proseguire su questo fronte, devi mettere in cantiere un bel po' di ore di lavoro.

Personalmente cercherei un'altra soluzione e una possibile, che ricorre spesso sul web, è usare un controllo WebBrowser facendolo però lavorare con qualche tool stile HTML Editor. In questo modo il formato del tuo documento è pur sempre HTML e quindi facilmente rappresentabile in numerosi contesti senza onerose conversioni di formato. Un punto di partenza (ma se cerchi ne trovi tanti) è il sito di Lutz Roeder, un must per i programmatori .NET, che trovi al seguente link: http://www.aisto.com/roeder/dotnet/.

Scarica l'esempio Writer for .NET (completo di sorgente) per farti un'idea.

Ciao e ... buon lavoro.

.:. Marcello Rutter .:.
666 messaggi dal 10 febbraio 2006
ciao

sei così sicuro che RTF sia sufficiente?

con l'rtf la gestione delle tabelle è quasi assente;
con il richtextbox si possono inserire solo tabelle di una data altezza.


Personalmente cercherei un'altra soluzione e una possibile, che ricorre spesso sul web, è usare un controllo WebBrowser facendolo però lavorare con qualche tool stile HTML Editor. In questo modo il formato del tuo documento è pur sempre HTML e quindi facilmente rappresentabile in numerosi contesti senza onerose conversioni di formato. Un punto di partenza (ma se cerchi ne trovi tanti) è il sito di Lutz Roeder, un must per i programmatori .NET, che trovi al seguente link: http://www.aisto.com/roeder/dotnet/.

Ho visto il sito.
Credo di optare per questa soluzione in ultima istanza.

Non credo, però, che al posto tuo mi metterei a costruire un editor Word Like partendo da zero.

Non vorrei partire da zero. Non credo sia il caso.

Ho trovato questo
http://sourceforge.net/projects/ultrapad/
e questo
http://sourceforge.net/projects/wordit/.

Cerco di prendere dai sorgenti quello che mi serve.

Grazie Ciao
501 messaggi dal 09 giugno 2006
Contributi
Potrebbe funzionare anche se da quello che ho visto WordIT è scritto in C++ e per Ultra-Pad non sono riuscito a trovare sorgenti o altro.

Inoltre in questo caso dovrai stare attento a non violare la licenza (entrambi usando la GNU GPL).

Ciao.

.:. Marcello Rutter .:.
666 messaggi dal 10 febbraio 2006
Word it ha una discreta gestione delle tabelle ma è in c++

Ultrapad le tabelle le gestisce male ma è in VB.

... non so che fare ...

Inoltre in questo caso dovrai stare attento a non violare la licenza (entrambi usando la GNU GPL).


Il software che io sto realizzando è per me; non lo devo vendere.

Ho trovato su Codeplex http://www.codeplex.com/asposewords
ma con TortoiseSVN non riesco a scaricare il sorgente.

ciao
501 messaggi dal 09 giugno 2006
Contributi
Per usare TortoiseSVN su Codeplex devi scaricare un .EXE che funziona da bridge di protocollo per Team Foundation Server (http://www.codeplex.com/SvnBridge). Qui trovi anche le istruzioni per l'utilizzo (è semplicissimo).

Per la licenza: non cambia nulla sullo scenario di utilizzo. Devi comunque applicarla ove previsto.

Per la soluzione. A naso ti stai un po' complicando la vita e la cosa sarà ancora più evidente tra un po' (un mese o un anno) quando, dopo aver sviluppato la soluzione, dovrai metterci le mani sopra!

Buona ricerca e specialmente buon lavoro.

Ciao.

.:. Marcello Rutter .:.

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.