03 - Scan, PaperStream e fi-7160¶
EnfaseCloud.ScanEnfaseCloud.Library
Implemented
Objetivo¶
Especificar a estação de digitalização on-prem para uso intensivo com Fujitsu/Ricoh fi-7160 e PaperStream IP.
Requisitos¶
- O Scan deve permitir configurar driver
Twainexplicitamente quando o scanner depender de PaperStream IP. - O Scan deve registrar o driver usado em cada captura.
- O Scan deve persistir o nome do dispositivo, perfil de captura, DPI, paper source, duplex, page size e modo de cor.
- O Scan deve suportar ADF duplex A4 300 DPI como perfil padrão de produção.
- O Scan deve reportar erros operacionais com taxonomia: scanner nao encontrado, sem papel, atolamento, tampa aberta, multifeed, driver indisponivel, cancelado pelo operador, falha de permissao e falha desconhecida.
- O Scan deve registrar contagem de paginas capturadas, paginas removidas, paginas em branco detectadas e tempo total.
PaperStream¶
O MVP pode usar NAPS2/TWAIN como camada de abstração. Para conformidade plena, a instalação da estação deve garantir que o driver TWAIN selecionado seja o PaperStream IP do fi-7160.
Quando houver perfil PaperStream configurado, o manifesto deve registrar:
paperStreamProfileNameautoDeskewautoCropautoRotationblankPageDetectionmultiFeedDetectioncolorDetection
Se a API usada nao permitir ler essas propriedades, o sistema deve registrar not_observable e exigir checklist operacional de instalação.
Politica de paginas em branco¶
Estados possiveis:
Keep: manter no PDF e marcar no manifesto.Remove: remover do PDF e registrar indice original.Review: manter em fila de revisão.
Default recomendado para produção: Review ate homologação por amostragem.
Aceite¶
- Estação lista e seleciona fi-7160 via TWAIN.
- Captura duplex A4 300 DPI produz PDF/A e manifesto.
- Erros de scanner sao exibidos ao operador e registrados.
- Manifesto registra driver, perfil e dados tecnicos da captura.
Implementação¶
Entregues (status: Implemented)¶
| Requisito | Implementação | Arquivo |
|---|---|---|
| Taxonomia de 9 erros operacionais | ScanErrorCode + ScanCaptureException.UserMessage |
Scan/ScanError.cs |
| Erros exibidos ao operador | catch(ScanCaptureException) com UserMessage |
UI/ScanUserControl.cs |
| Política de brancas Keep/Remove/Review | BlankPagePolicy + ProcessImageAsync |
Scan/BlankPagePolicy.cs |
OriginalIndex para rastrear páginas removidas |
ScanCapturePage.OriginalIndex |
Scan/ScanCapturePage.cs |
| Contagem de páginas + tempo total | ScanCaptureStats + GetLastCaptureStats() |
Scan/ScanCaptureStats.cs |
| Driver registrado por captura | ScanCaptureStats.DriverUsed |
Scan/ScanCaptureStats.cs |
| Perfil PaperStream no manifesto | PaperStreamCaptureProfile em DigitalizationTechnicalProfile |
Library/Models/DigitalizationCompliance.cs |
| TWAIN direto para fi-7160 | TwainDirectCaptureService via NTwain |
Scan/TwainDirectCaptureService.cs |
| Capabilities PaperStream observáveis | TwainCapabilities.ReadProfile — autoDeskew, autoCrop, autoRotate, DoubleFeed, colorDetection |
Scan/TwainCapabilities.cs |
| Seleção automática TWAIN/NAPS2 | ScanCaptureServiceSelector — PaperStream/fi-7xxx usa TWAIN direto, demais usam NAPS2 |
Scan/ScanCaptureServiceSelector.cs |
| Default brancas = Review em produção | BlankPagePolicy.Review como padrão quando checkbox marcado |
UI/ScanUserControl.cs |
| Status exibido pós-captura | FormatScanStatus(stats) — tempo, driver e contagem de revisão |
UI/ScanUserControl.cs |