Buongiorno a tutti,
c'è un programma (gratuito) che permette di convertire in PDF tutti i file presenti in una cartella, con un solo comando?
Buongiorno a tutti,
c'è un programma (gratuito) che permette di convertire in PDF tutti i file presenti in una cartella, con un solo comando?
Se non lo hai già scarica pdfcreator
http://sourceforge.net/projects/pdfcreator/
copia il file pdfcreator.exe nella cartella
C:\WINDOWS\system32
(per velocizzare l'accesso basta che digiti system32 da esegui)
dalle opzioni di pdfcreator, nella sezione salvataggio automatico, spunta "Utilizza salvataggio automatico" e specifichi il percorso in cui vuoi che vengano salvati i pdf generati.
A questo punto in un file di blocco note copi questa stringa
pdfcreator.exe /NoStart /PF"C:\tuo_path_contenente_file_da_convertire\*.* "
Salvalo con estensione bat ed eseguilo.
Nel caso la prima volta ti dovesse comparire una finestrella, spunta o deseleziona (ora non ricordo) la voce di conferma.
P.S. Non so se sia possibile tramite riga di comando specificare il percorso di output dei file pdf generati senza definirlo a priori da interfaccia grafica.
Io consiglio la suite pdf995.
Crea una stampante virtuale in pdf.
E consente anche di proteggere i file pdf da copiatura di testo e stampa.
Unica "tassa" è che per ogni file apre una finestra pubblicitaria nel browser.
http://www.pdf995.com/
Ciao. Personalmente ci avevo perso un pò di tempo, sia leggendo la guida in linea relativa alla riga di comando, che sul forum del sw stesso e non sono riuscito a trovare risposta al tuo quesito. La guida in linea recita testualmente.Originariamente inviato da macsig
Il post e' ababstanza datato ma volendo chiedere esattamente questo, ho pensato di non aprire un altro thread.
Qualcuno sa se e' possibile specificare il percorso di output direttamente nel file batch?
GRAZIE![]()
![]()
![]()
Spero che qualcuno mi smentisca./PF<filename>
Print a file with the standard program linking with the extension of the file. In general, this option is useful in connection with Auto-Save mode. It is not possible to use this parameter in conjunction with the /OF parameter. There is NO space between the parameter and the file name.
Example: pdfcreator.exe /PF"C:\help.doc"
You can also use wildcards to create PDF's of all documents in a specified folder.
Example: pdfcreator.exe /PF"C:\*.doc"![]()
Per rispondere alla tua domanda, potresti impostare il percorso tramite interfaccia grafica ma aggiungere al file batch lo spostamento dei file nella cartella che preferisci, ad esempio la stessa dei file di origine
codice:pdfcreator.exe /NoStart /PF"C:\Documents and Settings\Nicola\Desktop\miei_doc\*.doc" move "C:\Documents and Settings\Nicola\Desktop\cartella_definita_da_gui\*.pdf" "C:\Documents and Settings\Nicola\Desktop\miei_doc"![]()
Purtroppo pdfcreator tramite riga di comando non mi sembra molto flessibile.
Seguendo quanto ti ho già scritto potresti impostare una cartella qualsiasi tramite interfaccia grafica in cui andare a salvare i pdf e, all'interno del file batch, ripetere più volte le due righe che ti ho postato eseguendo la conversione dei singoli file e spostandoli nella cartella che vuoi (quindi generazione, spostamento, generazione, spostamento e così via).
Fai una prova.![]()
Dubito riesca a trovare qualcosa di meglio di pdfcreator per la conversione batch.
Nel frattempo per curiosità ho fatto alcune prove applicando il consiglio che ti avevo dato e ho notato che nello smistamento dei file nelle varie cartelle sorgevano dei problemi. Tramite l'utilizzo di un ping pare tuttavia che funzioni tutto a dovere.
Premetto che l'ho testato su tre sole cartelle di pochi file ciascuna, quindi il consiglio è di fare diverse prove prima di utilizzarlo in ambito lavorativo.codice:pdfcreator.exe /NoStart /PF"C:\Documents and Settings\Nicola\Desktop\miei_doc\laboratorio\*.*" ping 1.1.1.1 -n 1 -w 10000 > NUL move "C:\path_cartella_salvataggio_definita_da_gui\*.pdf" "C:\Documents and Settings\Nicola\Desktop\miei_pdf\laboratorio" pdfcreator.exe /NoStart /PF"C:\Documents and Settings\Nicola\Desktop\miei_doc\interno\*.*" ping 1.1.1.1 -n 1 -w 10000 > NUL move "C:\path_cartella_salvataggio_definita_da_gui\*.pdf" "C:\Documents and Settings\Nicola\Desktop\miei_pdf\interno" pdfcreator.exe /NoStart /PF"C:\Documents and Settings\Nicola\Desktop\miei_doc\magazzino\*.*" ping 1.1.1.1 -n 1 -w 10000 > NUL move "C:\path_cartella_salvataggio_definita_da_gui\*.pdf" "C:\Documents and Settings\Nicola\Desktop\miei_pdf\magazzino"![]()
ciao, mi unisco alla discussione per un problema simile.![]()
devo creare i pdf di tantissimi file doc. questi file però si trovano sparsi all'interno di tante sottodirectory e pdfcreator crea i file solo di quella specifica cartella. io dovrei generare i pdf di tutti i doc presenti e sistemare ciascun pdf nella cartella o sottocartella corrispondente a quella in cui si trova il file di word. grazie a tutti.
Per esperienza diretta ti dico che lanciare istanze multiple di pdfcreator per ciclare cartelle annidate è una follia. Anche su pc potenti l'utilizzo della cpu schizza al 100% ed è probabile che dei file non vengano processati. L'unica soluzione possibile consiste nello spostare tutti i file all'interno della stessa cartella ed elaborarli solo allora.
Ti posto uno scriptino in powershell che avevo fatto per esigenze mie e che ho adattato al tuo contesto.
Una volta che è stata conclusa la generazione dei pdf esegui la parte finale dello script.codice:# specifico il path della cartella superiore contenente tutti i file doc set-Location "C:\tuo_path\cartella_origine_doc" # poichè li dovrò tutti spostare nella stessa cartella per elaborarli # è necessario che abbiano tutti un nome univoco e per far ciò antepongo al nome un numero progressivo e il carattere "#" $i = 1 get-ChildItem -recurse -filter *.doc | % { rename-Item $_.fullname -newname ($i.ToString()+"#"+$_.name) $i++ } # nella cartella definita tramite la gui di pdfcreator in cui andranno i pdf generati creo un file di testo contenente il path completo (esclusa l'estensione) di tutti i file # tale txt mi servirà per rimettere i file nelle giuste cartelle originali get-ChildItem -recurse -filter *.doc | select-Object @{name="Percorso"; Expression={ ($_.directoryname+"\"+[IO.Path]::GetFileNameWithoutExtension($_.fullname)) } } | format-Table Percorso -hidetableheaders | out-string -stream | ? {$_} | out-File "C:\tuo_path\cartella_destinazione_pdf\elenco.txt" #... adesso posso spostare i doc nella stessa cartella in cui andranno i pdf elaborati get-ChildItem -recurse -filter *.doc | % {move-Item -literalpath $_.fullname -destination "C:\tuo_path\cartella_destinazione_pdf\"} # genero i pdf set-Location "C:\tuo_path\cartella_destinazione_pdf" pdfcreator.exe /nostart /pf"*.doc"
Ovviamente devi aver copiato il file pdfcreator.exe in system32 e dalla gui di pdfcreator aver impostato l'assegnazione al file pdf dello stesso nome del file originale (a parte l'estensionecodice:# mi posiziono nella cartella che adesso contiene i pdf, i doc e il file di testo coi percorsi set-location "C:\tuo_path\cartella_destinazione_pdf" # assegno a una variabile il contenuto del file di testo $txt = gc elenco.txt # ciclo il file riga per riga foreach($linea in $txt) { # assegno a una variabile il nome del file $file = ([system.IO.Path]::getfilename($linea)).trim() # assegno a una variabile il percorso del file $folder = [system.IO.Path]::getdirectoryname($linea) # tramite il carattere jolly recupero sia il doc che il pdf e li rimetto nella cartella originale Get-ChildItem $file* | move-Item -destination $folder } # mi posiziono alla radice della cartella originale set-location "C:\tuo_path\cartella_origine_doc" # .. e infine con una semplice espressione regolare rimuovo le cifre e il # iniziali sia dai doc che dai pdf per ridare ai file il nome di partenza gci -recurse -include *.doc,*.pdf | % {rename-Item $_.fullname -newname ($_.name -replace "^\d+#","")})
Fammi sapere.![]()