VB6 e stampante virtuale PDF Creator

di il
7 risposte

VB6 e stampante virtuale PDF Creator

Buonasera a tutti.
Ho un vecchio software in VB6, che stampa dei documenti di trasporto.
Ora il cliente mi richiede di conservere una copia di questi documenti in formato PDF.
Ho installato PDF Creator, e dopo aver stampato il DDT, lo mando in stampa sulla stampante virtuale PDF.
Quello che vorrei fare, è poter dare un nome a questo file PDF.
(Al momento ho settato il PDF Creator per salvare il file "xxxx.pdf" in una certa cartella, e dopo la stampa lo vado a rinominare).
E' possibile passare a PDF Creator direttamente il nome file e la cartella in cui lo voglio ?
Grazie a tutti

Daniele G

7 Risposte

  • Re: VB6 e stampante virtuale PDF Creator

    Quale codice vb usi per stampare?
  • Re: VB6 e stampante virtuale PDF Creator

    Ciao e grazie per l'interessamento.
    In realtà non uso del codice particolare.
    Uso l'oggetto printer di VB, prima stampo il DDT su laser, poi cambio stampante (set Printer....ecc ecc) impostando "PDF Creator", e rimando in stampa il tutto.

    Ciao
    DG
  • Re: VB6 e stampante virtuale PDF Creator

    Dai un'occhiata a questa pagina

    http://micheloni.altervista.org/index.php?option=com_content&view=section&id=7&layout=blog&Itemid=2

    e al codice che viene utilizzato.
  • Re: VB6 e stampante virtuale PDF Creator

    Grazie Oregon
    in realtà, facendo delle ricerche prima di chiedere aiuto al forum, su questa pagina l'avevo già vista, ma non ho trovato le classi menzionate
    Private opt As clsPDFCreatorOptions
    Private WithEvents PDFCreator1 As PDFCreator.clsPDFCreator.....o meglio ho trovato questa, ma non mi pare la stessa cosa (o sbaglio io?)
    http://www.luigimicco.altervista.org/download/clspdfcreator/

    grazie ancora per il prezioso aiuto

    DG
  • Re: VB6 e stampante virtuale PDF Creator

    Penso che quel codice faccia riferimento a PdfCreator 1.0.1
  • Re: VB6 e stampante virtuale PDF Creator

    Quindi con le versioni più aggiornate non se ne esce ?

    Grazie
    Saluti

    DG
  • Re: VB6 e stampante virtuale PDF Creator

    Buongiorno,

    Io uso la versione PDFCreator-2_3_2-Setup ma poi occorre bloccare gli aggiornamenti
    perchè sulle successive qualcosa non funzione con vb6
    ovviamente occorre inserire il riferimento a pdfcreator.tlb nel progetto

    io lo uso cosi' e funziona bene...
    La routine sotto è stata un po' sfoltita e viene richiamata dopo aver
    utilizzato l'oggetto printer per creare il report da mandare alla stampante pdfcreator


    Public Sub stampa_PDFCreator()

    Dim PDFCreatorQueue As Queue
    Dim PrintJob As PrintJob
    Dim ShellObj As Object
    Dim fullPath As String

    gl_percorso_file_stampa_fattura_pdf = App.Path & "\pdf"

    Set PDFCreatorQueue = CreateObject("PDFCreator.JobQueue")

    fullPath = gl_percorso_file_stampa_fattura_pdf & "\" & gl_nome_file_stampa_fattura_pdf & ".pdf"
    Set ShellObj = CreateObject("Shell.Application")

    On Error GoTo ErrorHandler

    'MsgBox ("Initializing PDFCreator queue...")
    PDFCreatorQueue.Initialize

    ' stampo la coda preparata
    Printer.EndDoc

    If Not PDFCreatorQueue.WaitForJob(10) Then
    MsgBox ("The job didn't arrive at the queue within 10 seconds")
    Else
    Set PrintJob = PDFCreatorQueue.NextJob

    PrintJob.SetProfileByGuid ("DefaultGuid")

    ' MsgBox ("Converting under DefaultGuid")
    PrintJob.ConvertTo (fullPath)

    If (Not PrintJob.IsFinished Or Not PrintJob.IsSuccessful) Then
    MsgBox ("Could not convert the file: " & fullPath)
    Else
    ' MsgBox ("Job finished successfully.")
    MsgBox "File " & gl_nome_file_stampa_fattura_pdf & " salvato in " & gl_percorso_file_stampa_fattura_pdf, vbOKOnly, "Avviso!"
    End If
    End If

    'MsgBox ("Releasing the queue object.")
    PDFCreatorQueue.ReleaseCom
    Set PrintJob = Nothing

    Exit Sub

    ErrorHandler:
    MsgBox ("Errore: " & Err.Description & ".")
    PDFCreatorQueue.ReleaseCom

    End Sub


    ....buon lavoro
Devi accedere o registrarti per scrivere nel forum
7 risposte