Newsgroup: it.comp.lang.visual-basic
Titolo: VB6 ed errori di stampa di file RTF

Ciao a tutti quanti,
vorrei chiedervi aiuto per un problema per il quale non riesco a trovare una
soluzione.
Ho la necessità di consentire all'utente di una applicazione web la stampa
di un file rtf sulla stampante predefinita.
L'utente lavora su di una postazione che fa sia da client che da server web
(IIS con pagine ASP).
Ho pensato di creare una applicazione VB6 senza interfaccia grafica che non
fa altro che mandare in stampa un file rtf che si trova sull'hd in una
posizione predefinita sulla stampante connessa a questa macchina.
Il file RTF (complesso nel layout) è generato da un'altra pagina ASP
dell'applicazione recuperando i dati da una base di dati.
Mi sono affidato ad un componente apposito per la stampa degli RTF
http://www.vbgold.com/index.shtml#SmartPrintControl
Mi permette di fare esattamente quello che mi chiede, tuttavia i file RTF
che vado a stampare risultano completamente non formattati (tabelle
sballate, ecc. ecc.), aprendoli con Word (non installato sulla macchina) non
ci sono problemi.
Penso che ciò sia legato al fatto che del formato RTF esistono varie
versioni....
Ho visto che anche aprendo il file RTF nel controllo RichText di VB6 ci sono
gli stessi problemi di formattazione.
Vi sarei grato se mi deste qualche suggerimento su come aggirare il
problema!
Grazie!
Blob

 problema!
Il problema è aprirli e visualizzarli correttamente. Per stamparli, c'è
un trucco sulla KB.
HOWTO: Set Up the RichTextBox Control for WYSIWYG Printing
http://support.microsoft.com/support/kb/articles/Q146/0/22.asp
Un esempio, il primo che ho trovato, è qui:
http://www.vb-helper.com/howto_rtf_wysiwyg_printing.html
******************
Come alternativa, potresti vedere se il WordViewer riesce a visualizzarli
correttamente. E' una app gratuita, cerca "Visualizzatore Word" sul sito MS.
Il problema è che non so se è possibile integrarlo in una app VB;
nonstante alcuni consigli, a suo tempo non ci sono riuscito.
Magari la nuova versione (che gira solo su macchine di classe NT),
ha anche un'interfaccia utilizzabile. Qui potrebbe aiutarti il buon
Gianluca Cannalire, che l'ha consigliato giusto poco tempo fa.
Bye, G.

 nonstante alcuni consigli, a suo tempo non ci sono riuscito.
In effetti il WordViewer ultima versione, che dovrebbe essere la versione
2003, dovrebbe poter essere in grado di visualizzarli.
Posso installarlo sulle macchine target, quelle dove gira tutta
l'applicazione che è, a tutti gli effetti, una applicazione web (anche se
webserver, database server, pagine sono tutte sulla stessa macchina, isolata
dalla rete...come un chiosco).
Per la configurazione della macchina (chiosco) ho però la necessità che
quando da una pagina html/asp viene richiamato un file RTF questo si apra
nella finestra del browser (la finestra di WordViewer dentro quella di IE) e
che non mi appaia la classica finestra per il salvataggio del file, però
questa credo sia una impostazione di sicurezza del browser....
Forse si potrebbe sfruttare, con WordViewer installato, la chiamata della
proprietà %Open o %Print via shell.
Farò un po' di prove!
Grazie mille ancora!
Blob

"Paperino" <non...@lo.dico> ha scritto

<andrearaimondi_off>
alternativa veloce, collegata all'alternativa di paperino :)
provato ora a fare un word con tabella a vari cellcolor e textcolor e
fontsize.
salvata in doc e rtf.
il webbrowser la visualizza benissimo in tutte e due le versioni. ma nessuno
obbliga te a visualizzare il wb, credo.
http://www.sundaysw.com/tmp/word.png
http://www.sundaysw.com/tmp/wb.png
su questo pc ovviamente c'e' office, ma probabilmente basta il viewer.
e -- mi scuso con i puristi come il papero, ma sono pigro :) -- non scrivi
quasi codice.
btw, il wb visualizza anche gli excel e i powerpoint.
la stampa è fedele come può esserlo quella di un browser.
cose strane:
- se nella lista dei file clicco l'rtf e word è gia' aperto su quello, il wb
manda word in primo piano.
- anche chiudendo word, se visualizzo l'rtf nel taskman appare un processo
winword.exe, che si chiude se chiudo il webbrowser.
quindi il wb, oltre a ie, si tira dietro anche mezzo office.
comunque puoi fare qualche prova per vedere cosa è piu' semplice e incasina
meno.
se andrea raimondi ha voluto leggere fin qui, probabilmente ora ha le
convulsioni, ma io non amo lasciare le cpu inoperose come gli utenti, e le
alternative vanno almeno provate tutte :P
</andrearaimondi_off>
ciao andrea, come va, come va? tutto ok, tutto ok? :)
ciao, a.