iT邦幫忙

0

PHP 如何將圖檔轉成PDF

  • 分享至 

  • xImage

目前已成功將JPG,JPEG,BMP,PNG轉PDF
失敗的圖檔:TIF,TIFF
1.想請問各位大大想將BMP,TIF,TIFF也轉成PDF ,PHP只能只用Imagick 嗎?
2.因為按照網上的教學,首先下載DLL ,並將檔案放置PHP ext中 ,再將extension=imagick, 還是無法將此擴展打開,檢查apache errorlog 也沒有擴展打開的錯誤訊息,
想請問打開的步驟還有欠缺甚麼嗎?

ps:目前使用XAMPP (ts VC15) PHP7.3.5

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

3
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2023-06-20 17:34:07
最佳解答

一般來說,你最好先放一支 phpinfo 來查看,是否有正常載入imagick。
因為有很多情況是,你改錯了 INI 檔。

一般會先查看 phpinfo 確定ini的位置,再下去修改。
修改完後要記得重新啟動。
然後再查看phpinfo來看是否已經有載入了。

qpalzm iT邦新手 1 級 ‧ 2023-06-21 08:19:23 檢舉

謝謝星空大的說明,想額外詢問上述的需求是不是只有imagick達的到?

這其實主要還是要看插件的支援度。
認真來說,大多數只要能處理圖片的插件都能辦到。

而其中,GD庫是固定優先會支援的。
imagick可以說是後期才有的支援。
早期要用它,還得安裝後才能使用。

大多數來說,現在會比較想要用imagick的原因是。
它製圖的效果比較好。比較清楚。

缺點就是目前大多不是預載掛入的插件。
PS:GD目前大多都是預載就會掛入了。

qpalzm iT邦新手 1 級 ‧ 2023-06-21 14:18:21 檢舉

了解~目前也是因為imagick不是預載掛入的插件 ,導致再處裡圖片會猶豫,要圖檔的品質優先還是GD 方便優先。

1
menghuiguli
iT邦新手 5 級 ‧ 2023-06-21 10:04:16

除了 Imagick 扩展,还有其他的 PHP 扩展可以用于将 BMP 格式的图像转换为 PDF。以下是一些常用的扩展:

GD 扩展:GD 是一个广泛使用的 PHP 扩展,它提供了一组函数,可以用于创建、操作和输出图像。使用 GD 扩展,您可以轻松地将 BMP 图像转换为 PDF。
以下是一个示例代码片段,可以使用 GD 扩展将 BMP 图像转换为 PDF:

<?php
// 创建一个 GD 图像资源并打开 BMP 文件
$im = imagecreatefrombmp('example.bmp');

// 创建一个新的 PDF 对象
$pdf = new FPDF();
$pdf->AddPage();

// 将 GD 图像资源添加到 PDF 对象中
$pdf->Image('','',$pdf->w,$pdf->h,'bmp',$im);

// 输出 PDF 文件
$pdf->Output('example.pdf','F');

// 成功转换 BMP 到 PDF
echo 'BMP 转换为 PDF 成功!';
?>

在上面的示例中,我们首先使用 imagecreatefrombmp 函数创建一个 GD 图像资源,然后使用 FPDF 类创建一个新的 PDF 对象。接下来,我们将 GD 图像资源添加到 PDF 对象中,并使用 Output 方法将 PDF 输出到文件。最后,我们输出成功消息。

TCPDF 扩展:TCPDF 是另一个流行的 PHP 扩展,可以用于创建 PDF 文件。TCPDF 扩展提供了一组函数,可以用于创建、操作和输出 PDF 文件。使用 TCPDF 扩展,您可以使用类似 Imagick 和 GD 扩展的方法将 BMP 图像转换为 PDF。
以下是一个示例代码片段,可以使用 TCPDF 扩展将 BMP 图像转换为 PDF:

<?php
// 创建一个 TCPDF 对象
$pdf = new TCPDF();

// 添加一个新的页面
$pdf->AddPage();

// 在页面上添加 BMP 图像
$bmp = imagecreatefrombmp('example.bmp');
$pdf->Image('@'.$bmp);

// 输出 PDF 文件
$pdf->Output('example.pdf', 'F');

// 成功转换 BMP 到 PDF
echo 'BMP 转换为 PDF 成功!';
?>

在上面的示例中,我们首先使用 TCPDF 类创建一个新的 PDF 对象,然后使用 AddPage 方法添加一个新的页面。接下来,我们使用 Image 方法在页面上添加 BMP 图像,并使用 Output 方法将 PDF 输出到文件。最后,我们输出成功消息。

无论您选择使用哪种扩展,都应该根据您的需求和项目的要求进行选择

qpalzm iT邦新手 1 級 ‧ 2023-06-21 14:19:17 檢舉

此擴展我有嘗試過是可以的,若是TIF,TIFF請問您還有其他的經驗嗎

淺水員 iT邦大師 6 級 ‧ 2023-06-22 11:31:01 檢舉

這種回答格式
感覺很像 AI

如果是TIF的話,只使用過Imagick

我要發表回答

立即登入回答