Freitag, 28. November 2014

Tipp: PDF-Dateien aus Word und Excel verbessern

Wir verschicken öfter Dokumente als sog. PDF-Datei. Das ist ein Format von Adobe. Dokumente sind gegen Veränderungen geschützt und lassen sich auf vielen Geräten lesen. Das Speichern als PDF-Datei bei Microsoft-Office ist sehr hilfreich. Allerdings haben die erzeugten Dateien Fehler und sind zu groß. In diesem Beitrag zeige ich eine kleine Hilfe.
Ich habe ein wichtige Dokument in Word erstellt und will dies als PDF-Datei verschicken, damit der Empfänger nichts mehr in der Datei ändert. Ich habe ein Testdokument in Word erstellt.

Die PDF-Versionen von Word und Excel haben Fehler


In Word rufe ich die Funktion "Speichern unter ..." auf (Abb. 1).
Abb. 1: Datei "Speichern unter ..." in Word
In dem Ordner, wo meine Word-Datei (mit der Endung docx) liegt, finde ich nun eine PDF-Datei (Abb. 2). Die Dateien sind auch unterschiedlich groß.

Abb. 2: Word- und PDF-Datei
Hm, eigentlich ist nur wenig Text in der Word-Datei. Über 200 KiloByte macht mich schon stutzig. Eine vergleichbare Textdatei hat keine 2 KB. Aber egal, sehen wir weiter.

Ich öffne die PDF-Datei und kopiere den Titel in meine E-Mail. Merkwürdig, im Adobe Reader kann ich gar nicht alles markieren und er nimmt automatisch das Wort von der nächsten Zeile mit (Abb. 3).
Abb. 3: Die erste Zeile lässt sich nicht markieren
Ich möchte den kopierten Text einfügen. Der sieht so aus:
Testdokument TE Testdokument TETestdokument TETestdokument TETestdokument TETestdokument TETestdokument TETestdokument TE Testdokument TETestdokument TETestdokument TETestdokument TETestdokument TE-20142015 -ABCABCABC-0101
(Bitte

Offensichtlich hat Word mehr Text exportiert, als es sollte.

So repariert man die Datei

Da ich kein Geld für eine teure Adobe-Lizenz ausgeben will, muss ich mir anders behelfen. Ich nutze stattdessen Ghostscript (/1/). Eins der besten Tools für PDF-Bearbeitung und dazu noch kostenlos. Durch eine Internetrecherche finde ich schnell den richtigen Ghostscript-Befehl. Er lautet so: gswin32c.exe -o Nachher.pdf -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress Vorher.pdf

Je nachdem welche Windows-Version man nutzt, braucht gswin32c für 32bit-Systeme und gswin64c für 64bit-Systeme.

Da ich nicht jedesmal diesen kryptischen Befehl eingeben will, erstelle ich mir eine Batch-Datei, die zum Beispiel PDFREWRITE.BAT heißt. Der Inhalt steht im Anhang. Ich rufe die Datei mit meinem Testdokument auf. Und richtig: Ghostscript meldet Fehler:
**** This file had errors that were repaired or ignored.
**** The file was produced by:
**** >>>> Microsoft? Word 2013 <<<<
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.
Nun hat sich auch die Dateigröße geändert (Abb. 4).
Abb. 4: Die gesäuberte Datei ist kleiner
Nun testen wir mal, ob ich den Text nun kopieren kann. Nun kann ich den Text markieren und es steht auch der richtige Text in der Zwischenablage: Testdokument TE-20142015-ABC-0101 (Abb. 5)
Ich habe mir angewöhnt, JEDE PDF-Datei, die ich mit Word, Excel und PowerPoint erstelle, durch mein Säuberungsskript zu jagen. Die Dateien sind immer ordentlicher, haben weniger Fehler und lassen sich schneller öffnen.

Anmerkungen

Quelltext pdfrewrite.bat

Der genaue Pfad zu Ghostscript hängt von Ihrer Installation ab. %1 steht für den Dateinamen, den Sie an das Skript übergeben. Der Aufruf lautet: pdfrewrite.bat Name-der-PDF-Datei.pdf

Mit ~n können Sie nur den Dateinamen (ohne Erweiterung) auswählen. %~n1 gibt also den Dateinamen des ersten Aufrufparameters zurück, in diesem Fall "Name-der-PDF-Datei".

@ECHO OFF
ECHO Datei %1 wird in "%~n1_vorher.pdf" umbenannt und ueberprueft
REN %1 "%~n1_vorher.pdf"
"C:\Program Files\gs\gs9.14\bin\gswin64c.exe" -o "%~n1_nachher.pdf" -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress "%~n1_vorher.pdf"
ECHO PDF-Datei "%~n1_nachher.pdf" erstellt

Keine Kommentare:

Kommentar veröffentlichen