ho trovato qualcosa in giro, a pagamento (può andare bene, se la cifra
non è eccessiva, e per eccessiva intendo entro i 100.00 euro), se
free, ovviamente è meglio.
Dopo lunghe ed estenuanti ricerce, in particolare, per il prezzo
richiesto e per la funzionalità offerta (ho provato il demo) mi
orienterei verso il componente sprinter.ocx, trovato all'indirizzo
http://www.vbgold.com
mi piacerebbe ricevere suggerimenti, indicazioni e quant'altro da chi
avesse già affrontato il problema.
GRAZIE.
Remarks
This method enables you to print a PDF document form a PDF file
----> using your existing PDF reader application (the application
associated with opening and printing PDF files, such as the Adobe
Acrobat Reader).
The file will be printed exactly as you see it in the "Actual Size"
view in the PDF reader, including any images, layout, fonts, margin
settings, etc. There is no need to set or use any of the Smart Print
Control properties.
The following code line shows how to use this method to print a PDF
document from a PDF file:
SPrinter1.PrintPDFFile "C:\MyPDFFile.PDF"
Note that by using this method, all control properties are ignored,
whether set (or not) before calling this method. Also, setting the
printer using the SetPrinter method will have no effect. The PDF
document is sent to the default system printer.
---> Note that if you have no PDF reader application installed on your
system, the PrintPDFFile method will fail.
ahi, ahi, forse non era quello che volevo....
resto in attesa di aiuto.....
> come da oggetto, è da qualche tempo che cerco su Internet un OCX o DLL
> o altro che mi consenta, dato un elenco di file .pdf già pronti, di
> stamparli da progetto Visual Basic (VB6), SENZA AVERE ACROBAT
> INSTALLATO (quindi non voglio utilizzare acrord32.exe /p ecc, oppure
> FilePrintSilent via DDE, ecc).
Ciao,
per la stessa esigenza ho usato ghostscript che espone una dll che converte
i file postscript in pdf, in pratica:
1) installi il driver di una stampante postscript, in windows è già
disponibile quello della Apple
2) Da VB stampi su file usando quella stampante (io mi sono fatto una
classe wrapper che usa le API)
3) Con ghostscript converti il file ps in pdf
E' un po' macchinoso implementarlo ma il tutto funziona correttamente. Su
google trovi parecchio materiale.
Ciao
--
Stefano "HappyMan"
http://www.sgr.info
> Ciao,
> per la stessa esigenza ho usato ghostscript che espone una dll che converte
> i file postscript in pdf, in pratica:......
in realtà, forse non mi sono spiegato bene,
io i file PDF CE LI HO GIA',
NON MI INTERESSA CREARLI,
devo solo stamparli, senza aprire o utilizzare però acrobat.....
Ciao,
ti sei spiegato benissimo, sono io che ho letto roma per toma :-)
Non ho capito perché escludi il reader, che è free, e funziona bene.
Motivi tecnici, politici, religiosi ? ;-).
> mi piacerebbe ricevere suggerimenti, indicazioni e quant'altro da chi
> avesse già affrontato il problema.
Beh... io con il reader. Per stampare va benissimo, e si può usare
anche integrandolo nel programma, cioè senza dover lanciare
un programma esterno e fare una "shell and wait".
Bye, G.
nessun motivo 'religioso' quindi.....
acrobat per stampare poi l'ho utilizzato via DDE e shell, con il
seguente codice
If CFG.MODOstampa = "Shell" Then
stringashell = CFG.ACROBAT & " /p /h " & FileName
X = Shell(stringashell)
If X = 0 Then GoTo gestioneerrori
End If
If CFG.MODOstampa = "FilePrintSilent" Then
opnrdr = Shell(CFG.ACROBAT, vbHide)
strExecute = "[FilePrintSilent(" & Chr$(34) & FileName & Chr$(34) &
")]"
With lblDDE
.LinkMode = vbLinkNone
.LinkTopic = "acroview|control"
.LinkMode = vbLinkManual
.LinkTimeout = 32760
.LinkExecute strExecute
' chiudo
.LinkMode = vbLinkNone
.LinkTopic = "acroview|control"
.LinkMode = vbLinkManual
.LinkTimeout = 32760
.LinkExecute "[AppExit]"
End With
End If
comunque i miei problemi non li ho risolti....
per questo volevo stampare senza usare acrobat....
accetto comunque suggerimenti , critiche, esempi, codice sorgente, ecc.
.....
[CUT]
Mai usato quel metodo.
> accetto comunque suggerimenti , critiche, esempi, codice sorgente,
> ecc. .....
Prova col semplice Reader integrandolo nel tuo progetto; lo puoi
installare anche affiancato ad Acrobat completo, se è necessario.
Crea un progetto nuovo, nei componenti scegli "Adobe Acrobat 7.0
Browser Control Type Library", e aggiungine uno al tuo form.
Crea due pulsanti, in uno metti
AcroPDF1.LoadFile "path e nome del tuo file.pdf"
e nell'altro
AcroPDF1.printPages 1, 1
Questo stamperà sulla stampante predefinita. E se la stampante
predefinita è il winfax, dovrebbe fare tutto da solo.
A questo punto fai tutte le prove che vuoi, chiudendo/aprendo altri
pdf eccetera, e vedi se anche così ti dà problemi.
Bye, G.