Wie kann ich eine PDF Datei ohne Hintergrund drucken?
-
Folgendes Problem.
Ich habe eine Tabelle als PDF Datei, der Text ist echter markierbarer Text in blauer Schrift und die Tabelle hat einen Hintergrund.
Nun würde ich die Tabelle gerne ohne Hintergrund ausdrucken.Wenn ich die Tabelle in eine Tabellenkalkulation kopiere, z.B. OpenCalc, dann geht die Formatierung verloren, den das einzige nutzbare Trennzeichen, um die Tabelle in die Tabellenkalkulation einzufügen, ist das Leerzeichen.
Dummerweise wird bei einigen Einträgen das Leerzeichen aber auch für eine Zelle verwendet, so dass die gesamte Formatierung variabel nach rechts verschoben wird, je nach dem, wieviele Leerzeichen sich in einer Zeile befinden.
Bei 17 Seiten ist das leider etwas viel Arbeit, das alles händisch zu korrigieren. Eine Automatisierung wäre bestenfalls unter Ausnutzung der festen Spaltenbreite der Tabelle möglich, denn die Spalte, in der Leerzeichen mehrmals vorkommen, gibt's nur einmal. Aber das ganze ist mit Aufwand verbunden und ich habe momentan nicht die Zeit das händisch zu programmieren.Gibt es daher eine effiziente Löaung, den Hintergrund zu entfernen?
Als OS stehen mir Windows und Linux zur Verfügung, ich kann also auch die Programme unter Linux nutzen, falls es da irgendwelche gibt, die das können.Das PDF Dokument gibt es auch hier zum Download:
https://www.kabelbw.de/kabelbw/cms/downloads/kabel-bw-programmuebersicht.pdf
-
In einigen Spalten gibt es leider gar keinen Eintrag.
Das würde das automatisieren ebenfalls erschweren.Am besten wäre also ein Programm, mit dem man den Hintergrund einfach aus der PDF entfernen kann.
-
Hab die PDF in OpenOffice importiert, damit ging es dann.
-
Herzlos schrieb:
Hab die PDF in OpenOffice importiert, damit ging es dann.
Wenn ich das so mache, dann stimmt bei genauem Blick auf die Tabelle die Formatierung trotzdem nicht.
D.h. die Zelleneinträge sind zu weit links oder rechts und gehen auch in die Nachbarzelle rein.
REin technisch ist da auch keine Zelle mehr, sondern nur noch eine freie Orientierung von Textsprites.Gibt es keine Lösung mit der man die PDF direkt bearbeiten und da den Hintegrund entfernen kann?
-
Falls sich jemand die Arbeit für ein Script machen möchte.
Die Zelleinträge, die nur zu einer Zelle gehören und trotzdem durch Leerzeichen in die nächste Spalte verschoben wurden, kann man automatisiert wieder in die vorherige Spalte zum bestehenden Eintrag kopieren, denn der auf diesen Bezeichner folgenden Spalteneintrag besteht immer aus 3 Ziffern. Bei den Eigennamen die durch Leerzeichen getrennt wurden, ist dies aber nicht der Fall.
Damit kriegt man also zumindest dies automatisiert in den Griff.
Der Eintrag in der 4. Spalte darf nicht mit einem Buchstaben beginnen.
Tut er es doch, dann gehört alles folgende um eine Spalte verschoben.
Damit kriegt man also auch die Einträge in den Griff, bei der in der 4. Spalte die Einträge leer sind.Für die anderen Leerfelder habe ich noch keine Lösung gefunden.
-
Okay, habe ne algorithmische Lösung.
Also bei den Zellen, bei dem die Zellwerte in Spalte 7 und 8 leer sind, darf kein Zellwert aus dem String "Ja" oder "Nein" bestehen, denn das gehört zu 9. Spalte.
Damit kriegt man alle Seiten, außer 6-7 in den Griff.
Für diese beiden braucht man einen anderen Algorithmus.
-
Hab's gelöst.
Ich habe mir das mit dem PDF Import in OpenOffice noch einmal angesehen.
Die Probleme beim Entwerfen eines Algorithmus, der den Spezialfall für Seite 6-7 in den Griff kriegt, hat mich auf die Idee gebracht.Denn OpenOffice muss diesen Import ja auch irgendwie algorithmisch lösen, sofern das kein Dokumentenscanner ist.
Und darin liegt der Trick.
Wenn man die PDF Datei in zwei neue PDF Dateien aufteilt, also eine für den Spezialfall auf Seite 6-7 und den Rest in eine andere PDF Datei, dann kann man mit Open Office die beiden PDF Dateien fehlerfrei einlesen, da PDF nun beim Einlesen und Erkennen nicht mehr versucht, mit einem einzigen Algorithmus alles richtig einzulesen.
Durch die Auftrennung in zwei PDFs, erstellt OpenOffice auch gleich zwei Algorithmen und die arbeiten so gut, dass ich die Tabellen nun fehlerfrei zu Open Office konvertieren konnte.Technisch ist das zwar in Open Office keine Tabelle mehr, sondern nur eine Zeichnung, aber dafür kann ich nun die gesamte Tabelle zumindest grafisch ohne Hintergrund und in guter Formatierung ausdrucken.
Wer aus der PDF Datei eine echte Tabelle machen möchte, der sollte sich an die Tipps für den Algorithmus halten, die ich vorgeschlagen habe.
Durch letzteres könnte man die Tabellen sortieren und z.B. verschlüsselte Sender beim Ausdruck ignorieren.Das geht mit der OpenCalc Datei leider nicht, denn das ist nur eine Zeichnung, aber immerhin reicht das für einen Ausdruck und die verschlüsselten Sender kann ich gebrauchen.
Das Ganze ist übrigens ne nette Programmieraufgabe für Programmieranfänger.
Wer also nichts zu tun hat, der kann sich daran mal versuchen.
Dazu die Tabellen des PDF Dokuments per Copy & Paste in einen normale Textdatei kopieren und dann mit dieser Arbeiten.
Die Leerzeichen dienen als erste Spaltentrennzeichen.
Die Spezialfälle, bei denen Namen aus mehreren Wörtern bestehen und somit mehrere Leerzeichen haben, kann man die Spaltenverschiebung durch obige Lösungsstrategien rückgängig machen.
Wenn man die Tabelle am Ende innerhalb des Programms in korrekter Spaltenform vorliegen hat, dan kann man sie wieder als Textdatei abspeichern und als Trennzeichen zwischen den Spalten TAB verwenden.
Damit kann man die Textdatei in OpenCalc wieder einlesen und als Trennzeichen TAB anstatt dem Leerzeichen verwenden.An den Spzeialfall 6-7 dürfen sich diejenigen die Zähne ausbeißen, die darauf Lust haben.
Mir persönlich genügt meine obige Lösung für den Ausdruck.