diff --git a/src/js/logic/pdf-to-bmp.ts b/src/js/logic/pdf-to-bmp.ts index f04a1fc..dcf29da 100644 --- a/src/js/logic/pdf-to-bmp.ts +++ b/src/js/logic/pdf-to-bmp.ts @@ -65,7 +65,7 @@ export async function pdfToBmp() { showLoader(`Processing page 1 of ${pdf.numPages}...`); const page = await pdf.getPage(1); const bmpBuffer = await pageToBlob(page); - downloadFile(bmpBuffer, getCleanFilename(state.files[0].name) +'.bmp'); + downloadFile(bmpBuffer, getCleanFilename() +'.bmp'); } else { const zip = new JSZip(); @@ -80,7 +80,7 @@ export async function pdfToBmp() { showLoader('Compressing files into a ZIP...'); const zipBlob = await zip.generateAsync({ type: 'blob' }); - downloadFile(zipBlob, getCleanFilename(state.files[0].name) + '_bmps.zip'); + downloadFile(zipBlob, getCleanFilename() + '_bmps.zip'); } } catch (e) { console.error(e); @@ -110,6 +110,10 @@ async function pageToBlob(page: PDFPageProxy): Promise { return new Blob([encodeBMP(imageData)]); } -function getCleanFilename(fileName: string): string { - return fileName.replace(/\.pdf$/i, ''); -} \ No newline at end of file +function getCleanFilename(): string { + let clean = state.files[0].name.replace(/\.pdf$/i, '').trim(); + if (clean.length > 80) { + clean = clean.slice(0, 80); + } + return clean; +} diff --git a/src/js/logic/pdf-to-jpg.ts b/src/js/logic/pdf-to-jpg.ts index 5ad368b..ec1cd1a 100644 --- a/src/js/logic/pdf-to-jpg.ts +++ b/src/js/logic/pdf-to-jpg.ts @@ -21,7 +21,7 @@ export async function pdfToJpg() { if(pdf.numPages === 1) { const page = await pdf.getPage(1); const blob = await pageToBlob(page, quality); - downloadFile(blob, getCleanFilename(state.files[0].name) + '.jpg'); + downloadFile(blob, getCleanFilename() + '.jpg'); } else { const zip = new JSZip(); for (let i = 1; i <= pdf.numPages; i++) { @@ -31,7 +31,7 @@ export async function pdfToJpg() { } const zipBlob = await zip.generateAsync({ type: 'blob' }); - downloadFile(zipBlob, getCleanFilename(state.files[0].name) + '_jpgs.zip'); + downloadFile(zipBlob, getCleanFilename() + '_jpgs.zip'); } } catch (e) { console.error(e); @@ -59,8 +59,8 @@ async function pageToBlob(page: PDFPageProxy, quality: number): Promise { return blob as Blob; } -function getCleanFilename(fileName: string): string { - let clean = fileName.replace(/\.pdf$/i, '').trim(); +function getCleanFilename(): string { + let clean = state.files[0].name.replace(/\.pdf$/i, '').trim(); if (clean.length > 80) { clean = clean.slice(0, 80); } diff --git a/src/js/logic/pdf-to-png.ts b/src/js/logic/pdf-to-png.ts index a593285..b516ac7 100644 --- a/src/js/logic/pdf-to-png.ts +++ b/src/js/logic/pdf-to-png.ts @@ -29,7 +29,7 @@ export async function pdfToPng() { if (pdf.numPages === 1) { downloadFile( await pageToBlob(await pdf.getPage(1), scale), - getCleanFilename(state.files[0].name) + '.png' + getCleanFilename() + '.png' ); } else { const zip = new JSZip(); @@ -41,7 +41,7 @@ export async function pdfToPng() { const zipBlob = await zip.generateAsync({ type: 'blob' }); downloadFile( zipBlob, - getCleanFilename(state.files[0].name) + '_pngs.zip' + getCleanFilename() + '_pngs.zip' ); } } catch (e) { @@ -69,6 +69,10 @@ async function pageToBlob(page: PDFPageProxy, scale: number): Promise { return blob as Blob; } -function getCleanFilename(fileName: string): string { - return fileName.replace(/\.pdf$/i, ''); -} \ No newline at end of file +function getCleanFilename(): string { + let clean = state.files[0].name.replace(/\.pdf$/i, '').trim(); + if (clean.length > 80) { + clean = clean.slice(0, 80); + } + return clean; +} diff --git a/src/js/logic/pdf-to-tiff.ts b/src/js/logic/pdf-to-tiff.ts index b50ffac..9418f8c 100644 --- a/src/js/logic/pdf-to-tiff.ts +++ b/src/js/logic/pdf-to-tiff.ts @@ -18,7 +18,7 @@ export async function pdfToTiff() { if(pdf.numPages === 1) { const page = await pdf.getPage(1); const tiffBuffer = await pageToBlob(page); - downloadFile(tiffBuffer, getCleanFilename(state.files[0].name) + '.tiff'); + downloadFile(tiffBuffer, getCleanFilename() + '.tiff'); } else { const zip = new JSZip(); @@ -29,7 +29,7 @@ export async function pdfToTiff() { } const zipBlob = await zip.generateAsync({ type: 'blob' }); - downloadFile(zipBlob, getCleanFilename(state.files[0].name) + '_tiffs.zip'); + downloadFile(zipBlob, getCleanFilename() + '_tiffs.zip'); } } catch (e) { console.error(e); @@ -65,8 +65,8 @@ async function pageToBlob(page: PDFPageProxy): Promise { return new Blob([tiffBuffer]); } -function getCleanFilename(fileName: string): string { - let clean = fileName.replace(/\.pdf$/i, '').trim(); +function getCleanFilename(): string { + let clean = state.files[0].name.replace(/\.pdf$/i, '').trim(); if (clean.length > 80) { clean = clean.slice(0, 80); } diff --git a/src/js/logic/pdf-to-webp.ts b/src/js/logic/pdf-to-webp.ts index a8479ee..b3c8667 100644 --- a/src/js/logic/pdf-to-webp.ts +++ b/src/js/logic/pdf-to-webp.ts @@ -18,7 +18,7 @@ export async function pdfToWebp() { if(pdf.numPages === 1) { const page = await pdf.getPage(1); const blob = await pageToBlob(page); - downloadFile(blob, getCleanFilename(state.files[0].name) + '.webp'); + downloadFile(blob, getCleanFilename() + '.webp'); } else { const zip = new JSZip(); for (let i = 1; i <= pdf.numPages; i++) { @@ -27,7 +27,7 @@ export async function pdfToWebp() { zip.file(`page_${i}.webp`, blob as Blob); } const zipBlob = await zip.generateAsync({ type: 'blob' }); - downloadFile(zipBlob, getCleanFilename(state.files[0].name) + '_webps.zip'); + downloadFile(zipBlob, getCleanFilename() + '_webps.zip'); } } catch (e) { console.error(e); @@ -53,8 +53,8 @@ async function pageToBlob(page: PDFPageProxy): Promise { return blob as Blob; } -function getCleanFilename(fileName: string): string { - let clean = fileName.replace(/\.pdf$/i, '').trim(); +function getCleanFilename(): string { + let clean = state.files[0].name.replace(/\.pdf$/i, '').trim(); if (clean.length > 80) { clean = clean.slice(0, 80); }