在我们公司,我们需要将扫描的PDF文件存储在基于PHP的系统上。通常,大多数扫描的PDF文件都过大,因为它们中的图像是以非常高的质量存储的。
使用一些在线转换工具,我可以减少扫描的PDF文件高达80%,而不失去可读性。(表示文件是可压缩的)
我使用TCPDF处理PDF文件,但我无法找到一种直接的方式,以减少图像大小而不扭曲PDF布局。
是否可以通过TCPDF (或任何其他库)实现这一目标?
请注意:我不创建PDF文件。这是由扫描仪完成的。我需要压缩一个PDF文件已经创建的图像(S)在其中。
发布于 2020-01-16 08:35:10
您可以在创建pdf之前压缩图像,如:
compressedImage($source, $path, $quality); //before create pdf
// Compress image function
function compressedImage($source, $path, $quality) {
$info = getimagesize($source);
if ($info['mime'] == 'image/jpeg'){
$image = imagecreatefromjpeg($source);
}elseif ($info['mime'] == 'image/gif'){
$image = imagecreatefromgif($source);
}elseif ($info['mime'] == 'image/png'){
$image = imagecreatefrompng($source);
}
imagejpeg($image, $path, $quality);
return $path;
}
或使用tcpdf中的类,如
public
setJPEGQuality( $quality )
//------------------//
SetCompression( $compress = true )
Activates or deactivates page compression. When activated, the internal representation of each page is compressed, which leads to a compression ratio of about 2 for the resulting document. Compression is on by default. Note: the Zlib extension is required for this feature. If not present, compression will be turned off.
发布于 2020-01-16 08:34:24
您可以实现两种方式:
Image( $file, $x = '', $y = '', $w = 0, $h = 0, $type = '', $link = '', $align = '', $resize = false, $dpi = 300, $palign = '', $ismask = false, $imgmask = false, $border = 0, $fitbox = false, $hidden = false, $fitonpage = false, $alt = false, $altimgs = array() )
见文档这里
https://stackoverflow.com/questions/59765428
复制相似问题