When exporting images at a quality less than 1.0, the image link now includes the display width in the markdown syntax.
This will show the original dimensions for display purposes.
The PdfProcessor now calculates and passes the display width and quality to the image link builder.
Adds an 'imageType' setting which allows users to select the output format (webp, jpeg, png) for generated images.
Updates PdfProcessor to use the selected image type for file naming and encoding.
Adds a 'maxConcurrentPages' option to settings.
Allows users to control the number of pages processed concurrently in PdfProcessor.
The concurrency limit adapts based on this setting and the total number of pages.
Refactored the PDF processing logic to process pages in concurrent batches, improving performance for large PDFs. Added explicit memory cleanup for PDF.js resources and canvas bitmaps to reduce browser memory usage. Header extraction and duplicate filtering are now handled sequentially after batch processing. Error handling and progress updates have been improved.
Moved PDF-to-image conversion logic from main.ts to PdfProcessor.ts class for better separation of concerns.
Updated main.ts to use PdfProcessor for handling PDF files.