Hallo Community,
ich habe vor einigen Jahre mal ein kleines Bash-Script gebastelt, das Folgendes tat: Ein Ordner, der Schülerlösungen in verschiedensten Formaten (PDF oder auch Grafik-Formate aller Art) enthält, wird eingelesen. Die Bilder werden mit feh geöffnet, damit ich sie händisch durchgehen und die Orientierung anpassen kann, für den Fall dass ein Bild mal auf der Seite oder auf dem Kopf steht. Dann werden die Bilder zu PDF-Dateien zusammengefügt. Als Zwischenergebnis gibt es dann PDF-Dateien, deren Seiten schon die gewünschte Orientierung haben.
Dann nutze ich Ghostscript, um alle Seiten auf eine gemeinsame Breite und Auflösung zu bringen, damit ich danach mit einem Annotationsprogramm (Xournal++) in sie reinschreiben kann. Die gemeinsame Breite und Auflösung ist wichtig, da sonst beim Beschriften die Stiftdicke bei hochauflösenden Dateien viel kleiner aussieht, als bei niedrigauflösenden.
Das hat vor einigen Jahren auch super funktioniert. Aber nun habe ich das alte Skript wieder nutzen wollen und habe folgendes Problem damit: GhostScript verändert nun nicht nur die Größe und Auflösung der PDF-Seiten sondern auch ihre Orientierung, sodass bei manchen Dateien nun alles auf der Seite liegt. Ich konnte das Problem auf die Option "-dPDFFitPage" eingrenzen. Ohne diese Option wird die Orientierung nicht angetastet, aber leider auch die Anpassungen von Breite und Auflösung nicht vorgenommen, sodass ich in Xournal++ super dünn schreibe.
So sieht das Skript insgesamt aus (relevant ist Zeile 24 mit dem "gs" Aufruf):
Ich habe es schon mit "-dAutoRotatePages=/None" versucht, aber leider ohne Erfolg. Und nun weiß ich nicht weiter...
Danke für alle Tipps!
Viele Grüße
Photon
ich habe vor einigen Jahre mal ein kleines Bash-Script gebastelt, das Folgendes tat: Ein Ordner, der Schülerlösungen in verschiedensten Formaten (PDF oder auch Grafik-Formate aller Art) enthält, wird eingelesen. Die Bilder werden mit feh geöffnet, damit ich sie händisch durchgehen und die Orientierung anpassen kann, für den Fall dass ein Bild mal auf der Seite oder auf dem Kopf steht. Dann werden die Bilder zu PDF-Dateien zusammengefügt. Als Zwischenergebnis gibt es dann PDF-Dateien, deren Seiten schon die gewünschte Orientierung haben.
Dann nutze ich Ghostscript, um alle Seiten auf eine gemeinsame Breite und Auflösung zu bringen, damit ich danach mit einem Annotationsprogramm (Xournal++) in sie reinschreiben kann. Die gemeinsame Breite und Auflösung ist wichtig, da sonst beim Beschriften die Stiftdicke bei hochauflösenden Dateien viel kleiner aussieht, als bei niedrigauflösenden.
Das hat vor einigen Jahren auch super funktioniert. Aber nun habe ich das alte Skript wieder nutzen wollen und habe folgendes Problem damit: GhostScript verändert nun nicht nur die Größe und Auflösung der PDF-Seiten sondern auch ihre Orientierung, sodass bei manchen Dateien nun alles auf der Seite liegt. Ich konnte das Problem auf die Option "-dPDFFitPage" eingrenzen. Ohne diese Option wird die Orientierung nicht angetastet, aber leider auch die Anpassungen von Breite und Auflösung nicht vorgenommen, sodass ich in Xournal++ super dünn schreibe.
So sieht das Skript insgesamt aus (relevant ist Zeile 24 mit dem "gs" Aufruf):
Code:
#!/bin/bash
SCREENWIDTH=1920
SCREENHEIGHT=1050
feh --recursive --edit --scale-down --auto-zoom --auto-rotate --geometry ${SCREENWIDTH}x${SCREENHEIGHT} "$1"
cd "$1"
for FOLDER in "$1"/*/; do
cd "$FOLDER"
NAME=$(basename "$FOLDER" | cut -f1 -d "_")
if [[ $(ls) == *"pdf"* ]]; then
pdfunite *.pdf ../tmp.pdf
else
for filename in ./*; do
exiv2 rm "filename"
done
convert * ../tmp.pdf
fi
gs -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dDEVICEWIDTHPOINTS=${SCREENWIDTH} -dCompatibilityLevel=1.4 -dDownsampleColorImages=true -dColorImageResolution=150 -dPDFFitPage -dNOPAUSE -dQUIET -dBATCH -sOutputFile=../"$NAME".pdf ../tmp.pdf
rm -r "$FOLDER"
done
rm ../tmp.pdf
Ich habe es schon mit "-dAutoRotatePages=/None" versucht, aber leider ohne Erfolg. Und nun weiß ich nicht weiter...
Danke für alle Tipps!
Viele Grüße
Photon