tif 到 pdf/png 编码

tif to pdf/png enocoding

我正在处理输入文件扩展名为 .tif(标记图像文件格式 (TIFF))的应用程序。基本问题是在所有浏览器中显示 .tif 文件,这不适用于所有主要浏览器。我接受的解决方案是将它们转换为 png

我正在使用 PHP Laravel 5.5

中的 http://image.intervention.io/api/encode 将 .tif 文件转换为 png

图像干预依赖于 imagick 进行 tif 编码,我已经安装了这个依赖项,但编码方案是 converting/display/store 来自 tif 文件的第一个图像,而不是所有文件。

任何人都可以使用任何 PHP 库解决从 tif 到 PNG 或 PDF 的转换吗?

我的建议是:您必须使用 gdal2tiles.py 将您的 .tif 文件转换为 .png。

gdal2tiles Documentation

当您 运行 此命令创建一个输出文件夹,您可以在其中获得 openlayers.html 文件,打开它并在每个浏览器中轻松查看您的 .tif 文件。

如果您需要与此相关的任何帮助,请发表评论。我来带你。

我发现这里很好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() 方法传递了那个 blob。最先进的是 $document->writeImages("to_pdf.pdf") 文件。最后你可以清除文件变量