Seringkali membosankan untuk menambahkan meta-info yang tepat ke PDF. Saya sendiri menyortir PDF yang diunduh dari akun langganan Heise IX saya ke perpustakaan Calibre pribadi saya.
Karena proses ini berulang setiap bulan, saya telah membuat pengaturan berikut ini. Saya hanya menyeret PDF baru saya ke perpustakaan saya.
Saya telah membuat container yang mendapatkan pustaka Calibre saya sebagai volume (-v …:/books). Dalam container ini saya telah menginstal paket-paket berikut:
$ apt-get update && apt-get install -y xpdf calibre
#!/bin/bash
export LANG=C.UTF-8
mkdir /tmp/worker1/
find /books/ -type f -iname '*.pdf' -newermt 20201201 -print0 |
while IFS= read -r -d '' line; do
calibreID=$(echo "$line" | sed -r 's/.*\(([0-9]+)\).*/\1/g')
echo "bearbeite $clearName"
echo "id $calibreID";
cp "$line" /tmp/worker1/test.pdf
echo "ocr "
pdftotext -f 0 -l 5 /tmp/worker1/test.pdf /tmp/worker1/tmp.txt
echo "text aufbereitung"
cat /tmp/worker1/tmp.txt | grep -i -F -w -v -f /books/blacklist.txt | sed -r s/[^a-zA-ZäöüÄÖÜ]+//g | grep -iE '[A-Za-z]{2,212}' | sed ':begin;$!N;s/\n/,/;tbegin' > /tmp/worker1/final.txt
calibredb set_metadata --with-library /books/ --field cover:"cover.jpg" --field tags:"$(cat /tmp/worker1/final.txt) " --field series:"Heise IX" --field languages:"Deutsch" --field authors:"Heise Verkag" $calibreID
rm /tmp/worker1/*
done
Dengan perintah “calibredb set_metadata”, saya menetapkan segala sesuatu yang lain sebagai tag. Hasilnya terlihat seperti ini:
Skrip ini juga tersedia di Github: https://github.com/ChristianKnedel/heise-ix-reader-for-calibre .