Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

GS-PDFs in SW-PDFs konvertieren

0 views
Skip to first unread message

Markus Gail

unread,
Apr 19, 2023, 8:02:51 AM4/19/23
to
Hallo!

Ich habe größere Mengen an eingelesenen Akten und andere Unterlagen, die als
Graustufen-PDFs in 600 dpi vorliegen.

Es ist zwar meist DIN A4, aber die Seitengröße variiert mitunter, selbst
innerhalb des PDFs. Es kann vorkommen, daß innerhalb einer Akte eine Seite
in einem Überformat jenseits von DIN A0 auftaucht oder auch einige Seiten in
ca. DIN A6 auftauchen. Diese Größe sollte möglichst erhalten bleiben, es
wäre jedoch zu verschmerzen, wenn alles auf A4 aufgezogen oder verkleinert
würde.

Diese Dateien verbrauchen eine beträchtliche Menge Speicherplatz, und die
Durchsicht auf dem iPad ist nervig, weil es eine kleine, jedoch spürbare
Verzögerung beim Blättern und der Darstellung gibt. Außerdem ist das
Schrifbild nicht so knackig scharf wie die direkt als SW eingelesenen
Unterlagen.

Ich würde die Unterlagen gerne in SW-PDFs in 600 dpi konvertieren.

Unten mein bisheriges Gehacktes. Das Resultat ist leider grauenvoll und
unbrauchbar.

Es sieht aus wie eine 30-dpi-Bitmap, die nicht die ganze Seite einnimmt,
sondern die Eingabegröße links unten auf DIN A4 montiert, außerdem werden
die temporären Dateien riesig, ca. ein GB pro Seite, die
Verarbeitungsgeschwindigkeit ist zum Dahinwelken.

Abgesehen davon kann ich keine SW-Umwandlung im Raster- oder Streuverfahren
gebrauchen, stattdessen sollte ab einem Grenzwert von z. B. 50 % sollte ein
Bildpunkt als Schwarz umgesetzt werden.

Wie könnte man das unten angeführte Shell-Script umstricken?

Wenn jemandem eine andere Lösung einfällt (ich hätte noch Adobe Acrobat),
wäre ich auch dafür offen.

Vielen Dank für alle Hinweise!

Gruß
M.

P. S.: Antwortumleitung gesetzt, bitte ggf. ändern.


#!/bin/bash
#cd ~
#cd ./pdfbwconversion

#mkdir ./_tmp/
#cd ./\_tmp/

num_pages=$1
input_pdf_name=$2
output_pdf_name="$2-output.pdf"
bw_threshold=40%
dpi_res=75
#-------------------------------------------------------------------------
gs -sDEVICE=bmpgray -dNOPAUSE -dBATCH -q -r$dpi_res -sOutputFile=./%d.bmp
./$input_pdf_name
#-------------------------------------------------------------------------
for file_num in `seq 1 $num_pages`
do
convert ./$file_num.bmp -threshold $bw_threshold ./$file_num.tif
echo "$file_num.tif erzeugt"
gs -sDEVICE=pdfwrite -dSAFER -o ./$file_num.pdf ./$file_num.tif
echo "$file_num.pdf erzeugt"
done
#-------------------------------------------------------------------------

for file_num in `seq 1 $num_pages`
do
rm ./$file_num.bmp
done

input_files=""

for file_num in `seq 1 $num_pages`
do
input_files+="$file_num.tif,"
done

# img2pdf -o ./$output_pdf_name $input_files
echo "TIFF-Dateien in PDF zusammenführen ..."

convert -page A4 -colors 2 -density "$dpi_res" {$input_files} -colors 2
-verbose -print "Vorgang abgeschlossen \nFertige PDF-Datei schreiben ... \n"
"$output_pdf_name"

#-------------------------------------------------------------------------
# clean up bmp and tif files used in conversion

for file_num in `seq 1 $num_pages`
do
rm ./$file_num.tif
done
0 new messages