Automatizzare la Generazione di PDF da XML coi fogli di stile XSL su Linux: Potenza e Flessibilità

Описание к видео Automatizzare la Generazione di PDF da XML coi fogli di stile XSL su Linux: Potenza e Flessibilità

In questo video ti mostro come utilizzare la potenza di Linux per trasformare file XML in PDF con l'aiuto di fogli di stile XSLT. Attraverso uno script bash, spiegherò passo dopo passo come automatizzare il processo, selezionare i fogli di stile, gestire directory dinamiche e creare file PDF con layout professionale su formato A4.

Scoprirai quanto Linux sia un sistema operativo flessibile e adatto ad automatizzare attività complesse in modo elegante ed efficace. Un esempio perfetto di come un sistema open source possa semplificare e migliorare flussi di lavoro aziendali o personali.

Cosa vedrai nel video:

Come configurare lo script bash per trasformare XML con XSLT.
Selezione dinamica dei fogli di stile (XSL).
Generazione di PDF suddivisi in più pagine per documenti lunghi.
Esempi pratici di utilizzo e gestione delle directory.

Vanno installati tramite Yast i seguenti file:
xlstproc (serve per trasformare XML con un maschera XSL in HTML)
wkhtmltopdf (serve per trasformare un file HTML in file PDF)

Se ami Linux e vuoi scoprire nuove opportunità per migliorare la produttività, questo video fa per te!

il file bash:
#!/bin/bash

Percorso fisso dei fogli di stile
STILE_DIR="/home/UTENTE/.wine/drive_c/Gestionale_Open/Files/Programma_GO/exe"
FOGLI_DI_STILE=("FoglioStile.xsl" "FoglioStileAssoSoftware.xsl" "FoglioStilePrivati.xsl" "FoglioStilePA.xsl")

Directory di destinazione predefinita per i PDF
DESTINAZIONE_DEFAULT="/home/UTENTE/.wine/drive_c/Gestionale_Open/Files/Programma_GO/documenti_TEX9/Fatture_elettroniche_2024"

Funzione per selezionare un foglio di stile
seleziona_foglio_stile() {
echo "Seleziona il foglio di stile:"
for i in "${!FOGLI_DI_STILE[@]}"; do
echo "$((i+1))) ${FOGLI_DI_STILE[$i]}"
done

read -p "Inserisci il numero del foglio di stile: " scelta
if [[ $scelta -ge 1 && $scelta -le ${#FOGLI_DI_STILE[@]} ]]; then
FOGLIO="${FOGLI_DI_STILE[$((scelta-1))]}"
echo "Hai selezionato: $FOGLIO"
else
echo "Scelta non valida. Esci."
exit 1
fi
}

Funzione principale
main() {
Selezione del foglio di stile
seleziona_foglio_stile

Richiesta della directory dei dati
read -p "Inserisci la directory dei file XML: " DATI_DIR
if [[ ! -d "$DATI_DIR" ]]; then
echo "La directory specificata non esiste. Esci."
exit 1
fi

Richiesta della directory di destinazione
echo "Vuoi salvare i PDF nella directory dei dati ($DATI_DIR) o nella destinazione predefinita ($DESTINAZIONE_DEFAULT)?"
echo "1) Directory dei dati"
echo "2) Destinazione predefinita"
read -p "Inserisci 1 o 2: " scelta_destinazione
if [[ $scelta_destinazione == "1" ]]; then
DESTINAZIONE="$DATI_DIR"
elif [[ $scelta_destinazione == "2" ]]; then
DESTINAZIONE="$DESTINAZIONE_DEFAULT"
else
echo "Scelta non valida. Esci."
exit 1
fi

Creazione della directory di destinazione se non esiste
mkdir -p "$DESTINAZIONE"

Trasformazione di ogni file XML in PDF
for file_xml in "$DATI_DIR"/*.xml; do
if [[ -f "$file_xml" ]]; then
nome_file=$(basename "$file_xml" .xml)
output_pdf="$DESTINAZIONE/$nome_file.pdf"
xsltproc "$STILE_DIR/$FOGLIO" "$file_xml" | \
wkhtmltopdf - "$output_pdf"
echo "Generato PDF: $output_pdf"
fi
done

echo "Tutti i file sono stati processati."
}

Esecuzione dello script
main
---fine file bash ---
per "UTENTE" = mettete il vostro

Ah, ho corretto la scritta sul lanciatore fatto sul desktop, devo cambiare la tastiera, che ha diversi tasti che non funzionano più benissimo...😢
#Linux #XML #XSL #Automazione #PDF #ScriptBash #LinuxPower #OpenSource #FogliDiStile #AutomazioneLinux #ScriptingLinux #TechTutorial #Produttività #contabilità

Комментарии

Информация по комментариям в разработке