Skip to content

Save files continuously when batch scanning - #894

Open
gormster wants to merge 2 commits into
cyanfish:masterfrom
gormster:batch-save-continuous
Open

Save files continuously when batch scanning#894
gormster wants to merge 2 commits into
cyanfish:masterfrom
gormster:batch-save-continuous

Conversation

@gormster

Copy link
Copy Markdown

Batch scanning has several options for splitting output files, but the current implementation stores all images in memory until the entire scan is complete. This change creates files as they are scanned and meet the split condition, by replacing the separate Input and Output stages with an InputIter async iterator function and an OutputIter function that consumes it continuously.

Our use case is scanning documents which are continuously processed by another system which monitors an output directory; forcing the system to wait until the scan is complete before it can start processing causes significant wasted time as the processing system idles waiting for NAPS2 to complete the scan before writing the image files. With this modification, the scanning and processing systems can operate in parallel.

Morgan Harris added 2 commits July 20, 2026 18:04
This changes the batch scan operation to use AsyncIterable throughout, meaning files are saved continuously. This means significantly reduced memory usage as well as allowing faster workflows for apps that read from the scan destination folder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant