{"id":6517,"date":"2020-06-23T20:04:45","date_gmt":"2020-06-23T18:04:45","guid":{"rendered":"https:\/\/www.commander1024.de\/wordpress\/?p=6517"},"modified":"2020-06-24T09:30:34","modified_gmt":"2020-06-24T07:30:34","slug":"buecher-als-ebook-digitalisieren","status":"publish","type":"post","link":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/","title":{"rendered":"B\u00fccher als eBook digitalisieren"},"content":{"rendered":"\n<p class=\"has-drop-cap wp-block-paragraph\">Befl\u00fcgelt durch den geplanten Tschernobyl-Trip, der von COVID-19 vereitelt wurde, hat eine Freundin die <a rel=\"noreferrer noopener\" href=\"https:\/\/www.amazon.de\/gp\/product\/B01E00KQ7C\/ref=series_rw_dp_sw\" target=\"_blank\">Metro Trilogie von Dimitry Glukhovsky<\/a> verschlungen. Die B\u00fccher habe ich ebenfalls vor einiger Zeit gelesen. Auf der Suche nach mehr relatiertem Lesestoff, sind wir auf die &#8222;S.T.A.L.K.E.R.&#8220;-Reihe gesto\u00dfen, die seiterzeit im Panini-Verlag erschienen ist. Leider werden die B\u00fccher nicht mehr (neu) verkauft &#8211; und schon gar nicht in digitaler Form als eBook. <\/p> \n\n\n\n<p class=\"wp-block-paragraph\">Was mich auf die Idee brachte, einfach mal den ersten Band auf dem Gebrauchtbuchmarkt zu klicken, um zu evaluieren, ob und wie gut es m\u00f6glich w\u00e4re, den Inhalt mit Open-Source-Software zu digitalisieren und als eBook im epub Format zu verpacken. <\/p> \n\n\n\n<p class=\"wp-block-paragraph\">Ziel sollte es sein, dass die Freundin das Buch im Papierformat und ich das eBook auf dem Kindle lesen kann. Warum das nat\u00fcrlich nicht funktionieren konnte, darauf komme ich im Fazit auch noch zu sprechen. <span class=\"wp-font-emots-emo-wink\"><\/span> <\/p> \n\n\n\n\n\n<h2 class=\"wp-block-heading\">Meine Open-Source eBook Toolchain<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wie man sich unschwer ausmalen kann, ist das Unterfangen eine ziemlich repetitive Abfolge, von immer gleichen Arbeitsschritten. Daher sollten weite Teile geskriptet werden k\u00f6nnen und weitgehend ohne menschliche Interaktion vonstatten gehen. <\/p> \n\n\n\n<h3 class=\"wp-block-heading\">Schritt 1: Scannen der Buchseiten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der erste Schritt muss nat\u00fcrlich erstmal das Scannen der Buch(doppel)seiten sein. Eine gute Idee dabei war, die Seiten erst einmal als Bild einzuscannen und nicht direkt von einer OCR-Software verwursten zu lassen. Das l\u00e4sst die M\u00f6glichkeit, die Bilder vorab f\u00fcr die Erkennung optimieren zu k\u00f6nnen. Da geh\u00f6rt sowohl die Erh\u00f6hung des Bildkontrastes dazu als auch das Entfernen noch Scan-Artefakten wie der Knick in der Mitte der Buch-Doppelseiten. Deswegen scanne ich in Graustufen und speichere die Bilder verlustfrei als png. <\/p> \n\n\n\n<p class=\"wp-block-paragraph\">Um nicht jedes Bild nachtr\u00e4glich beschneiden zu m\u00fcssen und den Scanvorgang zu beschleunigen, beschneide ich direkt mit Parametern f\u00fcr scanimage (aus der <a href=\"http:\/\/www.sane-project.org\/\" target=\"_blank\" aria-label=\"undefined (opens in a new tab)\" rel=\"noreferrer noopener\">SANE<\/a> software suite). Eine h\u00f6here Aufl\u00f6sung scheint die Erkennungsergebnisse nicht signifikant zu verbessern, dauert bei meinem ~20 Jahre alten Scanner aber deutlich l\u00e4nger (~ +50%). <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">scanimage -d plustek:libusb:002:036 -p --resolution 300 --format=png --mode=Gray -l 0 -t 0 -x 180 -y 240 -o 001.png<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Bew\u00e4hrt hat es sich, die d\u00fcnnere Seite des Buchs mit einem Gegenstand (auch hierbei ist der Kindle sehr praktisch :D) auszugleichen und den Scannerdeckel zu beschweren. Unscharfe Zeichen in der Buchmitte sind dabei ein absolutes No-Go f\u00fcr die OCR-Software &#8211; genauso wie ein Verrutschen der Scanvorlage w\u00e4hrend des Scans. Daher kontrolliere ich jedes Bild manuell (w\u00e4hrend der Scankopf zur\u00fcckf\u00e4hrt). Je besser der Scan, desto weniger Fehler macht &#8218;tesseract&#8216;, was sp\u00e4ter deutlich Arbeit erspart. <\/p> \n\n\n\n<h3 class=\"wp-block-heading\">Schritt 2: Bilddateien f\u00fcr die Erkennung vorbereiten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nun, da alle Buch-Doppelseiten als .png vorliegen, wende ich Software darauf an, um eine fehlerfreie(re) Erkennung zu gew\u00e4hrleisten. Zuerst drehe ich die Buchseiten, was ich auf die Original-Scans anwende, f\u00fcr alle weiteren Schritte erstelle ich Zwischendateien. &#8218;mogrify&#8216; ist das Batch-Pendant zu &#8218;convert&#8216; aus der <a rel=\"noreferrer noopener\" href=\"https:\/\/imagemagick.org\/index.php\" target=\"_blank\">ImageMagick<\/a> Suite. Positive Werte drehen im Uhrzeigersinn, negative in die entgegengesetzte Richtung. <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">mogrify -rotate -90 scans\/*.png<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_scan.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1200\" src=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_scan-1600x1200.png\" alt=\"\" class=\"wp-image-6539\" srcset=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_scan-1600x1200.png 1600w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_scan-800x600.png 800w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_scan-300x225.png 300w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_scan-768x576.png 768w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_scan-1536x1152.png 1536w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_scan-2048x1536.png 2048w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/a><figcaption>Originaler Graustufenscan<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nun erh\u00f6he ich den Kontrast und sch\u00e4rfe das Bild ein wenig: <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">mogrify -format pgm -path processed\/ -level 40%,70% -sharpen 0x1 scans\/*.png<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Man k\u00f6nnte hier auch noch die Option -normalize verwenden, die den Kontrastbereich der Ausgabe auf sehr harte Werte vergr\u00f6\u00dfert. Dabei bleibt fast ein schwarz\/wei\u00df Bild \u00fcbrig. Allerdings f\u00fchrt das im n\u00e4chsten Schritt zu Problemen mit &#8218;unpaper&#8216;, sodass ggf. ganze Zeilen oder gar Teilabs\u00e4tze entfernt werden. <\/p> \n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_processed.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1200\" src=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_processed-1600x1200.png\" alt=\"\" class=\"wp-image-6538\" srcset=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_processed-1600x1200.png 1600w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_processed-800x600.png 800w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_processed-300x225.png 300w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_processed-768x576.png 768w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_processed-1536x1152.png 1536w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_processed-2048x1536.png 2048w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/a><figcaption>Processed Scan<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Als letzten Schritt des Preprocessings jage ich noch &#8218;unpaper&#8216; \u00fcber die Seiten. Das Tool entfernt alle Bildbestandteile, die es als nicht zum Text zugeh\u00f6rig erachtet. Das klappt auch weitgehend ganz gut. R\u00e4nder, der Knick und etwaige Verunreinigungen verschwinden so nahezu komplett. Wegen unpaper habe ich die Bilder auch im letzten Schritt in das pgm &#8211; Format umgewandelt, weil dieses nur pbm\/pgm verarbeiten kann. Beides sind unkomprimierte Bitmap-basierte Formate &#8211; das eine f\u00fcr schwarzwei\u00df Bilder, das andere f\u00fcr Graustufen. <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">unpaper -l double processed\/%03d.pgm unpapered\/%03d.pgm<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_final.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1200\" src=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_final-1600x1200.png\" alt=\"\" class=\"wp-image-6537\" srcset=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_final-1600x1200.png 1600w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_final-800x600.png 800w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_final-300x225.png 300w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_final-768x576.png 768w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_final-1536x1152.png 1536w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/002_final-2048x1536.png 2048w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/a><figcaption>Finale Buchseite f\u00fcr OCR<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Da auch die Ausgabedateien wieder im pgm Format sind, wandele ich alles wieder verlustfrei nach png zur\u00fcck, um Speicher zu sparen. <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">mogrify -format png -path final\/ unpapered\/*.pgm<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Die Ordner processed und unpapered k\u00f6nnte man nun wieder l\u00f6schen. Die Originale sind in scans noch vorhanden und die Daten, auf die ich gleich &#8218;tesseract&#8216; loslasse, liegen nun als png im Ordner final. <\/p> \n\n\n\n<h3 class=\"wp-block-heading\">Schritt 3: OCR-Erkennung mit tesseract<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die so vorbereiteten Daten kann man nun auf einen Schlag &#8218;tesseract&#8216; vor die F\u00fc\u00dfe werfen. <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\"><span class=\"hljs-keyword\">for<\/span> f <span class=\"hljs-keyword\">in<\/span> *.png;<span class=\"hljs-keyword\">do<\/span> tesseract --psm 1 -l deu <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$f<\/span>\"<\/span> <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$(basename \"$f\" .png)<\/span>\"<\/span>;<span class=\"hljs-keyword\">done<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Dabei kommt zu jedem Bild passend eine txt-Datei heraus, die zwar keine Formatierung (wie fett oder kursiv) mehr enth\u00e4lt, aber ansonsten der Bildvorlage entspricht &#8211; inkl. Worttrennungen und Zeilenenden. Das alles h\u00e4ndisch zu bearbeiten ist ganz sch\u00f6n nervt\u00f6tend und zeitaufwendig. Nervt\u00f6tend ist auch der Umgang mit RegEx-Ausdr\u00fccken, aber daf\u00fcr l\u00e4uft das maschinell automatisch, wenn man sich die einmal zusammengebaut hat. <\/p> \n\n\n\n<h3 class=\"wp-block-heading\">Schritt 4: OCR-Fehler bereinigen und Zeilenumbr\u00fcche entfernen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Beim Korrigieren des ersten Buches ist uns aufgefallen, dass tesseract eine Vorliebe f\u00fcr eine Handvoll Erkennungsfehler hat. So wird ein &#8222;i&#8220; mitunter als ein &#8222;i ohne Punkt&#8220; (\u0131) interpretiert, orthographische Abf\u00fchrungszeichen (\u201c) h\u00e4ufiger als &#8222;normale&#8220;. Und aus einem &#8222;\u00df&#8220; wird mitunter ein &#8222;B&#8220;. Schwierig sind auch Gedankenstriche (\u2014). <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">grep -RiIl \u0131 final\/*.md | xargs sed -i <span class=\"hljs-string\">'s\/\u0131\/i\/g'<\/span>\ngrep -RiIl <span class=\"hljs-string\">\" - \"<\/span> final\/*.md | xargs sed -i <span class=\"hljs-string\">'s\/ - \/ \u2014 \/g'<\/span>\ngrep -RiIl \\\" final\/*.md | xargs sed -i <span class=\"hljs-string\">'s\/\\\"\/\u201c\/g'<\/span>\negrep <span class=\"hljs-string\">'\\SB\\S'<\/span> work\/*.md<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Der letzte Befehl sucht tats\u00e4chlich nur &#8222;B&#8220; innerhalb von Worten. Hier muss die Korrektur h\u00e4ndisch erfolgen. Aber der Befehl gibt die Datei mit dem Treffer aus. Das konnte ich leider nicht vollst\u00e4ndig automatisieren, weil ich RegExen nicht gut genug beherrsche, um die false-Positives auszufiltern. <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\"><span class=\"hljs-keyword\">for<\/span> f <span class=\"hljs-keyword\">in<\/span> *.md;<span class=\"hljs-keyword\">do<\/span> perl -0 -pe <span class=\"hljs-string\">'s\/-\\n\/\/g;'<\/span> -pe <span class=\"hljs-string\">'s\/(?&lt;!\\n)\\n(?!\\n)\/ \/gm;'<\/span>  -pe <span class=\"hljs-string\">'s\/\\n\\n+\/\\n\\n\/gm;'<\/span> <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$f<\/span>\"<\/span> &gt; ..\/work\/<span class=\"hljs-string\">\"<span class=\"hljs-variable\">$f<\/span>\"<\/span>;<span class=\"hljs-keyword\">done<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Dieses unleserliche Monstrum entfernt alle Worttrennungen und Zeilenumbr\u00fcche, erh\u00e4lt aber Abs\u00e4tze (mit 2 newlines). <\/p> \n\n\n\n<h3 class=\"wp-block-heading\">Schritt 5: Nachbearbeitung im markdown-Format<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn man sich anschaut, was die g\u00e4ngigen eBook-Formate (epub und azw3 \/ mobi) eigentlich sind, stellt man schnell fest, dass alle im Prinzip zip-Files sind, die HTML, CSS, Bilder und ggf. TrueType\/OpenType fonts enthalten. Daher macht es Sinn, die Formatierung mit HTML-Tags wiederherzustellen. Einfacher und bequemer zu tippen ist es aber als Markdown. Aus diesem l\u00e4sst sich schnell und einfach am Ende wieder HTML generieren. Also erstmal alle txt-Dateien in md umbenennen, damit g\u00e4ngie Texteditoren nicht verwirrt sind. <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">rename .txt .md *.txt<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Nun kann man die erkannten Text seitenweise bearbeiten (und mit der OCR- oder Scanvorlage vergleichen). Hierbei gilt es, die restlichen Erkennungsfehler zu finden und zu eliminieren und die Formatierung wiederherzustellen. Hierbei war dieses <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/adam-p\/markdown-here\/wiki\/Markdown-Cheatsheet\" target=\"_blank\">Markdown-Cheatsheet<\/a> sehr n\u00fctzlich. <\/p> \n\n\n\n<p class=\"wp-block-paragraph\">Um sp\u00e4ter alles einfach zu einem Dokument zusammen konkatenieren zu k\u00f6nnen, sollte man einheitliche Konventionen benutzen. Z. B. das getrennte Wort von der folgenden Seite auf die vorherige r\u00fcberziehen und lediglich mit einem Leerzeichen abzuschlie\u00dfen. Auch den Absatz-newline belasse ich auf der vorherigen Seite, um die darauffolgende direkt mit einem druckbaren Zeichen beginnen zu k\u00f6nnen. Am Ende wird alles zusammen nacheinander in eine Datei geschrieben, mit der ab jetzt ausschlie\u00dflich weiter gearbeitet wird. Das markdown-file ist nun das Hauptdokument, aus dem alle anderen Formate erzeugt werden k\u00f6nnen. <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">cat *.md &gt; Titel.md<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Machen wir uns nichts vor. Egal, wie gr\u00fcndlich man gearbeitet hat, es werden noch Fehler in &#8218;Titel.md&#8216; vorhanden sein. Diesen sollte man nun noch einmal in G\u00e4nze korrekturlesen &#8211; wir haben dies sogar 2x gemacht. <\/p> \n\n\n\n<p class=\"wp-block-paragraph\">Nun macht es Sinn, korrekte, hierarchische \u00dcberschriften zu verwenden. Sind diese im fertigen HTML schon enthalten, ist die Erstellung des Inhaltsverzeichnisses sp\u00e4ter eine Sache von 2 Mausklicks. Ich habe z. B. h1 bis h4 verwendet, wobei ich f\u00fcr das Inhaltsverzeichnis nur h1-h3 ber\u00fccksichtige. h4 verwende ich so nur f\u00fcr die Wahl des Fonts f\u00fcr Ortsangaben im eBook. <\/p> \n\n\n\n<p class=\"wp-block-paragraph\">Mit dem schlanken Kommandozeilentool &#8218;multimarkdown&#8216; kann man nun eine HTML-Datei erstellen, die alle markdown-Formatierungen enth\u00e4lt, aber kein unn\u00f6tiges CSS mitschleift. <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">multimarkdown -o 1-Titel.html -l de -t html 1-Titel.md<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Schritt 6: EPUB erstellen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Warum ich mich f\u00fcr epub entschieden habe, obwohl mein Kindle das Format gar nicht lesen kann? Weil es ein <a rel=\"noreferrer noopener\" href=\"https:\/\/www.w3.org\/community\/epub3\/\" target=\"_blank\">offener Standard<\/a> ist, aus dem sich die Propiet\u00e4ren mit der Software <a rel=\"noreferrer noopener\" href=\"https:\/\/calibre-ebook.com\/\" target=\"_blank\">Calibre<\/a> leicht konvertieren lassen. Mit <a rel=\"noreferrer noopener\" href=\"https:\/\/sigil-ebook.com\/\" target=\"_blank\">Sigil<\/a> gibt es auch eine brauchbare Open-Source Software, die epub erstellen kann. Diese beiden Tools sind tats\u00e4chlich grafische Programme &#8211; im Gegensatz zu allen anderen zuvor verwendeten. <span class=\"wp-font-emots-emo-wink\"><\/span> <\/p> \n\n\n\n<p class=\"wp-block-paragraph\">Zuerst erstelle ich ein neues EPUB Projekt und f\u00fcge die Metadaten mittels Metadaten-Editor hinzu. Anschlie\u00dfend importiere ich Cover und Logos, die ich aus den processed Bildern herausgeschnitten habe im jpg, bzw. png Format. Optional kann man nat\u00fcrlich noch h\u00fcbsche Schriftarten hinzuf\u00fcgen. Ich hatte mich hier f\u00fcr 2 freie entschieden. Das muss man dann nat\u00fcrlich beim Schreiben vom CSS ber\u00fccksichtigen, damit sie auch verwendet werden. <\/p> \n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><a href=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/sigil_workspace.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1919\" height=\"1053\" src=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/sigil_workspace.png\" alt=\"Sigil Arbeitsbereich\" class=\"wp-image-6547\" srcset=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/sigil_workspace.png 1919w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/sigil_workspace-800x439.png 800w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/sigil_workspace-300x165.png 300w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/sigil_workspace-768x421.png 768w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/sigil_workspace-1536x843.png 1536w\" sizes=\"auto, (max-width: 1919px) 100vw, 1919px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nun f\u00fcge ich das monolithische HTML-Dokument hinzu. Das k\u00f6nnte so schon reichen, f\u00fcr ein funktionierendes eBook. Mein Kindle frisst das so auch. Ich las aber, dass vor allem \u00e4ltere Ger\u00e4te durchaus ein Problem damit haben k\u00f6nnten, knapp 500KB HTML am St\u00fcck zu laden und zu parsen. Empfohlen wird daher die Auftrennung in einzelne Kapitel. Dies geht schnell und einfach mit dem Knopf &#8222;Teilung am Cursor&#8220;, der nicht mit einer Tastenkombination versehen ist. :-$ Immerhin k\u00fcmmert er sich \u00dcbernahme von verkn\u00fcpften Stylesheets und erzeugt wieder ein valides Dokument. <\/p> \n\n\n\n<p class=\"wp-block-paragraph\">Das Inhaltsverzeichnis kann anschlie\u00dfend vollautomatisch mit Werkzeuge -&gt; Inhaltsverzeichnis -&gt; Inhaltsverzeichnis erstellen (Strg+T) erzeugt werden. Werkzeuge -&gt; Cover hinzuf\u00fcgen setzt ein zuvor hochgeladenes Bild als Cover-Bild. <\/p> \n\n\n\n<p class=\"wp-block-paragraph\">Ich schrieb zuvor, dass ich Newlines zwischen Abs\u00e4tzen erhalten habe. Das habe ich getan, weil bei der Umwandlung von Markdown zu HTML nun jeder Absatz ein eigenst\u00e4ndiger Paragraph ist, den man nun schick stylen kann. Tats\u00e4chlich ist das CSS-Stylesheet aber wirklich sehr \u00fcbersichtlich. Das reicht aber schon, um die digitale Erscheinungsform der Buchvorlage anzun\u00e4hern. <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-comment\">\/* cormorant-garamond-regular - latin *\/<\/span>\n<span class=\"hljs-keyword\">@font-face<\/span> {\n  <span class=\"hljs-attribute\">font-family<\/span>: <span class=\"hljs-string\">'Cormorant Garamond'<\/span>;\n  <span class=\"hljs-attribute\">font-style<\/span>: normal;\n  <span class=\"hljs-attribute\">font-weight<\/span>: <span class=\"hljs-number\">400<\/span>;\n  <span class=\"hljs-attribute\">src<\/span>: <span class=\"hljs-built_in\">local<\/span>(<span class=\"hljs-string\">'Cormorant Garamond Regular'<\/span>), <span class=\"hljs-built_in\">local<\/span>(<span class=\"hljs-string\">'CormorantGaramond-Regular'<\/span>),\n       <span class=\"hljs-built_in\">url<\/span>(<span class=\"hljs-string\">'..\/Fonts\/cormorant-garamond-v7-latin-ext-regular.ttf'<\/span>) <span class=\"hljs-built_in\">format<\/span>(<span class=\"hljs-string\">'ttf'<\/span>), \n}\n\n<span class=\"hljs-comment\">\/* cormorant-garamond-italic - latin *\/<\/span>\n<span class=\"hljs-keyword\">@font-face<\/span> {\n  <span class=\"hljs-attribute\">font-family<\/span>: <span class=\"hljs-string\">'Cormorant Garamond'<\/span>;\n  <span class=\"hljs-attribute\">font-style<\/span>: normal;\n  <span class=\"hljs-attribute\">font-weight<\/span>: <span class=\"hljs-number\">400<\/span>;\n  <span class=\"hljs-attribute\">src<\/span>: <span class=\"hljs-built_in\">local<\/span>(<span class=\"hljs-string\">'Cormorant Garamond Regular'<\/span>), <span class=\"hljs-built_in\">local<\/span>(<span class=\"hljs-string\">'CormorantGaramond-Italic'<\/span>),\n       <span class=\"hljs-built_in\">url<\/span>(<span class=\"hljs-string\">'..\/Fonts\/cormorant-garamond-v7-latin-ext-italic.ttf'<\/span>) <span class=\"hljs-built_in\">format<\/span>(<span class=\"hljs-string\">'ttf'<\/span>), \n}\n\n<span class=\"hljs-comment\">\/* cormorant-garamond-bold - latin *\/<\/span>\n<span class=\"hljs-keyword\">@font-face<\/span> {\n  <span class=\"hljs-attribute\">font-family<\/span>: <span class=\"hljs-string\">'Cormorant Garamond'<\/span>;\n  <span class=\"hljs-attribute\">font-style<\/span>: normal;\n  <span class=\"hljs-attribute\">font-weight<\/span>: <span class=\"hljs-number\">400<\/span>;\n  <span class=\"hljs-attribute\">src<\/span>: <span class=\"hljs-built_in\">local<\/span>(<span class=\"hljs-string\">'Cormorant Garamond Regular'<\/span>), <span class=\"hljs-built_in\">local<\/span>(<span class=\"hljs-string\">'CormorantGaramond-Bold'<\/span>),\n       <span class=\"hljs-built_in\">url<\/span>(<span class=\"hljs-string\">'..\/Fonts\/cormorant-garamond-v7-latin-ext-bold.ttf'<\/span>) <span class=\"hljs-built_in\">format<\/span>(<span class=\"hljs-string\">'ttf'<\/span>), \n}\n\n<span class=\"hljs-comment\">\/* linux-libertine-capitals - latin *\/<\/span>\n<span class=\"hljs-keyword\">@font-face<\/span> {\n  <span class=\"hljs-attribute\">font-family<\/span>: <span class=\"hljs-string\">'Linux Libertine'<\/span>;\n  <span class=\"hljs-attribute\">font-style<\/span>: normal;\n  <span class=\"hljs-attribute\">font-weight<\/span>: <span class=\"hljs-number\">400<\/span>;\n  <span class=\"hljs-attribute\">src<\/span>: <span class=\"hljs-built_in\">local<\/span>(<span class=\"hljs-string\">'Linux Libertine Capitals'<\/span>), <span class=\"hljs-built_in\">local<\/span>(<span class=\"hljs-string\">'LinuxLibertine-Capitals'<\/span>),\n       <span class=\"hljs-built_in\">url<\/span>(<span class=\"hljs-string\">'..\/Fonts\/LinLibertine_aS.ttf'<\/span>) <span class=\"hljs-built_in\">format<\/span>(<span class=\"hljs-string\">'ttf'<\/span>), \n}\n\n<span class=\"hljs-selector-tag\">body<\/span> {\n\t<span class=\"hljs-attribute\">font-family<\/span>: <span class=\"hljs-string\">\"Cormorant Garamond\"<\/span>;\n}\n\n<span class=\"hljs-selector-tag\">h2<\/span>, <span class=\"hljs-selector-tag\">h2<\/span>, <span class=\"hljs-selector-tag\">h4<\/span> {\n\t<span class=\"hljs-attribute\">font-family<\/span>: <span class=\"hljs-string\">\"Linux Libertine Capitals\"<\/span>;\n}\n\n<span class=\"hljs-selector-tag\">p<\/span> {\n   <span class=\"hljs-attribute\">text-indent<\/span>: <span class=\"hljs-number\">1em<\/span>;\n   <span class=\"hljs-attribute\">margin<\/span>: <span class=\"hljs-number\">0<\/span>;\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wie schon am Anfang gespoilert, ist das Ziel eigentlich vollkommen verfehlt, denn keiner von uns konnte das Buch in der pr\u00e4ferierten Form lesen. Im Endeffekt haben wir es beide am Notebook im Markdown &#8211; w\u00e4hrend der Bearbeitung &#8211; gelesen, sodass die eBook-Formate nun lediglich in die digitale Privatbibliothek wandern. Auch Ver\u00f6ffentlichen kann ich sie nicht, weil Text und Bilder nat\u00fcrlich geistiges Eigentum Anderer sind. <\/p> \n\n\n\n<p class=\"wp-block-paragraph\"><em>Fragt mich also bitte nicht, ob ich die epubs als <strong>unlizensierte Kopie<\/strong> herausgeben kann. Das kann und werde ich nicht.<\/em> <\/p> \n\n\n\n<p class=\"wp-block-paragraph\">So gesehen war dies eine sehr sinnlose, aber spa\u00dfige Arbeit, durch die ich einiges Neues gelernt habe. Dementsprechend steht es in den Sternen, ob wir diese Nummer tats\u00e4chlich f\u00fcr alle 11 (ins Deutsche \u00fcbersetzte), bzw. 13 B\u00fccher durchziehen werden, denn wir reden hier von einem Zeit- und Arbeitsinvest von ann\u00e4hernd 2-4 Menschtagen pro Buch. <\/p> \n","protected":false},"excerpt":{"rendered":" <p> Befl\u00fcgelt durch den geplanten Tschernobyl-Trip, der von COVID-19 vereitelt wurde, hat eine Freundin die Metro Trilogie von Dimitry Glukhovsky verschlungen. Die B\u00fccher habe ich ebenfalls vor einiger Zeit gelesen. Auf der Suche nach mehr relatiertem Lesestoff, sind wir auf die &#8222;S.T.A.L.K.E.R.&#8220;-Reihe gesto\u00dfen, die seiterzeit im Panini-Verlag erschienen ist. Leider werden die B\u00fccher nicht mehr (neu)&hellip; <\/p> \n","protected":false},"author":1,"featured_media":6545,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[469,10],"tags":[470,495,283,473,521],"class_list":["post-6517","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-buecher","category-software","tag-buecher","tag-ebook","tag-howto","tag-kindle","tag-ocr","comments-open","has-comments"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>B\u00fccher als eBook digitalisieren &#8211; Commander1024<\/title>\n<meta name=\"description\" content=\"Ich fragte mich, ob und wie gut es m\u00f6glich w\u00e4re, den Inhalt eines Buches mit OpenSource-Software zu digitalisieren und als eBook im epub Format zu verpacken\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marcus Scholz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"10\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/\"},\"author\":{\"name\":\"Marcus Scholz\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#\\\/schema\\\/person\\\/aebb61d9f57867e2234becde6d99da8d\"},\"headline\":\"B\u00fccher als eBook digitalisieren\",\"datePublished\":\"2020-06-23T18:04:45+00:00\",\"dateModified\":\"2020-06-24T07:30:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/\"},\"wordCount\":1713,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#\\\/schema\\\/person\\\/aebb61d9f57867e2234becde6d99da8d\"},\"image\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/wp-1592921836271-scaled.jpg\",\"keywords\":[\"B\u00fccher\",\"eBook\",\"Howto\",\"Kindle\",\"OCR\"],\"articleSection\":[\"B\u00fccher\",\"Software\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/\",\"url\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/\",\"name\":\"B\u00fccher als eBook digitalisieren &#8211; Commander1024\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/wp-1592921836271-scaled.jpg\",\"datePublished\":\"2020-06-23T18:04:45+00:00\",\"dateModified\":\"2020-06-24T07:30:34+00:00\",\"description\":\"Ich fragte mich, ob und wie gut es m\u00f6glich w\u00e4re, den Inhalt eines Buches mit OpenSource-Software zu digitalisieren und als eBook im epub Format zu verpacken\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/wp-1592921836271-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/wp-1592921836271-scaled.jpg\",\"width\":2560,\"height\":1440,\"caption\":\"fertiges eBook auf Kindle\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2020\\\/06\\\/buecher-als-ebook-digitalisieren\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B\u00fccher als eBook digitalisieren\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/\",\"name\":\"Dem Commander1024 sein Blog\",\"description\":\"A Network Engineer&#039;s life\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#\\\/schema\\\/person\\\/aebb61d9f57867e2234becde6d99da8d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#\\\/schema\\\/person\\\/aebb61d9f57867e2234becde6d99da8d\",\"name\":\"Marcus Scholz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Underground-Tour-89-scaled.jpg\",\"url\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Underground-Tour-89-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Underground-Tour-89-scaled.jpg\",\"width\":1707,\"height\":2560,\"caption\":\"Marcus Scholz\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Underground-Tour-89-scaled.jpg\"},\"description\":\"Seit Kindheitstagen ist der Computer sein Begleiter. Was mit Linux anfing, wurde 2005 ein\\\/e Beruf\\\/ung, die weit \u00fcber den Arbeitsplatz hinausgeht. Durch stetige Weiterentwicklung fasste er auch im *BSD Segment Fu\u00df und bietet mittlerweile professionelle L\u00f6sungen im Bereich Hosting, Networking und Infrastruktur an. Als Ausgleich besch\u00e4ftigt er sich neben Computerspielen mit der Fotografie.\",\"sameAs\":[\"https:\\\/\\\/www.commander1024.de\",\"https:\\\/\\\/www.facebook.com\\\/Commander1024\",\"https:\\\/\\\/x.com\\\/Commander1024\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCG_WzkCMycoSH7lEcvKHnmA\"],\"url\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/author\\\/commander1024\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"B\u00fccher als eBook digitalisieren &#8211; Commander1024","description":"Ich fragte mich, ob und wie gut es m\u00f6glich w\u00e4re, den Inhalt eines Buches mit OpenSource-Software zu digitalisieren und als eBook im epub Format zu verpacken","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/","twitter_misc":{"Verfasst von":"Marcus Scholz","Gesch\u00e4tzte Lesezeit":"10\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/#article","isPartOf":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/"},"author":{"name":"Marcus Scholz","@id":"https:\/\/www.commander1024.de\/wordpress\/#\/schema\/person\/aebb61d9f57867e2234becde6d99da8d"},"headline":"B\u00fccher als eBook digitalisieren","datePublished":"2020-06-23T18:04:45+00:00","dateModified":"2020-06-24T07:30:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/"},"wordCount":1713,"commentCount":1,"publisher":{"@id":"https:\/\/www.commander1024.de\/wordpress\/#\/schema\/person\/aebb61d9f57867e2234becde6d99da8d"},"image":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/#primaryimage"},"thumbnailUrl":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/wp-1592921836271-scaled.jpg","keywords":["B\u00fccher","eBook","Howto","Kindle","OCR"],"articleSection":["B\u00fccher","Software"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/","url":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/","name":"B\u00fccher als eBook digitalisieren &#8211; Commander1024","isPartOf":{"@id":"https:\/\/www.commander1024.de\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/#primaryimage"},"image":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/#primaryimage"},"thumbnailUrl":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/wp-1592921836271-scaled.jpg","datePublished":"2020-06-23T18:04:45+00:00","dateModified":"2020-06-24T07:30:34+00:00","description":"Ich fragte mich, ob und wie gut es m\u00f6glich w\u00e4re, den Inhalt eines Buches mit OpenSource-Software zu digitalisieren und als eBook im epub Format zu verpacken","breadcrumb":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/#primaryimage","url":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/wp-1592921836271-scaled.jpg","contentUrl":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/06\/wp-1592921836271-scaled.jpg","width":2560,"height":1440,"caption":"fertiges eBook auf Kindle"},{"@type":"BreadcrumbList","@id":"https:\/\/www.commander1024.de\/wordpress\/2020\/06\/buecher-als-ebook-digitalisieren\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.commander1024.de\/wordpress\/"},{"@type":"ListItem","position":2,"name":"B\u00fccher als eBook digitalisieren"}]},{"@type":"WebSite","@id":"https:\/\/www.commander1024.de\/wordpress\/#website","url":"https:\/\/www.commander1024.de\/wordpress\/","name":"Dem Commander1024 sein Blog","description":"A Network Engineer&#039;s life","publisher":{"@id":"https:\/\/www.commander1024.de\/wordpress\/#\/schema\/person\/aebb61d9f57867e2234becde6d99da8d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.commander1024.de\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/www.commander1024.de\/wordpress\/#\/schema\/person\/aebb61d9f57867e2234becde6d99da8d","name":"Marcus Scholz","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/11\/Underground-Tour-89-scaled.jpg","url":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/11\/Underground-Tour-89-scaled.jpg","contentUrl":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/11\/Underground-Tour-89-scaled.jpg","width":1707,"height":2560,"caption":"Marcus Scholz"},"logo":{"@id":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/11\/Underground-Tour-89-scaled.jpg"},"description":"Seit Kindheitstagen ist der Computer sein Begleiter. Was mit Linux anfing, wurde 2005 ein\/e Beruf\/ung, die weit \u00fcber den Arbeitsplatz hinausgeht. Durch stetige Weiterentwicklung fasste er auch im *BSD Segment Fu\u00df und bietet mittlerweile professionelle L\u00f6sungen im Bereich Hosting, Networking und Infrastruktur an. Als Ausgleich besch\u00e4ftigt er sich neben Computerspielen mit der Fotografie.","sameAs":["https:\/\/www.commander1024.de","https:\/\/www.facebook.com\/Commander1024","https:\/\/x.com\/Commander1024","https:\/\/www.youtube.com\/channel\/UCG_WzkCMycoSH7lEcvKHnmA"],"url":"https:\/\/www.commander1024.de\/wordpress\/author\/commander1024\/"}]}},"_links":{"self":[{"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/posts\/6517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/comments?post=6517"}],"version-history":[{"count":35,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/posts\/6517\/revisions"}],"predecessor-version":[{"id":6558,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/posts\/6517\/revisions\/6558"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/media\/6545"}],"wp:attachment":[{"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/media?parent=6517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/categories?post=6517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/tags?post=6517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}