Merge pull request #225 from Akhrameev/patch-1

Change image embedding from PNG to JPEG format
This commit is contained in:
Alam
2025-12-06 21:05:07 +05:30
committed by GitHub

View File

@@ -219,10 +219,14 @@ async function performFlatteningCrop(cropData: any) {
finalHeight finalHeight
); );
const pngBytes = await new Promise((res) => // Quality value from the compress-pdf.js settings.
finalCanvas.toBlob((blob) => blob.arrayBuffer().then(res), 'image/png') // 0.9 for "High Quality", 0.6 for "Balanced". Let's use High Quality.
const jpegQuality = 0.9;
const jpegBytes = await new Promise((res) =>
finalCanvas.toBlob((blob) => blob.arrayBuffer().then(res), 'image/jpeg', jpegQuality)
); );
const embeddedImage = await newPdfDoc.embedPng(pngBytes as ArrayBuffer); const embeddedImage = await newPdfDoc.embedJpg(jpegBytes as ArrayBuffer);
const newPage = newPdfDoc.addPage([finalWidth, finalHeight]); const newPage = newPdfDoc.addPage([finalWidth, finalHeight]);
newPage.drawImage(embeddedImage, { newPage.drawImage(embeddedImage, {
x: 0, x: 0,