Einscannen eines Buchs - Erhalt der richtigen Paginierung :: welche Werkzeuge hier einsetzen?

  • 7 Antworten
  • Letztes Antwortdatum
say_hello

say_hello

Dauer-User
222
Hallo und guten Abend Community,


Ich steh vor einer Aufgabe ein Buch einscannen zu müssen. Ich scanne mit einem Canon C 5235i. Der Canon Drucker ist in der Lage die SCANs so an den Rechner zu senden - als PDF.

Wie gesagt: es ist ein Canon C 5235i - fraglich ob ich hier in die Chain noch hätte eingreifen können. GGF. ja schon.

Frage: Ich rechne grundsätzlich bei dem Weg mit erhebliche Qualitätsverluste - denn ich scanne ja lediglich Text - keine Bilder : Das sollte mit PDF gehen.
Aber - reden wir über die komplette "Chain" - Also: wie würdet ihr das machen:

Anm.: Es ist also nur Text den ich scanne, keine Bilder:

Also: grundsätzlich ist das Ergebnis eines Scans ist zunächst immer eine Rastergrafik (Bitmap-Datei). Ein üblicher Scanner bietet z.B. folgende Ausgabeformate an: TIF, JPG, PDF. So auch der Canon. (vgl. Möglichkeiten dieses Systems )

1625597480994.png

vgl. Canon-Manual des CS5255i - hier Möglichkeiten dieses Systems

zu den Formaten:
-PDF - hier wird vielfach einfach nur eine Rastergrafik in eine PDF-Datei als Inhalt eingebettet - Das Verfahren erschwert die spätere Verarbeitung.
-TIF ist (optisch) verlustfrei; aber eine sehr große Dateigröße
-JPG ist verlustbehaftet, da es i.d.R. komprimiert wird (vgl. Artefakte) - kleine Dateigröße

Zur Verarbeitungskette - der Chain:

Also ich könnte das so machen: ich digitalisiere das Buch...:_
Scan nach TIF; viele Einzeldateien.

Dann vom Canon 5255i die Daten an den Rechner senden. (nebenbei - in einer großen PDF ist das sicher komfortabler als in noch viel viel größeren einzelnen TIF-Dateien. Ich hab hier breits mal einige Tests gemacht. Doch das erläutere ich später.


Also - wenn die Daten - (einzelne Doppelseiten oder ganze Konglomerate also Sagen wir Seite 1 bis Seite 100, dann Seite 101 bis 200 in jeweils einem Paket an den Rechner gesendet wird.

dann könnte ich das z.B. mit XnView weiter bearbeiten:

M.a.W.: ich nehme´ hier das Verfahren einer Batchkonvertierung nach PNG (weniger Dateigröße)
dann kann ich das Ausrichten und zuschneiden (manuell)
Da ich lediglich Text scanne ist hier nicht so viel Gewicht auf Themen wie - Auflösung: Ich brauche mich um dieses (Auflösungs-/Qualitäts)Thema nicht so zu kümmern: Das ist das gute am Ganzen.

Die Kernfrage ist die: Welche Chain setze ich ein um Am Ende die Datei Seite für Seite vorliegen zu haben

a. entweder in einer (einzigen) PDF-Datei oder
b. in einzelnen (gewissermaßen zerlegten) Seiten.

Zu den möglichen Herausforderungen komme ich unten... Was kann schief gehen!?

Hier erstmal ein Test, den ich durchgeführt habe: ein erster Test hat ergeben, dass ein kurzer Ausriss des Buches wie folgt - (also mit der korrekten Paginierung ) gescannt wird.

Code:
┌─────────────────────────────────┐
│ page1                     page2 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│ page3                    page4  │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
└─────────────────────────────────┘


┌─────────────────────────────────┐
│ page5                      page6│
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
│                                 │
└─────────────────────────────────┘


┌────────────────────────────────┐
│page7                      page8│
│                                │
│                                │
│                                │
│                                │
│                                │
│                                │
│                                │
└────────────────────────────────┘

Soweit - so gut!

Zu den möglichen Herausforderungen komme hier:... Was kann schief gehen!?

Also - diese Herausforderungen, die beginnen wohl ab dem Punkt bei dem die Daten auf dem Rechner sind. Ich habe das ganze Verfahren mal durchgespielt und komplett durchlaufen lassen - mit dem Ergebnis dass die Paginierung komplett umkippt und überhaupt nicht mehr stimmt.

Was bei dem ersten Test herauskam:
Also: ich habe das bereits einmal durchgespielt: Dabei sind die 370 Seiten (je eine Doppelseite wie oben) in 4 Tranchen
1. bis 100
101 bis 200
201 bis 300
300 bis 370 ... auf den Rechner gekommen. Zum Zerlegen der Doppelseiten hab ich dann hier das Tool u. die Dokumentation: MuPDF Documentation
verwendet.

Ich wollte also aus den Doppelseiten die Einzelseiten "herausholen".

Das hab ich mal gemacht mit einem Toolpaket

1625598872284.png


Die Tools die ich verwendet habe:

mupdf-tools und dann kam noch pdftk hinzu:
pdftk kann zwar ein mehrseitiges PDF in Einzelseiten auftrennen (je Seite eine Datei),
aber nicht Doppelseiten „zerschneiden“. Dazu muss mupdf und die mupdf-tools her.

Code:
apt install mupdf-tools

Ein einseitiges aber auch ein mehrseitiges PDF wird dann Seite für Seite in zwei Seiten vertikal zerschnitten [schnipp-schnapp] mit:

Code:
mutool poster -x 2 input.pdf output.pdf

Die Option -x2 sagt aus, dass das Dokument in der X-Achse in zwei Teile geteilt werden soll. Die Schnittachse ist dementsprechend in der Mitte von oben nach unten, damit links und rechts zwei gleich große Seiten entstehen.
das Tolle: man kann die Schnittachsen einfach in der kommandozeile festlegen - x und y Achsen lassen sich auf der Kommandozeile einfach mit verarbeiten u. festlegen.

Fazit: auf der Kommandozeile sind das für die 370 Seiten - vorliegend in 4 Tranchen genau vier Befehl

Ein Dokument in einzelne Seiten aufsplitten - das geht sehr schnell - das macht man dann mit pdftk

Code:
pdftk input.pdf burst

Die Ausgabefiles finden sich dann schlicht im selben Verzeichnis als pg_0001.pdf, pg_0002.pdf usw.

vgl. auch hier: Doppelseitiges PDF vertikal teilen – Jakob und Linux

und die ganze Dokumentation:
a. weitere Kommandos: mupdf man page - General Commands | ManKier
b. das Tool: MuPDF Documentation: MuPDF is an open source software framework for viewing and converting PDF, XPS, and E-book documents.
There are viewers for various platforms, several command line tools, and a software library for building tools and applications.

The command line tools are all gathered into one umbrella command: mutool.

For rendering and converting documents there are three commands available:

mutool draw: This is the more customizable tool, but also has a more difficult set of command line options. It is primarily used for rendering a document to image files.
mutool convert: This tool is used for converting documents into other formats, and is easier to use.
mutool trace: This is a debugging tool used for printing a trace of the graphics device calls on a page.
There are also several tools specifically for working with PDF files:

mutool show: A tool for displaying the internal objects in a PDF file.
mutool extract: Extract images and embedded font resources.
mutool clean: Rewrite PDF file. Used to fix broken files, or to make a PDF file human editable.
mutool merge: Merge pages from multiple input files into a new PDF.
mutool create: Create a new PDF file from a text file with graphics commands.
And finally, there is a tool for doing anything you can imagine:
mutool run: A tool for running Javascript programs with access to the MuPDF library functions.

Fazit: auf der Kommandozeile sind das für die 370 Seiten - vorliegend in 4 Tranchen genau vier Befehle - und fertig ist der Job.

Doch hier war ich leider noch nicht fertig - denn ich hatte plötzlich eine nicht-lineare Paginierung - mit der man gar nix anfangen kann:

1,3,2,4,6,5,7. und so weiter und so fort.
M.a.W. die PDF-Datei mit den Einzelseiten (!) entstanden ist hatte eine furchtbar falsche Paginierung.

Das lag wohl an der Methode mit der MuPDF die Daten zerlegt hat - da muss es m.E. so etwas geben wie ein Booklet-Format - welches dann für dieses Chaos in meiner Ausgabe sorgte - wohl in der Annahme dass ich mit den gewonnenen Daten ein irgendwie geartetes Booklet baue.

Was ich allerdings brauche, das ist das Ganze in fortlaufenden Seitennummern - also mit einer korrekten Paginierung.


Wie würdet ihr das Ganze angehen - so dass das mit der Paginierung stimmt?

Freue mich auf einen Tipp, 😊

VG
 
Zuletzt bearbeitet:
Hallo, für Text ist jpg (sehr wenig komprimiert) allemal ausreichend, wichtiger die Auflösung.

Ich hab das zweimal so gemacht nach dem Scan - als Schritte:
- Batch-Zuschneiden linke Seite
- Batch-Umbenennen ab Nummerierung ab 1 mit 2 er-Schritt
- Dieselben beiden Schritte entsprechend für die rechte Seite, umbenennen ab 2 mit 2 er-Schritt.

Dann alle Bilddateien in einen Ordner schieben und ein PDF daraus machen.

@say_hello Den für mich wichtigsten Punkt kann ich in deiner Planung nicht entdecken: OCR bei der Erstellung des PDF.

Wenn ich schon ein Buch in ein PDF umwandle, dann will ich darin auch Text finden können und daraus kopieren können.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: say_hello
OCR unter Linux ist mit Schmerzen verbunden 😉
 
  • Danke
  • Freude
Reaktionen: say_hello, holms und HerrDoctorPhone
@braindealer Interessehalber: Wieso?
 
  • Danke
Reaktionen: say_hello
Zuerst musst du einmal einen Drucker/Scanner haben/finden der gut durch Linux/SANE unterstützt wird.
Wenn du dann einen gefunden hast und du die OCRsoftware wie z.b Tesseract installiert hast, kannst du nur hoffen das dass gewählt Frontend in der verfügbaren Version das zusammenspiel nict verweigert aufgrund von fehlern etc.
Wenn es dann mal irgendwann läuft und man dann ein Update macht kann dir das ganze Konstrukt um die Ohren fliegen, obwohl das kann dir auch so passieren. Heute funktioniert es und morgen zickt das Gespann rum und lässt dich im dunkeln warum.
Ich versuche auch grad OCR zum laufen zu bringen, habe tesseract und gscan2pdf installiert neben anderer Frontends.
gscan2pdf verweigert die Arbeit, stelle ich von ADF auf Flachbrett um, rödelt die Software und quitiert dann den Dienst und ich muss die Software per kill auf der konsole beenden.
 
Zuletzt bearbeitet:
@braindealer Wieso nicht OCR bei der Erstellung des PDF anstatt beim Scannen?

Geht ja sogar in Android ;)
 
ich habe schon ein paar Bücher eingescant, mit simplescan unter linux als Text mit einer 300 Auflösung. Das Ganze dann mit Adobe acrobat ( vielleicht geht es auch mit pdfarranger ) zurecht geschnitten. Insgesamt gutes Ergebnis.
 

Ähnliche Themen

A
Antworten
35
Aufrufe
595
chk142
C
S
  • Schatzilein
2
Antworten
28
Aufrufe
962
marcodj
marcodj
pulpOID
Antworten
2
Aufrufe
101
hagex
hagex
Zurück
Oben Unten