Para que los profesores puedan firmar los horarios de la PGA digitalmente se han de hacer una serie de pasos.
Primero descargar la PGA de ITACA3 gestión Administrativa menú "Procedimientos - PGA - Listados"
Descargar el PDF "Datos de inicio de curso"
Se llama Datos de inicio de curso.pdf y en ese PDF está todo. Lo primero es identificar entre qué páginas están los horarios. Una vez encontrados extraemos un PDF nuevo solo con esas páginas usando alguna herramienta on-line. Yo he usado https://www.ilovepdf.com/
Esta parte se podría hacer también junto a la siguiente, pero así creo que se simplifica. Guarda el pdf con un nombre sencillo, por ejemplo horariospga.pdf
Una vez tenemos un PDF solo con los horarios vamos a separar cada uno de ellos. Yo he usado la herramienta https://smallpdf.com/es/dividir-pdf
Esta te permite indicar de forma gráfica las páginas que separas de forma bastante rápida.
Cuando termines tendrás un fichero por cada horario que se llamarán "horario-1.pdf , horario-2.pdf.. hasta "horario-175.pdf", por ejemplo. Cambia el nombre a cada uno para que el número de cifras al final sea el mismo y al ordenar por nombre estén en el orden correcto. Esto es muy importante para el siguiente paso.
Ahora hemos de conseguir un fichero .csv que contenga el nombre de todos los profes que hay en la PGA. Los puedes obtener del fichero "Datos de inicio de curso.pdf". Dentro del fichero busca la sección "PROFESSORS DEL CENTRE AMB FUNCIÓ DOCENT". Ahí estan todos los profes que están en la PGA (y por tanto, que tienen horario) agrupados por departamento. Extrae otro PDF con todas las páginas de dicha sección. Después usa https://www.ilovepdf.com/es/pdf_a_excel para convertirlo a Excel. Cuando lo tengas crea una tabla solo con los profes, quitando encabezados. Y luego creas un .csv solo con la columna del nombre de los profesores. Añade como encabezado a esa columna "Nombre".
Guarda ese archivo con los nombres de los profes en la misma carpeta que los PDF y con nombre "profes.csv"
Ahora crea en la misma carpeta un fichero de nombre renombrar_pdf.ps1 con el siguiente contenido:
# Ruta del archivo CSV (relativa al directorio del script)
$csvPath = "$PSScriptRoot\profes.csv"
# Directorio que contiene los archivos PDF (relativa al directorio del script)
$directoryPath = $PSScriptRoot
# Lee el archivo CSV
$names = Import-Csv -Path $csvPath | Select-Object -ExpandProperty Nombre
# Enumera los archivos PDF en el directorio
$pdfFiles = Get-ChildItem -Path $directoryPath -Filter "*.pdf" | Sort-Object Name
# Verifica si el número de nombres coincide con el número de archivos PDF
if ($names.Count -ne $pdfFiles.Count) {
Write-Output "El número de nombres en el CSV no coincide con el número de archivos PDF en el directorio."
exit
}
# Renombra los archivos PDF con los nombres del CSV
for ($i = 0; $i -lt $names.Count; $i++) {
#for ($i = 0; $i -lt 2; $i++) {
$newName = "$directoryPath\$($names[$i]).pdf"
Rename-Item -Path $pdfFiles[$i].FullName -NewName $newName
Write-Output "Renombrado: $($pdfFiles[$i].Name) a $newName"
}
No hay comentarios:
Publicar un comentario