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 19:36 von dwadmin