2016-03-24 18 views
0

Ich benutze Itextpdf auf Ubuntu, um ein PDF-Formular mit Daten zu füllen. In der Tat verwende ich eine Klasse (Dienstprogramm) in diesem Kit enthalten: PdfFormFiller. Die Daten werden durch Unicode-Strings dargestellt. Um die Unicode-Zeichen korrekt anzuzeigen, verwende ich die Option -fonts von PdfFormFiller.itextpdf Einbetten von Schriftarten nur von der Befehlszeile aus

Dafür schrieb ich ein PHP-Skript, das einfach PdfFormFiller mit korrekten Parametern aufruft.

<?php 
$command = "java -cp ./bin:lib/itextpdf-5.5.3.jar PdfFormFiller.PdfFormFiller DIPLOMA_FORM.pdf -f test.fdf -font \"fonts/arial.ttf\" -flatten test.pdf"; 
exec($command); 
?> 

Wenn ich die PHP-Datei als root von der Kommandozeile (php) alles laufen ist in Ordnung. Die PDF hat die eingebettete Schriftart und die Zeichen werden korrekt angezeigt.

Aber wenn ich das Skript aus dem Web (Zugriff auf den Link) ausführen, enthält das generierte PDF nicht die erforderliche Schriftart (Arial mit allen Unicode-Zeichen).

Ich habe versucht, die Schriftart-Datei (in PHP-Skript) mit absoluten Pfad, relativ (zur Webseite) Pfad und Variationen beziehen. No Go.

Ich erlaubt Apache Benutzer alle Zugriffsrechte auf alle beteiligten Dateien. No Go.

Irgendwelche Ideen?

+0

was macht denken Sie 'php' von Ihrem Root-Account läuft, hat die gleichen Berechtigungen wie' php' als Web-Service ausgeführt wird? –

+0

Ich setze "Apache" als Besitzer und Gruppe für alle beteiligten Dateien und die Erlaubnis zu allem (rwx). –

+0

Bitte teilen Sie Ihr PHP-Skript. –

Antwort

Verwandte Themen