58 const std::shared_ptr<core::ports::document_image_processing::IDocumentImageProcessor>& documentImageProcessor,
59 const std::shared_ptr<core::ports::text_recognition::ITextRecognizer>& tesseract,
62 std::atomic<size_t>& doneUnits,
66 std::mutex& artifactsMutex);
69 const std::vector<PageWork>& pages,
70 const std::shared_ptr<core::ports::document_image_processing::IDocumentImageProcessor>& documentImageProcessor,
72 std::vector<core::application::importing::draft::TransactionDraft>& all,
73 std::string& carriedBookingDate,
77 std::mutex& artifactsMutex);
Result types for document image processing operations.
Document image processing port for import workflows.
Declares the structured diagnostics reporting port.
Result types for PDF rendering operations.
Declares a bounded worker queue and a simple slot limiter for import tasks.
Result types for text recognition operations.
Draft transaction model used by import finalization and core application flow.
Declares the import execution request contract.
Declares the import execution result contract.
Limits concurrent access to a bounded number of slots.
Port for reporting structured diagnostic error events.
PageWork processImportPage(size_t pageIndex, size_t totalPages, const ImportRequest &req, const poppler::RenderResult &renderRes, const poppler::ExtractResult &extractRes, const std::shared_ptr< core::ports::document_image_processing::IDocumentImageProcessor > &documentImageProcessor, const std::shared_ptr< core::ports::text_recognition::ITextRecognizer > &tesseract, core::jobs::SlotLimiter *ocrLimiter, const ProgressReporter &report, std::atomic< size_t > &doneUnits, size_t totalUnits, core::ports::diagnostics::IErrorReporter *errorReporter, ImportResult &out, std::mutex &artifactsMutex)
FinalizeStats finalizeParsedPages(const ImportRequest &req, const std::vector< PageWork > &pages, const std::shared_ptr< core::ports::document_image_processing::IDocumentImageProcessor > &documentImageProcessor, ImportResult &out, std::vector< core::application::importing::draft::TransactionDraft > &all, std::string &carriedBookingDate, int &nextTxIndex, core::ports::diagnostics::IErrorReporter *errorReporter, const ProgressReporter &report, std::mutex &artifactsMutex)
std::function< void(double, const std::string &)> ProgressReporter
std::vector< uint8_t > readImportBytes(const std::filesystem::path &path)
Describes one import execution request.
core::ports::text_recognition::ExtractResult ocr
std::vector< uint8_t > cropBytes
core::ports::document_image_processing::Table table