Unire PDF con lo stesso nominativo

di il
7 risposte

Unire PDF con lo stesso nominativo

Ciao a tutti, sono nuovo sul forum e alle prime armi con Access.

Se qualcuno può aiutarmi, cerco di spiegare cose vorrei ottenere:
Ho una cartella che che si chiama "Allegati" che contiene tutti i pdf nominati per dipendente, inserendo un nuovo pdf nella cartella "Scanner", unirli insieme, solo se coincide il nome del pdf nella cartella "Allegati", e sovrascrivere il file nella cartella .
Ho provato con PDFtk e specificando i file di input e output funziona bene.

F1 = "C:\Users\Andrea\Desktop\Access\Allegati\1.pdf"
F2 = "C:\Users\Andrea\Desktop\Scanner\1.pdf"
F3 = "C:\Users\Andrea\Desktop\Access\Allegati\2.pdf" ' output
strParam = "A=" & F1 & " " & "B=" & F2 & " cat A B output " & F3
RetVal = Shell("C:\Program Files (x86)\PDFtk Server\bin\pdftk.exe " & strParam, 1)

7 Risposte

  • Re: Unire PDF con lo stesso nominativo

    Vedo che non risponde proprio nessuno. Provo a dire la mia.
    Sei sicuro che serva Access per fare queste operazioni?

    Vedi se possono servirti questi miei appunti presi sparsi...

    Dir e MkDir.
    È possibile creare una cartella sfruttando MkDir:
    MkDir "C:\Cartella1\Cartella2\Cartella3"
    si può usare anche una variabile K di tipo Stringa in cui è stato preventivamente assegnato un path
    Dim K As String
    K = "C:\Cartella1\Cartella2\Cartella3"
    MkDir K
    Prima di creare una directory conviene sempre controllare che se essa esiste già o no, grazie a Dir
    Dim K As String
    K = "C:\Cartella1\Cartella2\Cartella3"
    If Dir(K, vbDirectory) = "" Then MkDir K
    Dir permette di tirare fuori l'ultima parte a destra del path. Dir si può usare anche nel caso in cui il path termina con un file
    K = Dir("C:\Cartella1\Cartella2\Cartella3\File.pdf")
    in K ci va a finire "File.pdf"

    Se si Esporta (OutputTo) un file e si vuole preventivamente controllare se tale file esiste o meno nella directory
    If Dir(PathReferto, vbDirectory) = "" Then DoCmd.OutputTo acOutputReport, "RefertoCorrente", acFormatRTF, PathReferto
    in questi casi ho usato vbDirectory accanto e mi sono sempre trovato bene (non trascurarlo).
  • Re: Unire PDF con lo stesso nominativo

    OsvaldoLaviosa ha scritto:



    Sei sicuro che serva Access per fare queste operazioni?
    No, non serve Access : serve pdftk (per fare l'unione di più pdf).
    Però a @Valdaster serve unire i pdf, probabilmente all'itnerno di Access, e quindi deve richiamare pdftk tramite shell.
  • Re: Unire PDF con lo stesso nominativo

    Valdaster ha scritto:


    
    F1 = "C:\Users\Andrea\Desktop\Access\Allegati\1.pdf"
    F2 = "C:\Users\Andrea\Desktop\Scanner\1.pdf"
    F3 = "C:\Users\Andrea\Desktop\Access\Allegati\2.pdf" ' output
    strParam = "A=" & F1 & " " & "B=" & F2 & " cat A B output " & F3
    RetVal = Shell("C:\Program Files (x86)\PDFtk Server\bin\pdftk.exe " & strParam, 1)
    Quindi :
    
    pdftk A="C:\Users\Andrea\Desktop\Access\Allegati\1.pdf" B="C:\Users\Andrea\Desktop\Scanner\1.pdf" cat A B output "C:\Users\Andrea\Desktop\Access\Allegati\2.pdf"
    
    Direttamente da shell funziona ?
    I file/directory esistono?
  • Re: Unire PDF con lo stesso nominativo

    Grazie per la risposta, lo apprezzo molto!!!

    Si funziona, solo se specifico i file, quello che vorrei è di unire il file dalle cartella Scanner, con il file in Allegati con lo stesso nome.
  • Re: Unire PDF con lo stesso nominativo

    OsvaldoLaviosa ha scritto:


    Vedo che non risponde proprio nessuno. Provo a dire la mia.
    Sei sicuro che serva Access per fare queste operazioni?

    Vedi se possono servirti questi miei appunti presi sparsi...

    Dir e MkDir.
    È possibile creare una cartella sfruttando MkDir:
    MkDir "C:\Cartella1\Cartella2\Cartella3"
    si può usare anche una variabile K di tipo Stringa in cui è stato preventivamente assegnato un path
    Dim K As String
    K = "C:\Cartella1\Cartella2\Cartella3"
    MkDir K
    Prima di creare una directory conviene sempre controllare che se essa esiste già o no, grazie a Dir
    Dim K As String
    K = "C:\Cartella1\Cartella2\Cartella3"
    If Dir(K, vbDirectory) = "" Then MkDir K
    Dir permette di tirare fuori l'ultima parte a destra del path. Dir si può usare anche nel caso in cui il path termina con un file
    K = Dir("C:\Cartella1\Cartella2\Cartella3\File.pdf")
    in K ci va a finire "File.pdf"

    Se si Esporta (OutputTo) un file e si vuole preventivamente controllare se tale file esiste o meno nella directory
    If Dir(PathReferto, vbDirectory) = "" Then DoCmd.OutputTo acOutputReport, "RefertoCorrente", acFormatRTF, PathReferto
    in questi casi ho usato vbDirectory accanto e mi sono sempre trovato bene (non trascurarlo).
    Grazie per la tua risposta ne terrò di conto!!


    In Access PDFtk funziona bene, solo se specifico i file. Quello che vorrei è di unire il file dalle cartella Scanner, con il file in Allegati con lo stesso nomominativo

    Esempio:

    Cartella “Scanner” ho il nuovo pdf di Mario.pdf
    Nella cartella “Allegati” ho tutti i dipendenti:
    Mario.pdf
    Giovanni.pdf
    Ecc..

    Quello che vorrei è che il nominativo della nuova scansioni nella cartella “Scanner” si unisse al pdf nella cartella “Allegati” Mario.pdf
  • Re: Unire PDF con lo stesso nominativo

    Devi ciclare ciascun file presente nella dirertory di partenza (Scanner) e, per ciascun file, controllare con la istruzione DIR la sua presenza (in base al nome) nella directory di arrivo (Allegati) ed, in caso positivo effettuare l'accodamento (concatenazione dei due file in uno) con programma PDFtk.
    Ti cito alcuni link da cui partire:

    https://analystcave.com/vba-application-filedialog-select-file/
    http://wizofvba.altervista.org/scrivere-lista-file-in-una-directory-in-una-listbox/?doing_wp_cron=1625262443.7364659309387207031250
    https://answers.microsoft.com/it-it/msoffice/forum/msoffice_access-mso_windows8-mso_2010/vba-estrarre-elenco-directories-e-subdirectories/7a21d2c3-ea50-4b5d-b439-1a631a8ec5d0
  • Re: Unire PDF con lo stesso nominativo

    willy55 ha scritto:


    Devi ciclare ciascun file presente nella dirertory di partenza (Scanner) e, per ciascun file, controllare con la istruzione DIR la sua presenza (in base al nome) nella directory di arrivo (Allegati) ed, in caso positivo effettuare l'accodamento (concatenazione dei due file in uno) con programma PDFtk.
    Ti cito alcuni link da cui partire:

    https://analystcave.com/vba-application-filedialog-select-file/
    http://wizofvba.altervista.org/scrivere-lista-file-in-una-directory-in-una-listbox/?doing_wp_cron=1625262443.7364659309387207031250
    https://answers.microsoft.com/it-it/msoffice/forum/msoffice_access-mso_windows8-mso_2010/vba-estrarre-elenco-directories-e-subdirectories/7a21d2c3-ea50-4b5d-b439-1a631a8ec5d0
    Si Willy, hai centrato l’obbiettivo!
    Grazie infinite per il tuo aiuto, spero di riuscirci…
Devi accedere o registrarti per scrivere nel forum
7 risposte