Newsgroup: it.comp.appl.access
Titolo: 6.182 Utilty per manipolare file PDF

Salve a tutti,
        sul sito ho trovato questa bellissima utility per manipolare i file 
PDF ora siccome l'appetito viene mangiando vorrei poterla utilizzare non dal 
promp del dos su un singolo file ma attraverso un programma.
Il mio problema è questo ho un direttorio che contiene N File PDF vorrei 
creare le singole pagine per ogni file.
Dovrei scrivere un file BAT con un ciclo for ma non conosco la sintassi 
sapete dove posso trovare qualche informazione?
Esiste da Access la possibilità di lanciare l'utility sopra?
Ho provato con:
'---
Dim oWshShell As Object
Dim NomeFilePrint As String
NomeFilePrint = "C:\prova\pippo.pdf"
Set oWshShell = CreateObject("WScript.Shell")
oWshShell.Run "c:\windows\system32\pdftk.exe" & NomeFilePrint & "burst"
Set oWshShell = Nothing
'---
ma non funziona
Ciao e grazie a tutti Sabrina 

 ha scritto nel messaggio 
news:ekm7ve$4ti$1...@news.task.gda.pl...

Nello stesso sito (comune) e in questo NG nei messaggi precedenti, trovi 
anche degli esempi per leggere il contenuto di una directory...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:ekmfn3$2tj$1...@tdi.cu.mi.it...

Scusa ma proprio non trovo come fare funzionare il tutto
Riassumendo quello che riesco a fare è tramite il prompt
dei comandi lanciare una riga del tipo:
pdftk file.pdf burst output file_%04d.pdf
ora siccome di file ne ho 650 e tutti con nomi diversi
cercavo il modo di utilizzare il comando parametrizzato
sapete se si può fare?
Ciao e ancora scusa ma è tutto il gg che cerco
Sabrina 

 Sabrina
http://groups.google.it/group/it.comp.appl.access/browse_thread/thread/c9a8e72c4b04070a/1012e46a168ec22c?lnk=gst&q=elenco+file&rnum=13&hl=it#1012e46a168ec22c
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:ekmqc7$gc0$1...@tdi.cu.mi.it...

Gli esempi che mi hai indicato mi sono utili per eseguire la scansione di 
tutti i file mi rimane però il problema di passare i nomi dei fali 
all'utility pdftk
non conosco la sintassi dei parametri per ora sono ferma qui:
1)Ho costruito un file bat
        PROVA.BAT
        @echo off
        call pdftk %1.pdf burst
Tale file richiamato da prompt: prova pippo
crea le pagine pg0001.pdf ... pg0004.pdf
ora in tale file non riesco a usare la funzione di output per chiamare i 
file PIPPO0001.pdf ... PIPPO0004.pdf
se scrivo:
@echo off
call pdftk %1.pdf burst output %1_%02.pdf
crea un solo file della 1° pagina denominato pippo_prova02d.pdf
se uso il comando dal promp:
pdftk pippo.pdf burst output pluto_%04d.pdf
vengono creati i file PLUTO_0001.PDF ... PLUTO_0002.PDF
giusto
2)Ammesso che trovo la soluzione al punto1 ho anche il seguente problema
sul codice di Clik di un pulsante vorrei far eseguire o il file bat o meglio 
il comando
anche qui sono a meta strada
Set oWshShell = CreateObject("WScript.Shell")
oWshShell.Run "pdftk.exe c:\prova\pippo\prova.pdf burst output 
c:\prova\pippo\provaB_%02d.pdf"
funziona
ma appena scrivo:
Set oWshShell = CreateObject("WScript.Shell")
pippo = "c:\prova\pippo\prova"
oWshShell.Run "pdftk.exe" & pippo & ".pdf burst output " & pippo & 
"_%02d.pdf"
esce Errore di run-time 70
Autorizzazione negata
(Cioè il problema 1 direi non passo i parametri nel modo giusto)
Scusate per il tema un pò lungo ma sto impazzendo
ciao e grazie Sabrina

 ha scritto nel messaggio 
news:ekp0oc$q2h$1...@news.task.gda.pl...

Ahaaa, Sabrina mia...
Inserisci il codice nell'evento "su clic" di un bottone:
'---
   'Autore: Lorenzo Coronati
   'Argomenti:
   ' d=directory
   ' j=maschera di match
   Dim s As String
   If d = "" Then d = CurDir '<-- se non specificata usa la dir corrente
   If j = "" Then j = "*.*" '<-- se non specificato, lista tutti i file
 Set oWshShell = CreateObject("WScript.Shell")
   If Right(d, 1) <> "\" Then d = d & "\"
   s = Dir(d & j)
   With r
      Do While s <> "" ' cicla per ogni file nella directory
'--> nella variabile s trovi il nome del file.
...
oWshShell.Run "pdftk.exe" & s & ".pdf burst output " & s & "_%02d.pdf"
...
         s = Dir
      Loop
   End With
Set oWshShell = Nothing
End Sub
'---
Ciao.
-- 
Sergio MAZZA

 ha scritto nel messaggio 
news:ekp1q7$htm$1...@tdi.cu.mi.it...

Sono sempre qui!
    il codice che mi hai suggerito è più elegante della mia soluzione per 
scorrere i file ma mi continua a dare errore su
-->oWshShell.Run "pdftk.exe" & s & ".pdf burst output " & s & "_%02d.pdf"
Errore di run-time '-
2147024894
 (800700002)':
Metodo 'Run' dell'oggetto 'IWshShell3' non riuscito
Ciao e Grazie per il tempo che perdi

 Ciao e Grazie per il tempo che perdi
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Finalmente ho trovato la sintassi per la cronaca č
oWshShell.Run "pdftk.exe " & f & " burst output " & ds & "_%02d.pdf"
dove f č il nome del file con il suo path e la sua estensione
es: c:\prova.pippo.pdf
mentre ds č il nome che si vuole dare alle singole pagine
es: c:\prova.pippo č il valore di ds
%02d permette alla funzione di generare nomi diversi per le varie pagine del 
doc
in questo caso otterrň
pippo_01.pdf
pippo_02.pdf
...
pippo_o6.pdf
sel il doc iniziale ha 6 pag
se inserisci %04d al posto di %02d
i file dovrebbero essere
pippo_0001.pdf
...
pippo_0006.pdf
Esiste un modo semplice per eliminare gli spazi nel nome dei file?
Perchč ho notato che la funzione con file del tipo PIPPO 23.PDF mi dice 
ciccia
quindi prima devo trasformare PIPPO 23.PDF in PIPPO23.PDF
Grazie tante per l'aiuto
Sabrina

 Sabrina
Se, come dici, in "ds" c'è il nome del file e lo spazio è lì, utilizza la 
funzione Rtrim:
es.
oWshShell.Run "pdftk.exe " & f & " burst output " & RTrim(ds) & "_%02d.pdf"
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Non sono cosě fortunata avevo cercato anche io sull'Help in linea
no, i mie spazi sono a caso dentro al nome del file.
Stň cercando qualcosa per rinominarli?
Riesco a leggere il nome del file carattere per carattere come si fa per il 
contenuto di un file txt?
Ciao e grazie Sabrina 

 Ciao e grazie Sabrina
Utilizza la funzione Replace...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Fatto tutto grazie e alla prossima
Sabrina