Risolto: Stampare file PDF esistente su stampante, da codice

di il
2 risposte

Risolto: Stampare file PDF esistente su stampante, da codice

Buonasera a tutti. Ho un problema un po' particolare.
Nel mio database creo tre report (per ogni annualità, per ogni cliente e per ogni lavorazione) che poi salvo in PDF, ed unisco con PDFCreator.
Quando creo il PDF "blocco" la possibilità di modificare i dati che incidono sul report, quindi quel PDF non potrà più avere variazioni e viene archiviato. Ora vorrei che (quando consulto un'annualità passata) se voglio stampare il PDF finale, non dovergli far rifare i calcoli (il PC abbastanza lento ci mette anche 5/6 minuti), ma vorrei poter stampare il file direttamente da un pulsante nella stessa maschera (senza doverlo cercare sull'HD, cosa non troppo facile perché suddivisi in cartelle secondo logiche abbastanza complicate non scelte da me, e con nomi lunghi che contengono, ad esempio, anche il codice fiscale del cliente, quindi complicato anche il search...).
Quando unisco i 3 PDF con PDFCreator, ho la possibilità (usando "PrintGuid" anziché "DefaultGuid") di stamparlo e allora ho provato ad usare la stessa procedura dandogli come sorgente un solo PDF, quello finale (creando un altro file che poi cancellerei), il risultato è che crea la copia del file, ma non stampa nulla. Funziona se ne unisco due o più PDF...

In definitiva: è possibile da VBA creare un pulsante di questo tipo?
Capisco che non è il compito di ACCESS, ma mi toglierebbe una rogna non da poco...

Grazie.

2 Risposte

  • Re: Risolto: Stampare file PDF esistente su stampante, da codice

    A mio avviso, puoi migliorare la gestione tecnica del sistema.
    Quando GENERI il file per MERGE e poi lo stampi lo dovresti mettere in una cartella di SISTEMA(del tuo sistema) e memorizzarne il Nome nel Database.
    Quando lo dovrai ristampare, il PATH della cartella è NOTO in quanto di sistema ed estrarrai il Report in PDF già finito.
    Tempi di esecuzione in questo modo NULLI.
    Per stampare direttamente il File PDF, dovresti usare le API, SHELLEXECUTE ed inviare il comando di PRINT... equivale all'azione di selezione che fai con il MOUSE, quando premi RIGHT_CLICK e selezioni dal ContextMenù la voce stampa.
  • Re: Risolto: Stampare file PDF esistente su stampante, da codice

    @Alex ha scritto:


    A mio avviso, puoi migliorare la gestione tecnica del sistema.
    Quando GENERI il file per MERGE e poi lo stampi lo dovresti mettere in una cartella di SISTEMA(del tuo sistema) e memorizzarne il Nome nel Database.
    Quando lo dovrai ristampare, il PATH della cartella è NOTO in quanto di sistema ed estrarrai il Report in PDF già finito.
    Tempi di esecuzione in questo modo NULLI.
    E' proprio quello che faccio e che intendevo quando ho scritto:

    Koa68 ha scritto:


    vorrei poter stampare il file direttamente da un pulsante nella stessa maschera (senza doverlo cercare sull'HD...)

    @Alex ha scritto:


    Per stampare direttamente il File PDF, dovresti usare le API, SHELLEXECUTE ed inviare il comando di PRINT...
    Ci avevo provato, ma si apriva Acrobat Reader con il file aperto e mi si apriva la finestra di salvataggio file come se volessi stampare su PDF e quindi cercavo un'alternativa.

    E' successa una cosa che non mi era mai capitata: Access, e solo Access, non vedeva più la stampante, non compariva nell'elenco di quelle disponibili, nonostante fosse visibile nell'elenco dei dispositivi di Win10 ed aveva come predefinita la stampa su file. Se aprivo qualsiasi altro programma (ad esempio Excel) in fase di stampa, invece, la vedevo come predefinita.
    Problema risolto re-installando i driver Kyocera.

    Grazie.
Devi accedere o registrarti per scrivere nel forum
2 risposte