Benutzer-Werkzeuge

Webseiten-Werkzeuge


mergepdf
mergePDF.desktop
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/pdf;
Actions=merge4pdf;
Encoding=UTF-8 
X-KDE-Priority=TopLevel 
 
[Desktop Action merge4pdf]
Name=PDF Dateien zusammenhängen
Icon=application-pdf
Terminal=true
Exec=/usr/bin/uxterm -e "/usr/local/scripts/merge4pdf.sh %U"
</code
 
<code bash merge4pdf.sh>
#!/bin/bash
#
ALL_PDF="$@"
COUNT_PDF="$#"
COUNTER=0
FILE_LIST=`echo ${ALL_PDF// \//;\/}`
FILE_POSTFIX="merged_at"
FILE_TIMESTAMP=`date '+%H:%M:%S'`
 
if [ "$COUNT_PDF" -lt 2 ]
	then
	echo "Achtung mindestens zwei PDF-Dateien markieren zum zusammenfuegen"
	echo ""
	echo " $FILE_LIST"
	echo ""
	echo ""
	echo "Fenster bitte schließen mit Taste RETURN"
	read RET
	exit 1
fi
 
echo "Die markierten PDF-Dateien..."
echo ""
 
IFS=";"
for NAME in $FILE_LIST
	do
	echo " $NAME"
	FILE=`basename $NAME`
	FILE_PRAEFIX=`echo $FILE | cut -d"." -f1`
 
	if [ $COUNTER -eq 0 ]
		then
		DIRNAME=`dirname $NAME`
		MERGE_PDF=$FILE_PRAEFIX
	elif [ $COUNTER -eq 1 ]
		then
		MERGE_PDF=$MERGE_PDF"_"$FILE_POSTFIX"_"$FILE_TIMESTAMP
	fi
	COUNTER=`expr $COUNTER + 1`
done
 
NO_BLANKS=`echo $MERGE_PDF | tr -d [:blank:]`
MERGE_PDF=$NO_BLANKS".pdf"
 
# Einen komletten String für die Verarbeitung mit pdftk erstellen
# IFS muss temp. gesetzt werden, ansnsten erzeugen Dateinamen mit
# Blanks Fehlermeldungen beim pdftk Kommando
COUNTER=0
IFS=";"
for STRING in $FILE_LIST
	do
	if [ $COUNTER -eq 0 ]
		then
		ONE_NAME_STRING=$STRING
	elif [ $COUNTER -gt 0 ]
		then
		ONE_NAME_STRING="$ONE_NAME_STRING;$STRING"
	fi
	COUNTER=`expr $COUNTER + 1`
done
 
#pdftk $ONE_NAME_STRING cat output $DIRNAME/$MERGE_PDF
pdfunite $ONE_NAME_STRING $DIRNAME/$MERGE_PDF
 
echo ""
echo "...werden zu einem Dokument zusammengefügt"
echo ""
 
echo " $DIRNAME/$MERGE_PDF"
echo ""
echo ""
echo "Fenster bitte schließen mit Taste RETURN"
read RET
#EOF
mergepdf.txt · Zuletzt geändert: 2020/01/28 18:36 von dwadmin