Stampare report con stampante pdfCreator

di il
12 risposte

Stampare report con stampante pdfCreator

Buongiorno. Espongo il mio problema: Mi trovo, a volte, a dover stampare un numero sostanzioso di report pdf singoli generati attraverso il metodo OutputTo. Avviene che la dimensione dei file non è mai inferiore a 250 kb. Mi accorgo, però, che selezionando poi stampa (avendo selezionato pdfCreator come stampante predefinita) dal menù tasto destro del mouse, ottengo file con dimensione pari 50 kb circa. Poiché questa è un'operazione che richiede anche tanto tempo è possibile automatizzarla?

Grazie.

12 Risposte

  • Re: Stampare report con stampante pdfCreator

    Se ho inquadrato l esigenz devi creare una maschera dove selezioni tutti i file pdf da compattare, poi con il vba ujo ad uno li compatti e li salvi.

    Se lo fai con accespotresti avere 2 problemi.

    Primo sevi avere una certa conoscenza della gestione del vba per realizzarlo

    Secondo, access non    è multitasking, quindi fino a quando nonha finito tutte le operazioni non puoi utilizzarlo. Quindi se dovesse impiegare un ora per il processo, rimrebbe bloccato.

  • Re: Stampare report con stampante pdfCreator

    Che intendi con compattare i pdf?

  • Re: Stampare report con stampante pdfCreator

    08/05/2023 - Antony73 ha scritto:


    Che intendi con compattare i pdf?

    Se fai una operazione con il quale un file da 250k passa ad una dimensione di 50 k, significa che viene compattato.

    Comunque indipendentemente da quello che devi fare, l automazione del processo avviene in questo modo. Se poi non sai come scrivere il codice, è tutto un altro paio di maniche.

    Ed è anche difficile aiutarti, perché bisogna vedere come interfacciarso con ilnprogramma che usi 

  • Re: Stampare report con stampante pdfCreator

    Salve a tutti,
    Sagge parole  fratac  ;)

    Io non ho ben capito … potresti descrivere il flusso? da dove nascono i dati fino ad arrivare alla stampa PDF.

    E dato il flusso, il processo che vuoi automatizzare…. 

    Grazie

  • Re: Stampare report con stampante pdfCreator

    Stampo dei report ricorrendo al metodo OutputTo. I file pdf generati andrebberero bene se non fosse che occupano almeno 250 kb di memoria. Dato che però devono essere spediti per email, la dimensione diventa un problema se sono troppi. Mi sono accorto che stampandoli attraverso pdfCreator la dimensione diventa un quinto. La soluzione all'automatismo potrebbe essere non ricorrere al metodo OutputTo, bensì alla stampante virtuale di pdfCreator direttamente. È possibile?

  • Re: Stampare report con stampante pdfCreator

    Ciao Antony73

    è probabile che sia legato al drive di stampa utilizzato
    Esempio:

    Esportando o Stampando lo stesso Report di 3 pagine ottengo 3 dimensioni diverse, dove i primi 2 PDF;
    Uno da export di Access
    e il secondo utilizzando la stampante “Microsoft Print to PDF”

    Mentre la terza, che è molto più piccola come size (70 KB), viene stampato il report utilizzando la stampante “PDF-Cadwork"
    Quest'ultima offre anche la possibilità di impostare nelle preferenze sia la la risoluzione che altri parametri che nelle prime due non si hanno.
    Esempio:

    Non ho approfondito ulteriormente e penso che forse tu possa trovare la soluzione scaricando un Drive di stampa in PDF, magari integrabile anche direttamente in Access. 

  • Re: Stampare report con stampante pdfCreator

    Ma per esempio potresti provare a scaricare CutePDF e utilizzando il suo ActiveX per richiamare la stampa del report in questo modo?

    Dim PDF As Object
    Set PDF = CreateObject("CutePDF.Writer")
    PDF.Init "C:\Percorso\nomefile.pdf"
    DoCmd.OpenReport "NomeReport", acViewPreview, , , acHidden
    PDF.PrintOut
    PDF.Exit

    Mentre con ActiveX di PdfCreator dovrebbe essere:

    
    Dim pdfjob As Object
    Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
    pdfjob.Initialize
    pdfjob.StartPrinting "Titolo del documento"
    pdfjob.PrintOut "C:\Path\To\Your\File"
    pdfjob.cOption("UseAutosave") = 1
    pdfjob.cOption("UseAutosaveDirectory") = 1
    pdfjob.cOption("AutosaveDirectory") = "C:\Path\To\Your\Directory"
    pdfjob.cOption("AutosaveFilename") = "YourFileName.pdf"
    pdfjob.cOption("AutosaveFormat") = 0 ' 0 = PDF
    pdfjob.cClearCache
    pdfjob.StopPrinting
  • Re: Stampare report con stampante pdfCreator

    Ti ringrazio. Proverò in questo modo. To informerò.

  • Re: Stampare report con stampante pdfCreator

    Ottengo errore 438 – proprietà o metodo non supportato dall'oggetto. Credo sia dovuto alla creazione dell'oggetto pdfjob.

  • Re: Stampare report con stampante pdfCreator

    09/05/2023 - Antony73 ha scritto:


    Ottengo errore 438 – proprietà o metodo non supportato dall'oggetto. Credo sia dovuto alla creazione dell'oggetto pdfjob.

    Ciao,
    è solo uno spunto preso dal web, ci va lavorato sopra, cercare info etc… 

    Mi ricordo che quando realizzai una cosa del genere, anni e anni fa, sempre con lo scopo di allegare e spedire per e-mail, avevo acquistato la licenza d'uso di un prodotto per il quale c'era l'accesso alla librerie da referenziare in vba…  Era molto semplice e i tempi più lunghi di attesa erano quelli di access per creare i report, mentre il file PDF lo creava molto velocemente. Dimensioni ridotte etc….

    Se ho tempo faccio una ricerca approfondita… vediamo se salta fuori qualcosa di utile allo scopo.

  • Re: Stampare report con stampante pdfCreator

    Grazie.

  • Re: Stampare report con stampante pdfCreator

    09/05/2023 - Antony73 ha scritto:


    Grazie.

    di nulla…  ci mancherebbe

    secondo me la strada più semplice, veloce e meno invasiva è quella di scaricare ed installare una stampante PDF con la quale ottieni un file PDF con piccola Size e magari anche velocemente.

    nel ciclo di stampa report inserisci con Application il cambio della stampante predefinita e a fine ciclo ripristini la precedente stampante predefinita.

    Mi sembra la cosa migliore senza andare a cercare Api/Librerie/AtciveX che magari oggi vanno bene e poi ad un certo punto ti lasciano a piedi per via di un aggiornamento del sistema operativo e/o versione Office, etc… 

Devi accedere o registrarti per scrivere nel forum
12 risposte