Cách tốt nhất để sửa nền đen khi chuyển đổi nhiều trang PDF sang JPG bằng phần mở rộng Imagick php là gì?Nền đen khi chuyển đổi nhiều trang PDF sang JPG với phần mở rộng Imagick php
Tiếp theo là các mã được sử dụng trên ứng dụng của tôi:
$imagick = new Imagick($file);
$imagick->setResolution(150,150);
$imagick->setImageFormat("jpg");
$imagick->setImageCompression(imagick::COMPRESSION_JPEG);
$imagick->setImageCompressionQuality(70);
foreach ($imagick as $c => $_page) {
$_page->setImageBackgroundColor('white');
$_page->adaptiveResizeImage($maxsize,$maxsize,true);
$_page->writeImage("$file-$c.jpg");
}
I'am biết rằng phương pháp flattenImage thể được sử dụng để loại bỏ nền đen, chẳng hạn như trong:
$imagick = $imagick->flattenImages();
Nhưng khi tệp có nhiều trang hơn, phương thức flattenImages đặt tất cả các trang trên cùng một hình ảnh và do đó kết quả là bản sao của trang cuối cùng trong tất cả các JPG được tạo.
Tôi đánh giá cao nếu có ai có thể giúp tôi.
Bạn có thể đăng một tệp PDF mẫu không? – Danack
Chắc chắn, đây là ví dụ: http://www.faceo.com.br/temp/Manual%20Split%20hiwall%20YORK-1.pdf và một trong các jpg được tạo: http: //www.faceo .com.br/temp/Manual% 20Split% 20hiwall% 20YORK-1.pdf-10.jpg – fcaserio
Er, không có áp lực ... nhưng nếu nó giải quyết được vấn đề của bạn, làm thế nào 'bout nhấn nút chấp nhận đó? ;-) – Danack