Discussione:
anteprima con pdf
(troppo vecchio per rispondere)
Paolo
2008-06-13 18:12:24 UTC
Permalink
buon gionro

pensavo

è possibile usare adobe come anteprima di stampa

ovvero, diciamo che se stampo va alla stampante impostata altrimentoi se
vado su anteprima il programma dovrebbe creare un documento pdf. in questo
modo avrei facilitato un compito, non avrei usato programmi come c.r. ed in
piu avrei gia una serie di servizi quali lo zoom ect che possiede di defaul
adobe, l'unico problema è che tale documento non si dovrebbe registrare ma
bensi solo visualizzare altrimento ogni anteprima avrei generato un doc.

spero di essere stato chiaro

saluti
SB
2008-06-14 07:30:03 UTC
Permalink
Post by Paolo
buon gionro
pensavo
è possibile usare adobe come anteprima di stampa
ovvero, diciamo che se stampo va alla stampante impostata altrimentoi se
vado su anteprima il programma dovrebbe creare un documento pdf. in questo
modo avrei facilitato un compito, non avrei usato programmi come c.r. ed in
piu avrei gia una serie di servizi quali lo zoom ect che possiede di defaul
adobe, l'unico problema è che tale documento non si dovrebbe registrare ma
bensi solo visualizzare altrimento ogni anteprima avrei generato un doc.
Il file pdf lo devi comunque creare ed equivale a fare una stampa in pdf, poi lo
devi aprire, puoi stampare il .pdf direttamente da Acroread usando le sue
funzioni di prewiev e di stampa, alla fine lo puoi sempre cancellare, tutto da
VB.
Post by Paolo
spero di essere stato chiaro
Si può fare, anzi io lo faccio comunemente, usi .net o VB6?


Per ottenere il pdf puoi usare cutepdf, ma ce ne sono diversi:

http://www.pc-facile.com/guide/creare_files_in_pdf_con_cutepdf_writer/


--
ciao
Stefano
Paolo
2008-06-14 08:43:05 UTC
Permalink
Post by SB
Post by Paolo
buon gionro
pensavo
è possibile usare adobe come anteprima di stampa
ovvero, diciamo che se stampo va alla stampante impostata altrimentoi se
vado su anteprima il programma dovrebbe creare un documento pdf. in questo
modo avrei facilitato un compito, non avrei usato programmi come c.r. ed in
piu avrei gia una serie di servizi quali lo zoom ect che possiede di defaul
adobe, l'unico problema è che tale documento non si dovrebbe registrare ma
bensi solo visualizzare altrimento ogni anteprima avrei generato un doc.
Il file pdf lo devi comunque creare ed equivale a fare una stampa in pdf, poi lo
devi aprire, puoi stampare il .pdf direttamente da Acroread usando le sue
funzioni di prewiev e di stampa, alla fine lo puoi sempre cancellare, tutto da
VB.
Post by Paolo
spero di essere stato chiaro
Si può fare, anzi io lo faccio comunemente, usi .net o VB6?
uso VB6, quindi dici che è fattibile, ottimo, eviterei di fare le anteprima
di stampa, ed inoltre ho uno strumento completo con il quale oltre che a
stampare potrei copiare, tagliare ect.

grazie
Post by SB
http://www.pc-facile.com/guide/creare_files_in_pdf_con_cutepdf_writer/
--
ciao
Stefano
Paolo
2008-06-14 19:49:34 UTC
Permalink
non è che èpotresdti farmi un esempio di codoce. syo impazzendo

grazie
Post by SB
Post by Paolo
buon gionro
pensavo
è possibile usare adobe come anteprima di stampa
ovvero, diciamo che se stampo va alla stampante impostata altrimentoi se
vado su anteprima il programma dovrebbe creare un documento pdf. in questo
modo avrei facilitato un compito, non avrei usato programmi come c.r. ed in
piu avrei gia una serie di servizi quali lo zoom ect che possiede di defaul
adobe, l'unico problema è che tale documento non si dovrebbe registrare ma
bensi solo visualizzare altrimento ogni anteprima avrei generato un doc.
Il file pdf lo devi comunque creare ed equivale a fare una stampa in pdf, poi lo
devi aprire, puoi stampare il .pdf direttamente da Acroread usando le sue
funzioni di prewiev e di stampa, alla fine lo puoi sempre cancellare, tutto da
VB.
Post by Paolo
spero di essere stato chiaro
Si può fare, anzi io lo faccio comunemente, usi .net o VB6?
http://www.pc-facile.com/guide/creare_files_in_pdf_con_cutepdf_writer/
--
ciao
Stefano
SB
2008-06-15 10:09:30 UTC
Permalink
Post by Paolo
non è che èpotresdti farmi un esempio di codoce. syo impazzendo
La cosa non è proprio banale, richiede conoscenza del VB e della programmazione,
e oltretutto io l'ho fatto tempo fa per cui potrei anche ricordare male o
dimenticare qualcosa.


Prima di tutto devi installare la stampante pdf, poi selezionarla come stampante
di default, avendo cura di ricordare la stampante precedente, basta fare

Dim PrDef$ : PrDef$ = Printer.DeviceName

qui c'è un esempio di come selezionarla:

http://vbnet.mvps.org/index.html?code/system/setdefaultprinter.htm


Poi scrivi sull'oggetto Printer, qui un esempio ma la cosa ovviamente deve
essere mirata al tuo progetto

Printer.FontUnderline = True
Printer.Print Tab(10); NewFRM.MSFlexGrid1.TextMatrix(Ln, 1)
Printer.FontUnderline = False

fino alla fine della pagina:
Printer.Print: Printer.Print Tab(3); "Segue a pag."; Pag
Printer.NewPage

e del documento:
Printer.EndDoc

A questo punto dovrebbe partire la stampante pdf e crearti il documento, il nome
e la sua selezione dipendono dalla PDF che scegli:

http://www.freewarefiles.com/DoPDF_program_26895.html

http://www.freewarefiles.com/PrimoPDF_program_40792.html
http://www.freewarefiles.com/Multiple-PDF-Printer_program_24346.html

io gli faccio fare un nome fisso (FilePdf$ ) e poi lo rinomino copiandolo:


Do: Sleep 100 : Loop While GetFileAttributes(FilePdf) <= 0
Sleep 1000 'Aspetta
If CopyFile(FilePdf & Chr$(0), Dest$, 0&) = 0 Then MsgBox "ERRORE COPIA
PDF", vbCritical: Exit Sub
DeleteFile FilePdf: Sleep 100

poi lo apro con una Shellexecute:

If GetFileAttributes(Dest$) > 0 Then
RetVal = ShellExecute(0, "Open", Dest$, vbNullString, vbNullString,
SW_SHOWNORMAL)
If RetVal < 32 Then MsgBox "ERROR " & RetVal Else If InStr(UCase$(Pr$),
"PDF") = 0 Then Sleep 1000
End If

A questo punto il file è aperto nell' Acroread, puoi inviargli i comandi per
fare l'anteprima da VB con SendKeys o se non va con qualcosa di simile:

http://www.vbaccelerator.com/home/VB/Tips/SendKeys_using_the_API/article.asp

Comunque ti conviene lasciare all'utente la gestione della stampa perchè se
l'anteprima non gli piace, deve poter cambiare qualcosa.
Chiudendo l'Acreread il focus deve tornare al tuo programma VB.


Se non ti è chiaro quanto ho scritto, almeno nelle linee principali, ho idea che
sarà una bella pesca fare l'anteprima PDF.

--
ciao
Stefano
Paperino
2008-06-15 18:58:22 UTC
Permalink
"SB" ha scritto nel messaggio
[CUT]
Post by SB
A questo punto il file è aperto nell' Acroread, puoi inviargli i comandi per
[CUT]
Post by SB
Comunque ti conviene lasciare all'utente la gestione della stampa perchè se
l'anteprima non gli piace, deve poter cambiare qualcosa.
Chiudendo l'Acreread il focus deve tornare al tuo programma VB.
Io incorporo il reader nel programma VB, e gestisco tutto da codice.
Con un riferimento ad AcroPDF.dll, vedi il reader come un OCX e
lo puoi utilizzare direttamente.
Per caricare un file fai PDF1.LoadFile "nomefile", e roba simile.
Puoi abilitare la barra standard del visualizzatore e far stampare
l'utente da lì, oppure disabilitare la barra e sostituirla con comandi
tuoi, usando una .Print, .PrintAll e varie possibilità simili, oppure
con .PrintWithDialog far gestire lo stesso tutto all'utente.
F2 per l'elenco delle possibilità :-).

Oh, per creare PDF senza bisogno di installare niente del tipo
ghostscript, stampanti virtuali e simili, segnalo di nuovo una
cosa che ho citato qualche giorno fa.
Su http://www.luigimicco.altervista.org/ c'è una classe specifica,
in due versioni, una, freeware, più limitata e l'altra a pagamento
più completa.

Bye, G.
SB
2008-06-16 08:02:08 UTC
Permalink
Post by Paperino
Io incorporo il reader nel programma VB, e gestisco tutto da codice.
Con un riferimento ad AcroPDF.dll, vedi il reader come un OCX e
lo puoi utilizzare direttamente.
Per caricare un file fai PDF1.LoadFile "nomefile", e roba simile.
Puoi abilitare la barra standard del visualizzatore e far stampare
l'utente da lì, oppure disabilitare la barra e sostituirla con comandi
tuoi, usando una .Print, .PrintAll e varie possibilità simili, oppure
con .PrintWithDialog far gestire lo stesso tutto all'utente.
F2 per l'elenco delle possibilità :-).
Intereressante, non sapevo di questa possibilità.
Post by Paperino
Oh, per creare PDF senza bisogno di installare niente del tipo
ghostscript, stampanti virtuali e simili, segnalo di nuovo una
cosa che ho citato qualche giorno fa.
Su http://www.luigimicco.altervista.org/ c'è una classe specifica,
in due versioni, una, freeware, più limitata e l'altra a pagamento
più completa.
Ormai il mio funziona così e non mi passa nemmeno per la testa di andarci
attorno, però è utila sapere che ci sono altre strade più semplici per ottenere
lo stesso risultato.


--
ciao
Stefano
Andrea [Work]
2008-06-23 08:54:18 UTC
Permalink
Post by Paolo
non avrei usato programmi come c.r. ed in
piu avrei gia una serie di servizi quali lo zoom ect che possiede di defaul
adobe
Come mai non vuoi usare componenti esterni tipo CR?
Tanto se devi fare un PDF qualcosa devi usare comunque.

Io uso ReportMan che è Open Source, ti fa anteprima o stampa diretta, una
volta presa la mano è veloce fare una stampa. Permette di salvare in PDF o
inviare direttamente x email il file in anteprima.
http://reportman.sourceforge.net/
Fritz
2008-06-25 04:51:37 UTC
Permalink
Il Mon, 23 Jun 2008 08:54:18 GMT, "Andrea [Work]"
Post by Andrea [Work]
Come mai non vuoi usare componenti esterni tipo CR?
Personalmente CR l'ho usato poco ma quel poco che l'ho usato mi sono
trovato malissimo, ho dovuto aggiungere un campo ad un report fatto da
dei colleghi con CR e che esportava i dati in Excel, dopo l'aggiunta
del campo ho smadonnato per ore sul layout perchè in output mi faceva
una riga vuota dopo ogni riga di dati. In 2 ore l'ho rifatto con
Reporting services (i cui file di definizione sono semplici XML
modificabili anche con notepad) e ho dato fuoco a CR.
Post by Andrea [Work]
Tanto se devi fare un PDF qualcosa devi usare comunque.
Ci sono anche delle classi per creare PDF, certo in questo caso deve
creare un codice per il preview e uno per la stampa a meno di non
stampare poi il PDF.
Post by Andrea [Work]
Io uso ReportMan che è Open Source, ti fa anteprima o stampa diretta, una
volta presa la mano è veloce fare una stampa. Permette di salvare in PDF o
inviare direttamente x email il file in anteprima.
http://reportman.sourceforge.net/
Interessante soprattutto perchè supporta i PDF compressi che invece
non supportano i Reporting services.

Ciao
--
Fritz

Togli *ERASE* per rispondere in e-mail.
Paperino
2008-06-25 13:00:17 UTC
Permalink
"Fritz" ha scritto nel messaggio
Post by Fritz
Post by Andrea [Work]
Tanto se devi fare un PDF qualcosa devi usare comunque.
Ci sono anche delle classi per creare PDF, certo in questo caso deve
creare un codice per il preview e uno per la stampa a meno di non
stampare poi il PDF.
Come dicevo da qualche altra parte nel thread, se crei il PDF
da codice puoi usare sia per l'anteprima che per la stampa il
componente dell'Acrobat reader.

Bye, G.

Loading...