So I've spent the last semester using KNote to take my lecture notes, and I've been pretty happy with it. There are some features (like selection tools) that could be there and aren't, but that's not a big problem.
When I started using my notes to study for the exams, though, I noticed that the way the notes are exported is less than ideal. Although they are exported as PDF, the writing is not vectorised, and zooming a bit on the notes is enough to see the jagging and pixelization on the writing. Moreover, I think the guidelines behind the writing just add to the clutter, and there's no option to export the notes without the guidelines (except of just removing them before exporting)
I eventually found a way to work around this that I would like to share, and it is very simple. Using
imagemagick one can remove the background and convert the PDF file to a set of bitmap files. The output (which is just black and white) can then be fed into
potrace to vectorise the handwriting. Both programs are open-source. An early bash script for this would be along the lines of:
Code:
#!/usr/bin/env bash
FULL_EXT=${1?Error: no name given}
NAME_EXT=$(basename $FULL_EXT)
FULL_NOEXT=${FULL_EXT%.pdf}
NAME_NOEXT=${NAME_EXT%.pdf}
mkdir ~/tmp
convert ${FULL_EXT} -fill white +opaque "#000000" -background white -alpha remove ~/tmp/${NAME_NOEXT}.bmp
a="potrace -b pdf "
for entry in ~/tmp/*
do
a+=$entry\
done
a+="-o ${FULL_NOEXT}.pdf"
$a
rm -r ~/tmp
And the result:
Detail comparison:
One could then construct a routine where the notes are synced from the KNote app to e.g. Dropbox, Dropbox syncs the files to a local folder on the computer, and then a script that monitors the folder for new versions of the files processes the files in the above way. So every time the notes are opened in the computer they would already be automatically processed.
EDIT: I forgot to say that, due to vectorisation, one can indefinitely zoom in the notes without loss of resolution.