ScreenAI service provides accessibility helpers, is downloaded and initialized on demand, and stays on disk for 30 days after the last use.
The service is created per profile and will stay alive as long as the profile lives.
See services/screen_ai/README.md
for more.
Depending on your use case restrictions, choose one of the following approaches.
screen_ai::mojom::OcrClientType
, otherwise choose an appropriate one for it in the next steps.chrome-ocr-clients@
group to get notifications on major updates.OpticalCharacterRecognizer:CreateWithStatusCallback
, create an OCR object, and wait until the callback is called. This will trigger download and startup of the service (if needed) and reports the result.true
value, use OpticalCharacterRecognizer:PerformOCR
.OpticalCharacterRecognizer:Create
and keep calling OpticalCharacterRecognizer:is_ready
until it tells you that the service is ready.OpticalCharacterRecognizer:PerformOCR
as above.screen_ai:ScreenAIServiceRouterFactory:GetForBrowserContext:GetServiceStateAsync
to trigger library download and service initialization and receive the result in a callback.screen_ai:mojom:ScreenAIAnnotator
interface.PerformOCR
functions, call SetClientType
once to set the client type.components/pdf/renderer/pdf_ocr_helper.cc
.If you are adding a new client for MCE, add a new enum value to screen_ai::mojom::MceClientType
. In the browser process call screen_ai:ScreenAIServiceRouterFactory:GetForBrowserContext:GetServiceStateAsync
to trigger library download and service initialization and receive the result in a callback.
Once you know the service is ready, trigger connection to it in your process by connecting to screen_ai:mojom:Screen2xMainContentExtractor
interface.
Call SetClientType
once to set the client type.
For an example see chrome/renderer/accessibility/ax_tree_distiller.cc
.
GetMaxImageDimension
function from version 138. Sending images with higher resolution will not increase the recognition quality and only increases allocated memory and adds extra processing time. If you are resizing the image that you sent to OCR for any other reasons, consider this threshold.SuggestedWaitTimeBeforeReAttempt
function.Chromium > UI > Accessibility > MachineIntelligence (component id: 1457124)