forked from SiddharthPant/booky
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbooky.sh
executable file
·34 lines (25 loc) · 898 Bytes
/
booky.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash
# Change to the directory of pdf file
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd $(dirname "$1")
pdf=$(basename "$1")
pdf_data="${pdf%.*}""_data.txt"
EXTRACT_FILE=booky_bookmarks_extract
bkFile="$2"
if [[ "$OSTYPE" == "darwin"* ]]; then
SED=gsed
else
SED=sed
fi
echo "Converting $bkFile to pdftk compatible format..."
python3 $SCRIPT_DIR/booky.py < "$bkFile" > "$EXTRACT_FILE"
echo "Dumping pdf meta data..."
pdftk "$pdf" dump_data_utf8 output "$pdf_data"
echo "Clear dumped data of any previous bookmarks..."
$SED -i '/Bookmark/d' "$pdf_data"
echo "Inserting your bookmarks in the data..."
$SED -i "/NumberOfPages/r $EXTRACT_FILE" "$pdf_data"
echo "Creating new pdf with your bookmarks..."
pdftk "$pdf" update_info_utf8 "$pdf_data" output "${pdf%.*}""_bookmarked.pdf"
echo "Deleting leftovers..."
rm "$EXTRACT_FILE" "$pdf_data"