2017-09-25 51 views
0

我正在處理輸入文件具有擴展名.tif(標記圖像文件格式(TIFF))的應用程序。基本問題是在所有主流瀏覽器都不適用的瀏覽器中顯示.tif文件。該解決方案我已經接受的是使用http://image.intervention.io/api/encode將它們轉換成PNGtif到pdf/png enocoding

我已經很轉化.tif文件爲PNG在PHP 5.5 Laravel

圖片干預是靠imagick爲TIF編碼,我已經安裝了這個依賴,但編碼方案是轉換/顯示/存儲第一個圖像從tif文件,而不是所有的文件。

任何人都可以使用任何PHP庫從tif解決PNG或PDF轉換?

回答

0

我的建議是:您必須使用gdal2tiles.py將.tif文件轉換爲.png。

gdal2tiles Documentation

當您運行此命令其創建一個輸出文件夾,在其中你openlayers.html文件,打開它,看看在每個瀏覽器的.tif文件輕鬆。

如果您需要與此相關的任何幫助,請發表評論。我會指導你。

+0

感謝您的回覆,但我的要求是用PHP,所以使Python腳本有點複雜 – Chintan7027

1

我覺得很不錯article這裏,解決這個問題的辦法是,

$file = Storage::disk('s3')->get(request()->file_name); 
$file_pdf =storage_path("app/bundle/tmp/".end($name).".pdf"); 
$document =new \Imagick(); 
$document->readImageBlob($file); 
if (!$document->writeImages($file_pdf, true)) { 
    echo "Unable to write the file"; 
} else { 
    $document->clear(); 
} 
return response()->file($file_pdf)->deleteFileAfterSend(true); 

我一直在使用laravel存儲讀取文件的S3流,並通過使用Imagick readImageBlob()方法斑點。現有技術的狀態是$document->writeImages("to_pdf.pdf")文件。最後你可以清除文件變量