我在Ubuntu上使用itextpdf來填充包含數據的PDF表單。事實上,我使用這個套件中包含的一個類(實用程序):PdfFormFiller。數據由Unicode字符串表示。要正確顯示Unicode字符,我使用PdfFormFiller的-fonts選項。itextpdf僅從命令行嵌入字體
爲此,我編寫了一個PHP腳本,該腳本簡單地使用正確的參數調用PdfFormFiller。
<?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);
?>
當我從命令行(php)以root身份運行PHP文件時,一切都很好。 PDF具有嵌入字體並且字符顯示正確。
但是,當我從網站運行腳本(訪問鏈接)生成的PDF不包含所需的字體(Arial與所有的Unicode字符)。
我試圖用絕對路徑,相對(網頁)路徑和變體來引用字體文件(在PHP腳本中)。不行。
我允許Apache用戶對涉及的所有文件擁有全部訪問權限。不行。
任何想法?
什麼讓你覺得'php'從根帳戶運行具有相同的權限運行的Web服務'php'? –
我將「apache」設置爲所有文件的所有者和組,並允許所有文件(rwx)。 –
請分享您的PHP腳本。 –