#node.js #graphicsmagick #gm
Вопрос:
Я пытаюсь конвертировать PDF-изображения в миниатюры в формате jpeg. Ниже приведен пример кода с GraphicMagick.
const gm = require("gm");
const imageMagick = gm.subClass({ imageMagick: true });
image = imageMagick(fileBuffer).selectFrame(0);
image.size(function onSizeComplete(err, size) {
image.quality(40).resize('', 200)
.toBuffer("jpeg", async function (error, buffer) {
if (error) {
logger.info("error buffer: " error);
} else {
//upload the image
}
});
});
Этот код отлично работает для PDF с более чем 1 страницей. Когда я пытаюсь конвертировать PDF с помощью одной страницы, изображение миниатюры просто черное. Я не в состоянии разобраться в этой проблеме.
Правка: Я попытался изменить какой-то код. Если я удалю вызов .resize (), он будет работать нормально
Комментарии:
1. он черный, когда работает локально. еще не развернул его в lambda
2. Извините — он черный только при загрузке в S3 или также черный при локальном создании файла?
3. Я не сохранил файл локально. Загружаю его на S3 с буфером, созданным при изменении размера. Попробую и посмотрю
4. Попробуйте локально вычеркнуть неверный код создания изображения
5. Он также черный по-местному.