Der große LectureNotes-Thread

  • 1.857 Antworten
  • Letztes Antwortdatum
Da ich auf Linux umgestiegen bin, habe ich mein Batch-Skript (https://www.android-hilfe.de/forum/...notes-thread.344035-page-34.html#post-7547459) zum erstellen LN-Notizbüchern am PC in Bash-Script umgeschrieben und ein paar Optionen hinzugefügt.

Einfach hier runter laden
https://app.box.com/s/774dkdf0xb7nco0jzc4u

dann folgendes ausführen
Code:
sudo chmod +x toln
sudo mv toln /usr/local/bin/
fertig

dann kann man überall im terminal
Code:
toln -h
für die Hilfe eingeben

Es werden folgende Pakete benötigt
1. mudf-tools (pdf -> png)
2. poppler-utils (pdfinfo und pdf->txt)
3. imagemagick (bestimmen von Auflösung der PNGs)
4. zip (ZIP-Archiv erstellen)


Wer will kann auch hier den Code kopieren
Code:
#!/bin/bash
# ----- variables default---------------------------------
text=true;
dpi=200
resw=3650
resh=3650
opath="$(pwd)/"
# -------------------------------------------------------


if ! $(command -v mudraw >/dev/null 2>&1 ); then
    echo $(basename $0) require mudraw
    echo to install mudraw run \"sudo apt-get install mupdf-tools\"
    exit 2
fi
if ! $(command -v pdfinfo >/dev/null 2>&1 ); then
    echo $(basename $0) require pdfinfo
    echo to install pdfinfo run \"sudo apt-get install poppler-utils\"
    exit 2
fi
if ! $(command -v pdftotext >/dev/null 2>&1 ); then
    echo $(basename $0) require dftotext
    echo to install pdftotext run \"sudo apt-get install poppler-utils\"
    exit 2
fi
if ! $(command -v identify >/dev/null 2>&1 ); then
    echo $(basename $0) require identify
    echo to install identify run \"sudo apt-get install imagemagick\"
    exit 2
fi
if ! $(command -v zip >/dev/null 2>&1 ); then
    echo $(basename $0) require zip
    echo to install zip run \"sudo apt-get install zip\"
    exit 2
fi



# ----- subfunctions ------------------------------

phelp(){
echo -e "help for script $0"
echo -e "usage: $0 [options] <file|folder>"
echo -e " file: is a pdf file"
echo -e " folder: is a folder with several pdf files"
echo
echo -e " -h\t\tshow help"
echo -e " -t\t\tsave text in the text layer"
echo -e " -r <int>x<int>\tWxH: W is max width in px, H is max hight in px"
echo -e "\t\tdefault is 3650x3650 (max for LN)"
echo -e "\t\tthis make only sense if size with -r is larger"
echo -e " -d <int>\tdensity dpi"
echo -e "\t\tdefault is 200"
echo -e " -p <str>\tpath fot output zip-file"
echo -e "\t\tdefault is current path"
echo

exit 0
}
lnconvert(){
    pdf=$(basename "$*")
    pdfname=$folder/${pdf%%.*}

    mkdir /tmp/ln/"$pdfname"
    cpdf=$(echo "$*" | tr -s "/")
    echo
    echo " converting $cpdf"

    mudraw -i -r $dpi -w $resw -h $resh -o /tmp/ln/"$pdfname"/page%d.png "$cpdf" 2>/dev/null

    echo " done"
    tmpfolder=$(echo "/tmp/ln/$pdfname/" | tr -s "/")
    w=$(identify -format "%[fx:w]" /tmp/ln/"$pdfname"/page1.png)
    h=$(identify -format "%[fx:h]" /tmp/ln/"$pdfname"/page1.png)
    if $text ; then getText "$cpdf"; fi
    createxml $pfad
}

getText(){
    echo
    echo " extract text ..."
    npages=$(pdfinfo "$cpdf" | grep -i pages |  grep -o '[0-9]\+$')
    
    for i in $(seq 1 $npages); do
        pdftotext -nopgbrk -layout -f $i -l $i "$cpdf" /tmp/ln/"$pdfname"/text$i.txt
    done

    echo " done"
}


createxml(){
    UUID=$(cat /proc/sys/kernel/random/uuid)
    echo
    echo " creating xml"
    echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" >/tmp/ln/"$pdfname"/notebook.xml
    echo "<!-- do not alter this file! -->" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<lecturenotes>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<paperwidth>"$w"</paperwidth>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<paperheight>"$h"</paperheight>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<paperpattern>2</paperpattern>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<paperscale>0.375</paperscale>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<paperfit>2</paperfit>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<paperzoom>1.0</paperzoom>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<papercolor>16777215</papercolor>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<patterncolor>12632319</patterncolor>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<covercolor>16711709</covercolor>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<coverstyle>0</coverstyle>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<pageinfocus>1</pageinfocus>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<layers>1</layers>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<layerinfocus>1</layerinfocus>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<textlayer>1</textlayer>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<textlayersettings>0</textlayersettings>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<uuid>"$UUID"</uuid>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "<creationdate>1392218352160</creationdate>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo "</lecturenotes>" >>/tmp/ln/"$pdfname"/notebook.xml
    echo " done"

}

createxmlf(){
        echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" > /tmp/ln/"$zipname"/folder.xml
        echo "<!-- do not alter this file! -->" >> /tmp/ln/"$zipname"/folder.xml
        echo "<lecturenotes>" >>/tmp/ln/"$zipname"/folder.xml
        echo "<covercolor>16711709</covercolor>" >> /tmp/ln/"$zipname"/folder.xml
        echo "<isopen>1</isopen>" >> /tmp/ln/"$zipname"/folder.xml
        echo "<coverstyle>0</coverstyle>" >> /tmp/ln/"$zipname"/folder.xml
        echo "<creationdate>1392218352160</creationdate>" >> /tmp/ln/"$zipname"/folder.xml
        echo "</lecturenotes>" >> /tmp/ln/"$zipname"/folder.xml
}

createzip(){
    echo
    echo " creating zip"
    pushd /tmp/ln >> /dev/null
    zip -rmq "$opath""$zipname" "$zipname"
    popd >> /dev/null
    echo " done"
}

cleanup(){
    echo
    echo " cleanup"
    rm -R /tmp/ln
    echo " done"
}
# -------- end subfunctions ------------

# -------- set parameter --------------

while getopts "htr:d:p:" opt; do
    case $opt in
        h) phelp;;

        t) text=true;;

        r) 
          resw=$(echo $OPTARG | cut -f1 -d "x")
          resh=$(echo $OPTARG | cut -f2 -d "x")
        ;;

        d) dpi=$OPTARG;;
                   
        p)     
            opath=$(echo "$OPTARG" | tr -s "/")
            if [ ! -d "$OPTARG" ]; then
                mkdir "$opath"
            fi
        ;;

        \?) phelp;;
    esac    
done
shift $((OPTIND-1))
# ------ edn set parameter ----------------------


# -------- main ------------------------
if [ -d "/tmp/ln" ]; then
    rm -Rf /tmp/ln/*    
else
    mkdir /tmp/ln
fi

if [ -d "$@" ]; then # if folder
    
    zipname=$(basename "$@")
    folder=$zipname
    mkdir /tmp/ln/"$zipname"
    IFS=$'\n'
    for i in $(ls -1 "$@/"*.pdf)
    do
        lnconvert $i
    done
    createxmlf
else    # if one pdf
    folder=""
    zipname=${*%%.*}
    lnconvert $@
fi
createzip
cleanup

Es wird nicht überprüft ob die Parameter korrekt sind. Man kann z.B. Seiten in Auflösung von 10000x1000px erstellen. Da bitte aufpassen.
Würde mich über Feedback freuen.
 
  • Danke
Reaktionen: acadoid
funkdroid schrieb:
Ok Danke für die Erläuterung der Filter acadoid. Dann werde ich wohl bisschen rumprobieren müssen :)

Edit: So hab nun bisschen an den Filtern gedreht. Der Ramer-Douglas-Peucker-Filter war kaum zu spüren, der Savitzky-Golay-Filter jedoch brachte sichtbar bessere Ergebnisse. Kleines Manko ist nur, dass man sieht wie die Schrift während des Schreibens leicht korrigiert wird, aber damit kann ich Leben. Insgesamt noch ganz nicht das Ergebnis, was man aus den vorinstallierten Programmen kennt, doch zum Arbeiten langt das allemal.


Hallo,

ich habe (auch ein Note10.1 und) die Einstellungen, die du bereits gepostet hast, auch mal ausprobiert. Finde sie schon recht gut, allerdings gefällt mir das mit der nachträglichen Anpassung des Geschriebenen ebenfalls nicht so richtig.

Ich habe noch eine andere Alternative gefunden, mit der ich nun glücklich bin:

When lecturenotes is open, tap your menu button and go to settings. Within settings, first go to input and check "use stylus" then scroll all the way to the bottom and click "filter input setup." Uncheck everything, then check apply Savitzky-Golay filter and set the order to 5. This is my personal favorite, but you might wanna play around with it. Make sure "discard coordinates between Android events" is UNCHECKED.

Now go to Handling and scroll halfway down and make sure "use fast temporary rendering" and "use fast page rendering" is checked.

Also make sure force gpu rendering is not on in your developer settings.

Wobei zu beachten ist, dass bei der Anweisung "Now go to Handling" nicht die "Handhabung" gemeint ist sondern die Anzeigeeinstellungen. :)

Zweiter Beitrag in diesem Thread

Kannst es ja mal probieren ;)
 
Bin ich der einzige der seit über einem Monat kein Update mehr vom Amazon App Store bekommt? Seit über einem Monat. Laut google Play gibts jetzt schon 2.5.2 und ich bin bei 2.4.7 oder 2.4.8. Auch etwas doof dafür geld bezablt zu haben und trotzdem nicht aktuell sein.
 
Hallo,

mit der Zeit wachsen meine bisher oft im A4-Format (1280 x 1811 mit ca. 150dpi Auflösung) verwendeten Notizbücher merklich an. Nicht nur die Seitenanzahl wird immer größer, sondern ich merke auch, dass ich oftmals mehr Platz auf den Einzelseiten für die Zeichnungen benötige als mir das gewählte A4-Format gewährt.

Daher würde ich gern die Papiergröße ausgewählter Notizbücher nachträglich verändern. Und zwar von A4 auf A2 mit 2560 x 3622 bei 150dpi. Allerdings scheint dies über die Notizbuch-Einstellungen aktuell nicht möglich zu sein. Da die Inhalte bei einer solchen Vergrößerung nicht abgeschnitten werden, würde eine solche nachträgliche Papiergrößenänderung doch konfliktfrei funktionieren, oder?

Könnte eine solche nachträgliche Papiervergrößerungs-Möglickeit umgesetzt werden?

Aktuell verwende ich folgenden Vorgang, um meine Zeichnungen auf einen weiteren Raum zu stellen: (1) ein A2-Notizbuch duplizieren und leeren; (2) Inhalte seitenweise aus A4-Notizbuch per COPY und PASTE in das A2-Notizbuch bringen; (3) altes A4-Notizbuch löschen; (4) neues A2-Notizbuch umbenennen und in alten A4-Ordner verschieben. Nach Verschieben erhalte ich dann in der Regel Konflikte in meiner DROPBOX, aber das ist dann ein anderes Problem... ;-)

Gruß
Peter
 
@xDeekay: Alle in App Stores erworbenen LectureNotes erhalten Updates. Amazon ist bei einem Update meist einen oder zwei Tage später, da Amazon alle Apps inklusive Updates einem manuellen Test unterzieht. Die aktuelle Version v2.5.2 vom 28. Juni ist allerdings schon bei Amazon verfügbar. Manchmal ,hängt` die App Store App, ein Neustart des Geräts löst das Problem meist.

@Peter Ustinoff: Sollen die Seiten dabei skaliert werden, oder soll 3/4 der Seite dann leer sein?
 
acadoid schrieb:
@Peter Ustinoff: Sollen die Seiten dabei skaliert werden, oder soll 3/4 der Seite dann leer sein?

Bitte den dazugewonnenen Platz einfach leer lassen. Also Pixel rechts /unten / untenrechts hinzufügen. DPI soll ja bestehen bleiben. Sonst hätte ich ja keinen Platz gewonnen ;-)

Und falls jemand die Seitengröße über die Pixel-Einstellungen verkleinert, könnte ja eine kleine Warnmeldung eingeblendet werden, dass dabei möglicherweise Teile der bestehenden Zeichnung verlorengehen (von rechts unten beginnend).

Passt das?
 
Zuletzt bearbeitet:
acadoid schrieb:
@xDeekay: [...] Manchmal ,hängt` die App Store App, ein Neustart des Geräts löst das Problem meist.

Neustart hat nichts gebracht aber hab den Appshop neu installiert und jetzt gehts. Danke
 
Habe bis jetzt noch nichts gefunden: wie kann ich eine Seite zwischen 2 Seiten einfügen?
 
@StAnE: Mit den Einträgen im ,Hand`-Menü, ,Seite vor Seite X einfügen` oder ,Seite nach Seite X einfügen`, wobei ,X` die aktuelle Seite bezeichnet.
 
Oh super, danke :)
 
Hallo,

ich verwende den DROPBOX- ubnd DROPSYNC-Service zur Synchronisation meiner LN-Notizbücher zwischen verschiedenen mobilen Geräten und dem PC. Nun ist es so, dass jede auch noch so kurze Ansicht einer Notizbuchseite via LN dazu führt, dass diese Seite während der Betrachtung oder nach dem Wechsel zu einer anderen Seite neu abgespeichert wird.

Dadurch entsteht effektiv ein Synchronisationsbedarf zwischen den Geräten, obwohl inhaltlich nichts geändert wurde. Und das wiederum führt sehr häufig zu angezeigten Synchronisations-Konflikten in der DROPBOX, die irgendwie mit der WLAN-Aktivität und dem Betrachtungs- bzw. Modifikationsverhalten zu tun haben...

Gibt es die Möglichkeit, das automatische Speichern von Seiten, die inhaltlich gar nicht geändert wurden, zu verhindern?

Der aktuelle View (also die Seitennummer und Position auf der Seite) innerhalb eines Notizbuchs wird doch ohnehin nicht im PNG abgelegt, sondern im notebook.xml:

...
<pageinfocus>2</pageinfocus>
<offsetx>0.0</offsetx>
<offsety>4928.457</offsety>
...


Die Möglichkeit, nicht dann ein PNG zu speichern, wenn z.B. nur im Notizbuch navigiert wurde?
 
@Peter Ustinoff: Notizbuch-Seiten werden nur gespeichert, wenn eine Änderung erfolgte (wobei eine durch ,Undo` rückgängig gemachte Änderung eine Änderung bleibt und die Notizbuch-Seite sicherheitshalber gespeichert wird). Das gilt sowohl für das Schließen des Notizbuches, für Scrollen und für ,Automatisches Speichern` zwischendrin. Das sollte man am Zeitstempel der letzten Änderung der betreffenden Dateien sehen.

Sofern man das Notizbuch öffnet und scrollt, wird beim Schließen die neue Position im Notizbuch in der Kontroll-Datei ,notebook.xml` gespeichert.

Sofern man das Notizbuch öffnet und ohne Scrollen wieder schließt, wird gar nichts gespeichert (ältere Versionen von LectureNotes haben die Kontroll-Datei ,notebook.xml` auch in einem solchen Fall geschrieben).

Die Meldung ,Geänderte Seiten speichern` wird beim Schließen immer angezeigt (ggf. recht kurz), auch wenn de facto keine Seiten gespeichert werden, sondern z.B. nur die Kontroll-Datei.
 
acadoid schrieb:
Notizbuch-Seiten werden nur gespeichert, wenn eine Änderung erfolgte ... Das gilt sowohl für das Schließen des Notizbuches, für Scrollen und für ,Automatisches Speichern` zwischendrin...

Ja, genau, das wäre mein Problem: Das Speichern nach dem bloßen stöbern im Notizbuch, ohne dass faktisch eine Änderung an den Bilddaten erfolgt ist. Wird das "Schließen", "Scrollen" und "Automatisches speichern" tatsächlich bereits als Inhalts-Änderung gewertet? Oder verstehe ich das gerade falsch?

acadoid schrieb:
Sofern man das Notizbuch öffnet und scrollt, wird beim Schließen die neue Position im Notizbuch in der Kontroll-Datei ,notebook.xml` gespeichert.

Das wäre ja in Ordnung, denn davon wäre die PNG-Datei ja im Grunde nicht betroffen. Aber weiter oben schreibst Du, dass das "Scrollen" ebenfalls zu einem Speichern (ich nehme mal an, Du meinst die PNG) führt.

Nochmal die Frage: Wäre es möglich, die PNG-Dateien nur dann zu speichern, wenn auch wirklich Änderungen an den Seiten-Inhalten vorgenommen wurden?

Danke.
Peter
 
@Peter Ustinoff: Die PNG-Dateien einer Notizbuch-Seite werden nur gespeichert, wenn etwas auf dieser Seite geändert wurde; diese Tatsache kann man am Zeitstempel der PNG-Dateien sehen (z.B. in einer File Manager App).
 
@Peter Ustinoff: Ich sollte vielleicht sicherheitshalber hinzufügen: Wenn man das ausprobiert (Dateien eines Notizbuches und deren letzte Änderung in einer File Manager App ansehen, Notizbuch in LectureNotes öffnen und wieder schließen, Dateien des Notizbuches und deren letzte Änderung in einer File Manager App erneut ansehen), sollte die Synchronisierung vorübergehen ausgeschaltet werden, damit die Synchronisierung nicht die Dateien ändern kann.
 
@acadoid: Ich habe ein wenig im Detail herumprobiert und muss einsehen, dass ich vorher vielleicht einfach zu nervös herumgezappelt habe und mir gar nicht aufgefallen war, welche Seiten ich dabei geändert hatte. Aber so ist dann alles gut. Danke.
 
Hallo zusammen,

erst mal muß ich sagen das es sich hier um einen sehr informativen Thread handelt.
Ich habe Lecture Notes längers i nder Free Version gehabt und un endlich gekauft, und es ist jeden Cent wert muss ich sagen. Der Suppot z.b. ist einfach nur Weltklasse!!

Nun hätte ich eine Frage an die Community: Ich habe bereits einige Seiten hier durchgelesen (ich gebe zu: nicht alle) und habe immer nur viel über das Syncen zwischen Geräten gelesen, es aber selbst nicht hinbekommen.
Daher würde ich euch bitten eine Schritt für Schritt Anleitung zu zeigen wie ich Lecture Notes zwischen meinem Tablet und Smartphone synchronisiere..
Ich habe bereits Fodlersync installiert, udn einen Dropbox account besitze ich shcon länger.

Ich wäre euch wirklich sehr dankbar wenn das jemand realisieren könnte.

Vielen dank im voraus udn einen schönen Restabend
Danny
 
Hallo,

gibt es eine Möglichkeit frei über den Text in LN zu zeichnen/malen?

Ich habe das Eingabefeld unten aktiviert und kann nur dort zeichnen, allerdings auch nur mit den vorgegebenen Tools ...
 
@fbn: Ich bin mir nicht sicher, ob ich die Frage richtig verstehe.

Ob eine handschriftliche Notiz oder Zeichnung über oder unterhalb der Text-Ebene liegt, wird durch die verwendete Ebene und die Lage der Text-Ebene relativ dazu bestimmt.

Das Eingabefeld kann deaktiviert werden, z.B. im Stifte-Menü; die Reaktivierung ist ebenfalls über das Menü möglich. In den Einstellungen zum Eingabefeld läßt sich auch ein Symbol in die Menü-Leiste plazieren, mit dem das Eingabefeld durch einen Klick ein- und ausgeschaltet werden kann.
 
Hallo. Nachdem ich mich nun seit ein paar Tagen intensiv mit Lecture Note beschäftigt habe und auch das Forum mit seinen vielen Tipps und Tricks durchgelesen habe möchte nun auch ich mich für die tolle App bedanken.
Es gibt noch eine Frage, die ich habe und die im Forum nicht beantwortet Wurde (oder ich hab's übersehen...):

Ich möchte gerne eine feste, unveränderliche Vorlage erstellen, aus der ich jeweils eine Gesprächsnotiz erstellen kann . Diese wird dann umbenannt. Geht das?

Schöne Grüße.
 
Zuletzt bearbeitet:

Ähnliche Themen

H
Antworten
4
Aufrufe
826
MJens92
M
Grossmeister_T
Antworten
0
Aufrufe
712
Grossmeister_T
Grossmeister_T
S
Antworten
3
Aufrufe
2.616
holms
holms
Zurück
Oben Unten