From 6d7da0eaacbcb5e629926eeccf6c5bd0986302cc Mon Sep 17 00:00:00 2001 From: Chesterkxng Date: Sun, 26 Apr 2026 00:26:33 +0200 Subject: [PATCH] chore: zip util file deleted --- src/pages/tools/pdf/pdf-to-png/service.ts | 12 ++++++++---- src/utils/zip.ts | 11 ----------- 2 files changed, 8 insertions(+), 15 deletions(-) delete mode 100644 src/utils/zip.ts diff --git a/src/pages/tools/pdf/pdf-to-png/service.ts b/src/pages/tools/pdf/pdf-to-png/service.ts index a32e3f1..5f6839d 100644 --- a/src/pages/tools/pdf/pdf-to-png/service.ts +++ b/src/pages/tools/pdf/pdf-to-png/service.ts @@ -1,6 +1,6 @@ import * as pdfjsLib from 'pdfjs-dist'; import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.min?url'; -import { zipFiles } from '@utils/zip'; +import JSZip from 'jszip'; pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsWorker; @@ -16,6 +16,7 @@ export async function convertPdfToPngImages(pdfFile: File): Promise<{ }> { const arrayBuffer = await pdfFile.arrayBuffer(); const pdf = await pdfjsLib.getDocument({ data: arrayBuffer }).promise; + const zip = new JSZip(); const images: ImagePreview[] = []; for (let i = 1; i <= pdf.numPages; i++) { @@ -36,11 +37,14 @@ export async function convertPdfToPngImages(pdfFile: File): Promise<{ const filename = `page-${i}.png`; const url = URL.createObjectURL(blob); images.push({ blob, url, filename }); + zip.file(filename, blob); } - const zipFile = await zipFiles( - images.map(({ blob, filename }) => ({ blob, filename })), - pdfFile.name.replace(/\.pdf$/i, '-pages.zip') + const zipBuffer = await zip.generateAsync({ type: 'arraybuffer' }); + const zipFile = new File( + [zipBuffer], + pdfFile.name.replace(/\.pdf$/i, '-pages.zip'), + { type: 'application/zip' } ); return { images, zipFile }; diff --git a/src/utils/zip.ts b/src/utils/zip.ts deleted file mode 100644 index fe248dc..0000000 --- a/src/utils/zip.ts +++ /dev/null @@ -1,11 +0,0 @@ -import JSZip from 'jszip'; - -export async function zipFiles( - blobs: { blob: Blob; filename: string }[], - zipFilename: string -): Promise { - const zip = new JSZip(); - blobs.forEach(({ blob, filename }) => zip.file(filename, blob)); - const zipBuffer = await zip.generateAsync({ type: 'arraybuffer' }); - return new File([zipBuffer], zipFilename, { type: 'application/zip' }); -}