feat(pdf-to-image): simplify get clean filename

This commit is contained in:
Sebastian Espei
2025-12-02 22:07:25 +01:00
parent 3fcf9757f7
commit d2769a02f5
5 changed files with 30 additions and 22 deletions

View File

@@ -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<Blob> {
return new Blob([encodeBMP(imageData)]);
}
function getCleanFilename(fileName: string): string {
return fileName.replace(/\.pdf$/i, '');
}
function getCleanFilename(): string {
let clean = state.files[0].name.replace(/\.pdf$/i, '').trim();
if (clean.length > 80) {
clean = clean.slice(0, 80);
}
return clean;
}

View File

@@ -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<Blob> {
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);
}

View File

@@ -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<Blob> {
return blob as Blob;
}
function getCleanFilename(fileName: string): string {
return fileName.replace(/\.pdf$/i, '');
}
function getCleanFilename(): string {
let clean = state.files[0].name.replace(/\.pdf$/i, '').trim();
if (clean.length > 80) {
clean = clean.slice(0, 80);
}
return clean;
}

View File

@@ -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<Blob> {
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);
}

View File

@@ -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<Blob> {
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);
}