ich habe ein nicht unbedingt störendes, aber seltsames Problem beim Export von PDF gefunden.
Folgende Situation: Ich benutze gerade Java, um mit einem OpenOffice 2.0.4 im Servermode (-headless -nologo und so) dazu zu bringen, von OpenDoc in PDF zu konvertieren.
Ich habe dazu auch einen JUnit Test. Das zu konvertierende Dokument enthält den Text "Hallo Welt\n", der Test überprüft, ob der String enthalten ist. Das tut er, indem er PDFBox benutzt, um den plain-text aus dem erhaltenen PDF zu extrahieren.
Das Testsystem ist ein Ubuntu 6.10, Java ist 1.5.0.8.
Der Test schlägt fehl, also habe ich mir mal die Bytes anzeigen lassen (String.getBytes(), egal ob im default-Encoding oder explizit als UTF-8) und hier ist der Fehler:
Code: Alles auswählen
Geliefert: 72 97 108 108 111 -62 -96 87 101 108 116 10
Erwartet: 72 97 108 108 111 32 87 101 108 116 10
Das scheint mir ein wenig komisch. Jetzt weiß ich nicht, ob das ein Fehler von OpenOffice oder von PDFBox ist (der Fehler tritt nur bei PDF auf, nicht bei HTML oder DOC) und da ich außerdem von Encoding recht wenig verstehe, wende ich mich an Euch:
Kennt jemand das Problem oder hat gerade Lust, es nachzuvollziehen?
Erkennt jemand das verwendete Encoding?
Kann jemand ein anderes kostenloses Java-Tool empfehlen, um die Conversion zu überprüfen?
Komme ich darum herum?
Was ich bisher getan habe: Ich habe mal nach "whitespace" und den Zahlen gegoogelt, nix gefunden. Ich habe nach einem anderen Tool gesucht, aber die meisten scheinen sich mit dem Generieren von PDF (wie iText) zu befassen, nicht mit dem Auslesen. Oder sind kostenpflichtig (icePDF). Einzig JPedal könnte taugen, ist aber um einiges fummeliger als PDFBox. Ich habe im Forum gesucht (pdf encoding), bei ooo-portal.de gesucht und dort ebenso dieses Posting hinterlassen und zur Kenntnis genommen, daß oooforum.org down ist.
MfG,
Tierlieb