Я конвертирую PDF-файлы в PNG-файлы, используя imagick в PHP. Для этого примера у меня есть файл PDF с только 5 строками текста на первой (и единственной) странице. Этот PDF создается из файла Word (он не сканируется в).
Мой код для преобразования файла выглядит следующим образом:
$im = new Imagick();
$im->setResolution(200,200);
$im->readImage($_SERVER['DOCUMENT_ROOT'] . '/codeigniter/vrm/documents/uploaded_documents/2020/04/buddy_voor_lennert-01042020130414.pdf[0]');
$im->scaleImage(500,500);
$im->setImageFormat('png');
$im->writeImage($_SERVER['DOCUMENT_ROOT'] . '/codeigniter/vrm/documents/images/thumbnails/lennert.png');
$im->clear();
$im->destroy();
После этого создается png, но качество текста ужасное, становится нечитаемым, смотрите скриншот. прилагается ниже.
Как мне сохранить то же качество? Я хочу создать миниатюру и изображение нормального размера. Таким образом, миниатюра может быть более низкого качества, но изображение нормального размера должно быть, по крайней мере, читаемого качества.
Я пытался уменьшить разрешение до 50x50 или пытался использовать следующие методы, но безрезультатно:
$im->setImageCompressionQuality(0); (also to 100)
$im->resizeImage(500, 500, Imagick::FILTER_LANCZOS, 0, true);