[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Erzeugen von durchsuchbaren PDF Dokumenten



Für das Archiv:

ich habe mir eine Lösung gescriptet. Diese ist noch nicht ganz ausgereift und fertig aber für den Anfang...

Vielleicht ist es für den einen oder anderen von Nutzen. Allerdings ist es nicht allgemeingültig und nicht kommentiert. Anpassungen an die eingenen Vorgaben sind nötig!

Viel Spass damit und wenn ihr fragen habt, gerne doch.
Frank



-- Datei pdfmacher.sh --
#!/bin/bash

workdir=/tmp
scanmode="Black & White"
resolution=300
def_speicherort=/home/telnix/public/DMS
titel="PDF-Macher"
metadatafile="metadata.cfg"


fname=`kdialog --title $titel --inputbox "Dateinamen eingeben" ""`
if [ $? -eq 1 ] ; then exit 3 ; fi


speicherort=`kdialog --title $titel --getexistingdirectory $def_speicherort`
if [ $? -eq 1 ] ; then exit 3 ; fi


authordef=`grep "#author#" "$speicherort/$metadatafile" |cut -f 2 -d "="|sed 's/"//g'|iconv -f utf-8 -t iso-8859-15` titledef=`grep "#title#" "$speicherort/$metadatafile" |cut -f 2 -d "="|sed 's/"//g'|iconv -f utf-8 -t iso-8859-15` subjectdef=`grep "#subject#" "$speicherort/$metadatafile" |cut -f 2 -d "="|sed 's/"//g'|iconv -f utf-8 -t iso-8859-15` keywordsdef=`grep "#keywords#" "$speicherort/$metadatafile" |cut -f 2 -d "="|sed 's/"//g'|iconv -f utf-8 -t iso-8859-15`
	
author=$(kdialog --title $titel --inputbox "Autor eingeben" "$authordef")
title=$(kdialog --title $titel --inputbox "Titel eingeben" "$titledef")
subject=$(kdialog --title $titel --inputbox "Betreff eingeben" "$subjectdef") keywords=$(kdialog --title $titel --inputbox "Schlüsselworte eingeben" "$keywordsdef")



seite=1
kdialog --yesno "Fertig zum Scannen?"
until [ $? = 1 ]; do
	if [ $seite -lt 10 ]; then
		ii="0$seite";
	else
		ii="$seite";
	fi
	kdialog --passivepopup "Scanne Seite $seite" 15 &
scanimage --mode="$scanmode" --format=tiff --resolution=$resolution > scan$ii.tif
	seite=$[seite+1]
	kdialog --yesno "Noch eine Seite?"
done

seite=$[seite-1]

for i in `seq 1 $seite`; do
	if [ $i -lt 10 ] ; then
		ii="0$i"
	else
		ii="$i"
	fi
	kdialog --passivepopup "Analysiere Seite $i" 2 &
	tesseract scan$ii.tif scan$ii -l de
	utrac -f utf-8 -t iso-8859-15 scan$ii.txt >scan$ii_conv.txt
done

kdialog --passivepopup "Erstelle PDF" 5 &
tiffcp scan*.tif output.tif
if [ $? -eq 0 ]; then
	for i in scan*.txt; do
		cat $i>>keywords.txt
	done

tiff2pdf output.tif -o output.pdf -k "`cat scan.txt`" -a "$author" -t "$title" -s "$subject"
	if [ $? -eq 0 ] ; then
		mv output.pdf "$fname.pdf"
#		rm keywords.txt
#		rm output.tif
#		rm scan*.tif
#		rm scan*.txt
	fi
fi

-- Datei metadata.cfg --
-- In jedem Ordner in dem ich PDFs ablege ist eine solche Datei. Darin
-- werden die Metadaten als Vorgabe abgespeichert
#author#=
#title#=
#subject#=
#keywords#=


--
Frank Becker


Reply to: