Come si fa: convertire file di testo in PDF automaticamente con uno script

Certe volte c’è bisogno di convertire file contenenti solo testo (RTF, HTML, codice di programmazione) in PDF senza bisogno di mantenere la formattazione (titoli, grassetto, ecc.). In questi casi non c’è necessità di copiare manualmente il testo ma basta usare un AppleScript apposito:

Applescript editor

Dopo aver aperto AppleScript Editor copiate questo codice e salvatelo come “Applicazione” (attenzione, non nel formato predefinito “script”):

on open theFiles
set oldTID to AppleScript's text item delimiters
repeat with thisFile in theFiles
-- get file path as posix path
set inputFilePath to POSIX path of thisFile

-- create output path - same name with .pdf extension
set AppleScript's text item delimiters to "."
set outputFilePathBits to text items of inputFilePath
set last text item of outputFilePathBits to "pdf"
set outputFilePath to outputFilePathBits as text

-- create convert command and send to shell
set AppleScript's text item delimiters to " "
set cmdList to {"/System/Library/Printers/Libraries/convert", "-f", quoted form of inputFilePath, "-o", quoted form of outputFilePath}
do shell script (cmdList as text)
end repeat
set AppleScript's text item delimiters to oldTID
end open

(Nota: WordPress non mantiente l’identazione del codice. Dovete aggiungere: uno spazio prima della riga 2, 3, nella terz’ultima e nella penultima; due in tutte le altre, nessuno nella prima e nell’ultima)

D’ora in avanti, per convertire un file di testo basterà spostarlo sull’icona dello script appena creato e verrà convertito in PDF senza passi aggiuntivi.

Rtf articolo

Pdf articolo

Lo script si basa sul comando “convert”, che altro non è che un’interfaccia per la funzione “cupsfilter”. Quest’ultima è molto potente e ben documentata, quindi se qualcuno ha tempo da spenderci può migliorare il codice aggiungendo proprietà senza troppi problemi.

Preferisco questo metodo di conversione rispetto ai vari tool online (una veloce ricerca su Google dà molti risultati) per la sua praticità: non c’è bisogno di attendere in code virtuali, non comporta l’installazioni di applicazioni pesanti per il sistema operativo (lo script pesa poco più di 100KB), salva il PDF risultante nella stessa posizione del documento originario ed è praticamente istantaneo ed esente da errori. Non è uno strumento per persone che hanno bisogno di funzionalità di un certo livello, ma fa il suo lavoro senza troppi problemi.

Soprattutto, la procedura è utile quando ci si trova a che fare con un gran numero di PDF. Copiarne il contenuto o crearne di nuovi a mano (o ancora, convertirli con i tool online) diventerebbe un compito laborioso e ripetitivo, che ben si presta ad una sostituzione automatizzata grazie ad un AppleScript. Ciliegina sulla torta, lo script permette la conversione multipla di vari file, così da ridurre ulteriormente i tempi.

Commenti controllati Oltre a richiedere rispetto ed educazione, vi ricordiamo che tutti i commenti con un link entrano in coda di moderazione e possono passare diverse ore prima che un admin li attivi. Anche i punti senza uno spazio dopo possono essere considerati link causando lo stesso problema.