如何通过 php 在 imagemagick 中将多页 PDF 转换为多图像
How to convert multi page PDF to multi image in imagemagick through php
我的问题是我必须将多页 PDF 转换为文本,因此我使用 imagemagick 软件,它可以简单地将 PDF 转换为图像,并且我可以非常轻松地从图像中提取文本。但问题是,如果 PDF 超过 40 页,那么它只会从 PDF 转换最后一页,所以该怎么做要么将每一页转换为图像格式,要么制作所有 PDF 页面的单个图像。我应该怎么做?
我在这里为单页 PDF 完成了这里每个 PDF 都被转换为图像并存储在上传文件夹中你可以看到:
$image = new Imagick(__DIR__.'/'.$target_file);
$image->setImageFormat('png');
$imageName = __DIR__.'/uploads/'.time().'.png';
$image->writeImage($imageName);
请帮帮我。我正在等待回复。
我解决了我的问题,如果有人遇到类似问题可以看这里。
$image = new Imagick(__DIR__.'/'.$target_file);
$num_pages = $image->getNumberImages();
for($i = 0; $i < $num_pages; $i++)
{
$image->setIteratorIndex($i);
$image->setImageFormat('png');
$imageName = __DIR__.'/uploads/'.$i.time().'.png';
$var = $image->writeImage($imageName);
}
我的问题是我必须将多页 PDF 转换为文本,因此我使用 imagemagick 软件,它可以简单地将 PDF 转换为图像,并且我可以非常轻松地从图像中提取文本。但问题是,如果 PDF 超过 40 页,那么它只会从 PDF 转换最后一页,所以该怎么做要么将每一页转换为图像格式,要么制作所有 PDF 页面的单个图像。我应该怎么做?
我在这里为单页 PDF 完成了这里每个 PDF 都被转换为图像并存储在上传文件夹中你可以看到:
$image = new Imagick(__DIR__.'/'.$target_file);
$image->setImageFormat('png');
$imageName = __DIR__.'/uploads/'.time().'.png';
$image->writeImage($imageName);
请帮帮我。我正在等待回复。
我解决了我的问题,如果有人遇到类似问题可以看这里。
$image = new Imagick(__DIR__.'/'.$target_file);
$num_pages = $image->getNumberImages();
for($i = 0; $i < $num_pages; $i++)
{
$image->setIteratorIndex($i);
$image->setImageFormat('png');
$imageName = __DIR__.'/uploads/'.$i.time().'.png';
$var = $image->writeImage($imageName);
}