Bei einfachen Notizbüchern können Sie dies selbst tun.
.notebook
Dateien sind einfach .ZIP-Dateien mit einem Manifest (wie ein Buchrücken in E-Books verwendet), mit dem Sie durch die Auslagerungsdateien im Notizbuch navigieren können.
Und Auslagerungsdateien sind Dateien im SVG-Format, so dass Sie sie problemlos unter Linux konvertieren können. Es gibt jedoch auch Tools für Windows (und sogar Online-Tools - ich weiß nicht, wie man sie für Tausende von Dateien verwendet, das verbietet der ToS wahrscheinlich). .
Zum Testen unter Linux ( es sollte auch unter Windows funktionieren, erfordert jedoch die Installation von Cygwin mit Perl ) habe ich Folgendes versucht:
$ unzip -l Untitled.notebook
Archive: Untitled.notebook
Length Date Time Name
--------- ---------- ----- ----
11715 2013-08-21 14:28 page1377095283484.svg
1251 2013-08-21 14:28 imsmanifest.xml
7137 2013-08-21 14:28 page0.svg
--------- -------
20103 3 files
In der Manifestdatei finde ich:
<resource adlcp:scormType="asset" href="page0.svg" identifier="pages" type="webcontent">
<file href="page0.svg"/>
<file href="page1377095283484.svg"/>
</resource>
Durch Ausführen von svg2pdf können beide Seiten korrekt in PDF konvertiert werden.
Zu diesem Zeitpunkt konnte ich mit einer einfachen Ausführung von pdftk ein einziges PDF mit den beiden Seiten erstellen.
Das alles in einen Konverter zu packen , erfordert einige Anpassungen , um die SVG-Seiten aus dem Manifest zu entfernen (in CPAN musste ich force install App::Xml_grep2
wegen eines Testfehlers, der unecht aussah, vorgehen).
# Temporary files named from 1 to N. It is unlikely that
# any legitimate files exist with such names, but this has
# better be done in a temporary directory, just in case.
unzip $1
if [ ! -r imsmanifest.xml ]; then
echo Sorry, this notebook seems to have no manifest.
exit 2
fi
# Get page numbers
XPATH="//*[@identifier='pages']/*[local-name()='file']/@href"
PAGES=`xml_grep2 -t "$XPATH" imsmanifest.xml`
# Remove manifest, we need it no more.
rm imsmanifest.xml
N=0
for page in $PAGES; do
# Create
N=$[ $N + 1 ]
svg2pdf $page $N
# Remove SVG page, we need it no more.
rm $page
done
pdftk $( seq 1 $N ) output $1.pdf
# Now remove temporary files
rm $( seq 1 $N )
Ich habe es mit einigen Notebooks versucht, die mit SmartTech Express erstellt wurden , und es funktioniert. Ich kann keine andere Garantie geben.
Nach dem Speichern als Skript kann das oben beschriebene Verfahren ein großes Verzeichnis mit .notebook-Dateien rekursiv konvertieren:
find . -name "*.notebook" -exec /path/to/converter \{\}\;
... am Ende neben jeder .notebook-Datei wird (na ja, es sollte ...) eine .notebook.pdf
Datei mit demselben Namen und konvertiertem Inhalt stehen (das Skript kann geändert werden, um den .notebook- Teil zu entfernen) des Namens, dh konvertieren Sample.notebook
in Sample.pdf
, mit dem basename
Dienstprogramm).