Doc Core

Guia de customização de telas para o Doc Core iOS.

Doc Core Guia de customização de telas para o Doc Core iOS.

📝

Uso do termo Doc Core

Nesta seção, compreende-se por Doc Core o módulo Documentscopy dentro do SDK.

Além de poder usar o SDK em sua forma padrão de exibição, o SDK permite também, que as telas sejam completamente customizadas.

A customização das telas é feita por meio da criação de objetos do tipo UIView (via código ou via Interface Builder), que implementam os protocolos definidos para cada tela do fluxo apresentado pelo SDK.

💡

Elementos adicionais

Além das telas obrigatórias, a tela customizada pode conter outros elementos, apenas tomando cuidado para que estes itens adicionais não interfiram no comportamento dos elementos obrigatórios.

As telas customizadas são passadas como argumento para o construtor da classe DocumentscopyViewController.

ParâmetroDescrição
showFeedbackValor booleano que indica se a tela de resultado deve ser apresentada ou não.
customInstructionViewObjeto contendo a customização da tela de instruções.
customViewObjeto contendo a customização da tela de captura de documento.
customLoadingViewObjeto contendo a customização da tela de processamento do documento.
customResultViewObjeto contendo a customização da tela de resultado do processamento.
customQrCodeViewObjeto contendo a customização da tela de QR Code (CNH Digital).
customUploadViewObjeto contendo a customização da tela de envio de documento (CNH Digital).
customCameraPermissionViewObjeto contendo a customização da tela de permissão de câmera.
💡

Nota

  1. O parâmetro showFeedback é opcional e possui true como valor padrão;
  2. Os parâmetros customInstructionView, customView, customLoadingView, customResultView, customQrCodeView, customUploadView e customCameraPermissionView são opcionais.

1. Tela de instruções

ParâmetrocustomInstructionView

Essa tela deve estar conforme com o protocolo DocumentscopyCustomInstructionView que contém as seguintes propriedades:

IdentificadorDescrição
(1) backButtonBotão para função voltar da navegação.
(2) physicalDocumentOptionBotão para iniciar o fluxo de captura do documento físico.
(3) digitalDocumentOptionBotão para iniciar o fluxo de captura do documento digital.

Descrição

Método

Método responsável por indicar o estado do loading na tela de instruções, podendo receber dois valores:

  • hidden (esconder o loading);
  • displayed (mostrar o loading).

changeLoadingVisibility(to:)

Tela de Instruções

Builder de customização

No DocumentscopyCustomizationBuilder você terá acesso a todos os elementos listados a seguir:

Identificador

Método

(1) Loading

setInstructionLoadingColor(_:)

(2) Back button

setInstructionBackButtonIcon(_:)
setInstructionBackButtonIconColor(_:)
setInstructionBackButtonBackgroundColor(_:)
setInstructionBackButtonBorderColor(_:)

(3) Background

setInstructionBackgroundColor(_:)

(4) Context image

setInstructionContextImage(_:)

(5) Bottom sheet

setInstructionBottomSheetColor(_:)
setInstructionBottomSheetCornerRadius(_:)

(6) Title

setInstructionTitle(_:)
setInstructionTitleColor(_:)
setInstructionTitleFont(_:)

(7) Caption

setInstructionCaption(_:)
setInstructionCaptionColor(_:)
setInstructionCaptionFont(_:)

(8) Physical document option

setInstructionPhysicalDocumentOptionImage(_:)
setInstructionPhysicalDocumentOptionTitleColor(_:)
setInstructionPhysicalDocumentOptionTitleFont(_:)
setInstructionPhysicalDocumentOptionDescription(_:)
setInstructionPhysicalDocumentOptionDescriptionColor(_:)
setInstructionPhysicalDocumentOptionDescriptionFont(_:)
setInstructionPhysicalDocumentOptionBackgroundColor(_:)
setInstructionPhysicalDocumentOptionCircleBackgroundColor(_:)
setInstructionPhysicalDocumentOptionCornerRadius(_:)
setInstructionPhysicalDocumentOptionBorderColor(_:)
setInstructionPhysicalDocumentOptionBorderWidth(_:)
setInstructionPhysicalDocumentOptionIconColor(_:)

(9) Digital document option

setInstructionDigitalDocumentOptionImage(_:)
setInstructionDigitalDocumentOptionTitleColor(_:)
setInstructionDigitalDocumentOptionTitleFont(_:)
setInstructionDigitalDocumentOptionDescription(_:)
setInstructionDigitalDocumentOptionDescriptionColor(_:)
setInstructionDigitalDocumentOptionDescriptionFont(_:)
setInstructionDigitalDocumentOptionBackgroundColor(_:)
setInstructionDigitalDocumentOptionCircleBackgroundColor(_:)
setInstructionDigitalDocumentOptionCornerRadius(_:)
setInstructionDigitalDocumentOptionBorderColor(_:)
setInstructionDigitalDocumentOptionBorderWidth(_:)
setInstructionDigitalDocumentOptionIconColor(_:)

Tela de Instruções

Código de exemplo do Builder

let customization = DocumentscopyCustomizationBuilder.builder()
    .setInstructionBackButtonIcon(UIImage(named: "trash")!)
    .setInstructionBackButtonIconColor(UIColor.red)
    .setInstructionBackButtonBackgroundColor(UIColor.green)
    .setInstructionBackButtonBorderColor(UIColor.white)
    .setInstructionBackgroundColor(UIColor.purple)
    .setInstructionContextImage(UIImage(named: "doc.text.magnifyingglass")!)
    .setInstructionLoadingColor(UIColor.red)
    .setInstructionBottomSheetColor(UIColor.cyan)
    .setInstructionBottomSheetCornerRadius(10)
    .setInstructionTitle("Titulo aqui")
    .setInstructionTitleColor(UIColor.brown)
    .setInstructionTitleFont(UIFont.systemFont(ofSize: 40))
    .setInstructionCaption("Subtitulo aqui")
    .setInstructionCaptionColor(UIColor.systemPink)
    .setInstructionCaptionFont(UIFont.systemFont(ofSize: 30))
    .setInstructionPhysicalDocumentOptionImage(UIImage(named: "doc.text.magnifyingglass"))
    .setInstructionPhysicalDocumentOptionTitle("Physical document")
    .setInstructionPhysicalDocumentOptionTitleColor(UIColor.blue)
    .setInstructionPhysicalDocumentOptionTitleFont(UIFont.systemFont(ofSize: 40))
    .setInstructionPhysicalDocumentOptionDescription("Physical description")
    .setInstructionPhysicalDocumentOptionDescriptionColor(UIColor.green)
    .setInstructionPhysicalDocumentOptionDescriptionFont(UIFont.systemFont(ofSize: 25))
    .setInstructionPhysicalDocumentOptionBackgroundColor(UIColor.black)
    .setInstructionPhysicalDocumentOptionCircleBackgroundColor(UIColor.yellow)
    .setInstructionPhysicalDocumentOptionCornerRadius(20)
    .setInstructionPhysicalDocumentOptionBorderColor(UIColor.clear)
    .setInstructionPhysicalDocumentOptionBorderWidth(4)
    .setInstructionPhysicalDocumentOptionIconColor(UIColor.red)
    .setInstructionDigitalDocumentOptionImage(UIImage(named: "pencil"))
    .setInstructionDigitalDocumentOptionTitle("Digital document")
    .setInstructionDigitalDocumentOptionTitleColor(UIColor.brown)
    .setInstructionDigitalDocumentOptionTitleFont(UIFont.systemFont(ofSize: 10))
    .setInstructionDigitalDocumentOptionDescription("Digital caption")
    .setInstructionDigitalDocumentOptionDescriptionColor(UIColor.systemPink)
    .setInstructionDigitalDocumentOptionDescriptionFont(UIFont.systemFont(ofSize: 20))
    .setInstructionDigitalDocumentOptionBackgroundColor(UIColor.blue)
    .setInstructionDigitalDocumentOptionCircleBackgroundColor(UIColor.cyan)
    .setInstructionDigitalDocumentOptionCornerRadius(10)
    .setInstructionDigitalDocumentOptionBorderColor(UIColor.gray)
    .setInstructionDigitalDocumentOptionBorderWidth(10)
    .setInstructionDigitalDocumentOptionIconColor(UIColor.white)
    .build()

2. Tela de captura de documento

ParâmetrocustomView

Essa tela deve estar em conformidade com o protocolo DocumentscopyCustomView que contém os seguintes métodos e propriedades:

IdentificadorDescrição
(1) backButtonBotão para fechar a tela.
(2) closeButtonBotão para fechar a tela.
(3) instructionLabelTexto informativo com orientação da captura, é exibido por apenas alguns segundos.
(4) cameraPreviewNeste elemento será colocado a pré-visualização da câmera.
(5) cameraVisualizerElemento que determina onde a pré-visualização da câmera será visível.
(6) cameraMaskElemento que determina onde a camera não será visível.
(7) captureButtonBotão para capturar foto.
(8) previewImageViewElemento de imagem onde será exibida a imagem capturada para o usuário confirmar a qualidade da captura.
(9) retryButtonBotão para o usuário capturar a foto novamente.
(10) confirmButtonBotão para o usuário confirmar a foto capturada.

Método

Descrição

displayConfirmationSheet(visibility:animated:)

Método que indica quando o elemento de confirmação de imagem deve ou não ser mostrado, esse método possui dois parâmetros:

  • visibility que indica o estado do elemento de confirmação;
  • animated que indica quando é recomendado que esse comportamento seja feito com animação.

setFocus(to:animated:)

Método que indica qual o indicador de face do documento deve estar em foco no momento, esse método possui dois parâmetros:

  • to (focusElement) que é um enum do tipo DocumentscopyFocusIndicator que possui os valores de frontIndicator e backIndicator que representam a frente e o verso do documento respectivamente;
  • animated que indica quando é recomendado que esse comportamento seja feito com animação.

setConfirmButtonTitle(to:)

Método responsável por atribuir um novo título para o botão de usar foto (confirmButton).

Estado 01. | Estado 02.

⚠️

Importante

  1. A propriedade cameraMask assim como a cameraPreview deve possuir suas constraints de leading, trailing, bottom e top iguais a superview e não à safearea.
  2. A propriedade cameraMask deve ser adicionada após a cameraPreview.
💡

Pré-visualização da câmera

A CameraPreviewView é uma classe customizada que herda de uma UIView.

Builder de customização

No DocumentscopyCustomizationBuilder você terá acesso a todos os elementos listados a seguir:

Identificador

Método

(1) Back button

setCaptureBackButtonIcon(_:)
setCaptureBackButtonIconColor(_:)
setCaptureBackButtonBackgroundColor(_:)
setCaptureBackButtonBorderColor(_:)

(2) Close button

setCaptureCloseButtonIcon(_:)
setCaptureCloseButtonIconColor(_:)
setCaptureCloseButtonBackgroundColor(_:)
setCaptureCloseButtonBorderColor(_:)

(3) Front indicator

setCaptureFrontIndicatorText(_:)
setCaptureFrontIndicatorColor(_:)
setCaptureFrontIndicatorFocusedStateTextColor(_:)
setCaptureFrontIndicatorFocusedStateTextFont(_:)
setCaptureFrontIndicatorFocusedStateImage(_:)
setCaptureFrontIndicatorUnfocusedStateTextColor(_:)
setCaptureFrontIndicatorUnfocusedStateTextFont(_:)
setCaptureFrontIndicatorUnfocusedStateImage(_:)

(4) Back indicator

setCaptureBackIndicatorText(_:)
setCaptureBackIndicatorColor(_:)
setCaptureBackIndicatorFocusedStateTextColor(_:)
setCaptureBackIndicatorFocusedStateTextFont(_:)
setCaptureBackIndicatorFocusedStateImage(_:)
setCaptureBackIndicatorUnfocusedStateTextColor(_:)
setCaptureBackIndicatorUnfocusedStateTextFont(_:)
setCaptureBackIndicatorUnfocusedStateImage(_:)

(5) Instruction text

setCaptureInstructionGuideFrontText(_:)
setCaptureInstructionGuideBackText(_:)
setCaptureInstructionConfirmationText(_:)
setCaptureInstructionTextColor(_:)
setCaptureInstructionTextFont(_:)

(6) Preview

setCapturePreviewCapturedBorderColor(_:)
setCapturePreviewUncapturedBorderColor(_:)

(7) Background

setCaptureBackgroundColor(_:)

(8) Capture button

setCaptureCaptureButtonIcon(_:)
setCaptureCaptureButtonNormalIconColor(_:)
setCaptureCaptureButtonNormalBackgroundColor(_:)
setCaptureCaptureButtonNormalBorderColor(_:)
setCaptureCaptureButtonDisabledIconColor(_:)
setCaptureCaptureButtonDisabledBackgroundColor(_:)
setCaptureCaptureButtonDisabledBorderColor(_:)

(9) Bottom sheet

setCaptureBottomSheetColor(_:)
setCaptureBottomSheetCornerRadius(_:)

(10) Confirmation message

setCaptureConfirmationMessageText(_:)
setCaptureConfirmationMessageColor(_:)
setCaptureConfirmationMessageFont(_:)

(11) Retry button

setCaptureRetryButtonText(_:)
setCaptureRetryButtonTextFont(_:)
setCaptureRetryButtonTextColor(_:)

(12) Confirm button

setCaptureConfirmButtonText(_:)
setCaptureConfirmButtonTextFont(_:)
setCaptureConfirmButtonTextColor(_:)

_Estado 01. | Estado 02.

Código de exemplo do Builder

let customization = DocumentscopyCustomizationBuilder.builder()
    .setCaptureBackButtonIcon(UIImage(named: "doc.text.magnifyingglass")!)
    .setCaptureBackButtonIconColor(UIColor.white)
    .setCaptureBackButtonBackgroundColor(UIColor.magenta)
    .setCaptureBackButtonBorderColor(UIColor.green)
    .setCaptureCloseButtonIcon(UIImage(named: "pencil")!)
    .setCaptureCloseButtonIconColor(UIColor.magenta)
    .setCaptureCloseButtonBackgroundColor(UIColor.green)
    .setCaptureCloseButtonBorderColor(UIColor.white)
    .setCaptureBackgroundColor(UIColor.red)
    .setCaptureFrontIndicatorText("Front")
    .setCaptureFrontIndicatorColor(UIColor.blue)
    .setCaptureFrontIndicatorFocusedStateImage(UIImage(named: "trash"))
    .setCaptureFrontIndicatorFocusedStateTextColor(UIColor.purple)
    .setCaptureFrontIndicatorFocusedStateTextFont(UIFont.systemFont(ofSize: 20))
    .setCaptureFrontIndicatorUnfocusedStateImage(UIImage(named: "doc.text.magnifyingglass"))
    .setCaptureFrontIndicatorUnfocusedStateTextColor(UIColor.lightGray)
    .setCaptureFrontIndicatorUnfocusedStateTextFont(UIFont.systemFont(ofSize: 20))
    .setCaptureBackIndicatorText("Back")
    .setCaptureBackIndicatorColor(UIColor.darkGray)
    .setCaptureBackIndicatorFocusedStateImage(UIImage(named: "pencil"))
    .setCaptureBackIndicatorFocusedStateTextColor(UIColor.cyan)
    .setCaptureBackIndicatorFocusedStateTextFont(UIFont.systemFont(ofSize: 20))
    .setCaptureBackIndicatorUnfocusedStateImage(UIImage(named: "checkmark"))
    .setCaptureBackIndicatorUnfocusedStateTextColor(UIColor.black)
    .setCaptureBackIndicatorUnfocusedStateTextFont(UIFont.systemFont(ofSize: 20))
    .setCaptureInstructionGuideFrontText("Foto frontal do documento, please")
    .setCaptureInstructionGuideBackText("Agora é a foto do verso")
    .setCaptureInstructionConfirmationText("Hora da verdade, vê se ficou bom")
    .setCaptureInstructionTextColor(UIColor.blue)
    .setCaptureInstructionTextFont(UIFont.systemFont(ofSize: 22))
    .setCapturePreviewCapturedBorderColor(UIColor.green)
    .setCapturePreviewUncapturedBorderColor(UIColor.blue)
    .setCaptureCaptureButtonIcon(UIImage(named: "trash")!)
    .setCaptureCaptureButtonNormalIconColor(UIColor.systemPink)
    .setCaptureCaptureButtonNormalBackgroundColor(UIColor.orange)
    .setCaptureCaptureButtonNormalBorderColor(UIColor.black)
    .setCaptureCaptureButtonDisabledIconColor(UIColor.green)
    .setCaptureCaptureButtonDisabledBackgroundColor(UIColor.gray)
    .setCaptureCaptureButtonDisabledBorderColor(UIColor.orange)
    .setCaptureBottomSheetColor(UIColor.brown)
    .setCaptureBottomSheetCornerRadius(15)
    .setCaptureConfirmationMessageText("A foto tá legal?")
    .setCaptureConfirmationMessageColor(UIColor.white)
    .setCaptureConfirmationMessageFont(UIFont.systemFont(ofSize: 24))
    .setCaptureConfirmButtonText("Yes")
    .setCaptureConfirmButtonConfirmationText("Yessir")
    .setCaptureConfirmButtonTextFont(UIFont.systemFont(ofSize: 30))
    .setCaptureConfirmButtonTextColor(UIColor.red)
    .setCaptureConfirmButtonBackgroundColor(UIColor.magenta)
    .setCaptureConfirmButtonBorderColor(UIColor.cyan)
    .setCaptureRetryButtonText("Nope")
    .setCaptureRetryButtonTextFont(UIFont.systemFont(ofSize: 30))
    .setCaptureRetryButtonTextColor(UIColor.orange)
    .setCaptureRetryButtonBackgroundColor(UIColor.black)
    .setCaptureRetryButtonBorderColor(UIColor.systemPink)
    .build()

3. Tela de captura de QR Code (CNH Digital)

ParâmetrocustomQrCodeView

Essa tela deve estar em conformidade com o protocolo DocumentscopyCustomQrCodeView que contém os seguintes métodos e propriedades:

IdentificadorDescrição
(1) backButtonBotão para fechar a tela.
(2) cameraPreviewNeste elemento será colocado a pré-visualização da câmera.
(3) cameraMaskElemento que determina onde a camera não será visível.
(4) cameraVisualizerElemento que determina onde a pré-visualização da câmera será visível.
(5) modalContainerElemento com instruções e o botão para tela de envio de documento.
(6) fileButtonBotão para o usuário confirmar a foto capturada.

Método

Descrição

displayBottomSheet(animated:)

Método que indica quando a modal com botão de envio de documento será apresentada, esse método possui o seguinte parâmetro:

  • animated que indica quando é recomendado que esse comportamento seja feito com animação.

hideBottomSheet(animated:)

Método que indica quando a modal com botão de envio de documento será removida da tela, esse método possui o seguinte parâmetro:

  • animated que indica quando é recomendado que esse comportamento seja feito com animação.

Tela de Captura de QR Code

Tela de captura de QR Code

Builder de customização

No DocumentscopyCustomizationBuilder você terá acesso a todos os elementos listados a seguir:

Identificador

Método

(1) Back button

setQrCodeBackButtonIcon(_:)
setQrCodeBackButtonIconColor(_:)
setQrCodeBackButtonBackgroundColor(_:)
setQrCodeBackButtonBorderColor(_:)

(2) Square Target Image

setQrCodeSquareTargetColor(_:)

(3) Bottom sheet

setQrCodeBottomSheetColor(_:)
setQrCodeBottomSheetCornerRadius(_:)

(4) Title

setQrCodeTitle(_:)
setQrCodeTitleColor(_:)
setQrCodeTitleFont(_:)

(5) Caption

setQrCodeCaption(_:)
setQrCodeCaptionColor(_:)
setQrCodeCaptionFont(_:)

(6) File button

setQrCodeFileButtonText(_:)
setQrCodeFileButtonTextFont(_:)
setQrCodeFileButtonTextColor(_:)
setQrCodeFileButtonBackgroundColor(_:)
setQrCodeFileButtonBorderColor(_:)

Tela de Captura de QR Code

Código de exemplo do Builder

let customization = DocumentscopyCustomizationBuilder.builder()
    .setQrCodeBackButtonIcon(UIImage(named: "doc.text.magnifyingglass") ?? UIImage())
    .setQrCodeBackButtonIconColor(.white)
    .setQrCodeBackButtonBackgroundColor(.magenta)
    .setQrCodeBackButtonBorderColor(.green)
    .setQrCodeSquareTargetColor(.red)
    .setQrCodeBottomSheetColor(.brown)
    .setQrCodeBottomSheetCornerRadius(15)
    .setQrCodeTitle("Title")
    .setQrCodeTitleColor(.red)
    .setQrCodeTitleFont(UIFont.unwrapped(named: "Jersey20-Regular", size: 35))
    .setQrCodeCaption("caption")
    .setQrCodeCaptionColor(.green)
    .setQrCodeCaptionFont(UIFont.unwrapped(named: "Jersey20-Regular", size: 20))
    .setQrCodeFileButtonText("File")
    .setQrCodeFileButtonTextFont(UIFont.unwrapped(named: "Jersey24-Regular", size: 22))
    .setQrCodeFileButtonTextColor(.black)
    .setQrCodeFileButtonBackgroundColor(.yellow)
    .setQrCodeFileButtonBorderColor(.blue)
    .build()

4. Tela de envio de documento (CNH Digital)

ParâmetrocustomUploadView

Essa tela deve estar em conformidade com o protocolo DocumentscopyCustomUploadView que contém os seguintes métodos e propriedades:

IdentificadorDescrição
(1) backButtonBotão para voltar à tela anterior.
(2) closeButtonBotão para fechar o fluxo.
(3) uploadAreaElemento que selecionado e apresenta o arquivo que será enviado.
(4) deleteButtonBotão para remover o arquivo adicionado.
(5) sendButtonBotão para enviar o documento para processamento.

Método

Descrição

displayFileContainer(with:)

Método que indica quando o elemento com o nome do arquivo selecionado deve ser apresentado, esse método possui o seguinte parâmetro.

  • with parâmetro com o nome do arquivo selecionado.

hideFileContainer()

Método que indica quando o elemento com o nome do arquivo selecionado deve ser removido.

Tela de Envio de Documento

Builder de customização

No DocumentscopyCustomizationBuilder você terá acesso a todos os elementos listados a seguir:

Identificador

Método

(1) Back button

setUploadBackButtonIcon(_:)
setUploadBackButtonIconColor(_:)
setUploadBackButtonBackgroundColor(_:)
setUploadBackButtonBorderColor(_:)

(2) Close button

setUploadCloseButtonIcon(_:)
setUploadCloseButtonIconColor(_:)
setUploadCloseButtonBackgroundColor(_:)
setUploadCloseButtonBorderColor(_:)

(3) Background

setUploadBackgroundColor(_:)

(4) File title

setUploadFileTitle(_:)
setUploadFileTitleFont(_:)
setUploadFileTitleColor(_:)

(5) File description

setUploadFileTitle(_:)
setUploadFileTitleFont(_:)
setUploadFileTitleColor(_:)

(6) Upload area

setUploadUploadAreaBackgroundColor(_:)
setUploadUploadAreaContentColor(_:)
setUploadUploadAreaText(_:)
setUploadUploadAreaTextFont(_:)
setUploadUploadAreaImage(_:)
setUploadUploadAreaBorderColor(_:)
setUploadUploadAreaBorderWidth(_:)
setUploadUploadAreaBorderRadius(_:)

(7) Filename

setUploadAreaFilenameColor(_:)
setUploadAreaFilenameFont(_:)
setUploadAreaFilenameBackgroundColor(_:)
setUploadAreaDeleteButtonIcon(_:)
setUploadAreaDeleteButtonIconColor(_:)

(8) Send button

setUploadSendButtonText(_:)
setUploadSendButtonTextFont(_:)
setUploadSendButtonNormalIconColor(_:)
setUploadSendButtonNormalBackgroundColor(_:)
setUploadSendButtonNormalBorderColor(_:)
setUploadSendButtonDisabledIconColor(_:)
setUploadSendButtonDisabledBackgroundColor(_:)
setUploadSendButtonDisabledBorderColor(_:)

Tela de Envio de Documento

Código de exemplo do Builder

let customization = DocumentscopyCustomizationBuilder.builder()
    .setUploadBackButtonIcon(UIImage(named: "doc.text.magnifyingglass"))
    .setUploadBackButtonIconColor(UIColor.white)
    .setUploadBackButtonBackgroundColor(UIColor.magenta)
    .setUploadBackButtonBorderColor(UIColor.green)
    .setUploadCloseButtonIcon(UIImage(named: "trash")!)
    .setUploadCloseButtonIconColor(UIColor.green)
    .setUploadCloseButtonBackgroundColor(UIColor.orange)
    .setUploadCloseButtonBorderColor(UIColor.blue)
    .setUploadBackgroundColor(UIColor.red)
    .setUploadFileTitle("Title")
    .setUploadFileTitleColor(UIColor.black)
    .setUploadFileTitleFont(UIFont.systemFont(ofSize: 35))
    .setUploadFileDescription("caption")
    .setUploadFileDescriptionColor(UIColor.green)
    .setUploadFileDescriptionFont(UIFont.systemFont(ofSize: 20))
    .setUploadUploadAreaBackgroundColor(UIColor.systemBlue)
    .setUploadUploadAreaContentColor(UIColor.white)
    .setUploadUploadAreaText("Upload document")
    .setUploadUploadAreaTextFont(UIFont.systemFont(ofSize: 18))
    .setUploadUploadAreaImage(UIImage(named: "doc.text.magnifyingglass"))
    .setUploadUploadAreaBorderColor(UIColor.lightGray)
    .setUploadUploadAreaBorderWidth(10.0)
    .setUploadUploadAreaBorderRadius(12.0)
    .setUploadAreaFilenameColor(UIColor.cyan)
    .setUploadAreaFilenameFont(UIFont.systemFont(ofSize: 16))
    .setUploadAreaFilenameBackgroundColor(UIColor.systemGray)
    .setUploadAreaDeleteButtonIcon(UIImage(named: "pencil"))
    .setUploadAreaDeleteButtonIconColor(UIColor.red)
    .setUploadSendButtonText("Send document")
    .setUploadSendButtonTextFont(UIFont.systemFont(ofSize: 25))
    .setUploadSendButtonNormalIconColor(UIColor.systemPink)
    .setUploadSendButtonNormalBackgroundColor(UIColor.orange)
    .setUploadSendButtonNormalBorderColor(UIColor.black)
    .setUploadSendButtonDisabledIconColor(UIColor.green)
    .setUploadSendButtonDisabledBackgroundColor(UIColor.gray)
    .setUploadSendButtonDisabledBorderColor(UIColor.orange)
    .build()

5. Tela de processamento do documento

ParâmetrocustomLoadingView

Essa tela deve estar em conformidade com o tipo DocumentscopyCustomLoadingView que é um typealias para o tipo UIView

Tela de Processamento de Documento

Builder de customização

No DocumentscopyCustomizationBuilder você terá acesso a todos os elementos listados a seguir:

Identificador

Método

(1) Background

setLoadingBackgroundColor(_:)

(2) Loading

setLoadingSpinnerColor(_:)
setLoadingSpinnerWidth(_:)
setLoadingSpinnerScaleFactor(_:)

Tela de Processamento de Documento

Código de exemplo do Builder

let customization = DocumentscopyCustomizationBuilder.builder()
    .setLoadingBackgroundColor(UIColor.orange)
    .setLoadingSpinnerColor(UIColor.green)
    .setLoadingSpinnerWidth(20.4)
    .setLoadingSpinnerScaleFactor(8)
    .build()

6. Tela de resultado do processamento

ParâmetrocustomResultView

Essa tela deve estar em conformidade com o protocolo DocumentscopyCustomResultView que contém os seguintes métodos e propriedades:

IdentificadorDescrição
(1) resultButtonBotão para fechar o fluxo de reconhecimento de documento.
MétodoDescrição
display(for:)Esse método recebe como parâmetro um enum do tipo DocumentscopyResultType que indica qual resultado deve ser mostrado.

Estado 01: caso de sucesso. | Estado 02: caso de erro. | Estado 03: caso de tentar novamente.

Builder de customização

No DocumentscopyCustomizationBuilder você terá acesso a todos os elementos listados a seguir:

Identificador

Método

(1) Background

setResultSuccessBackgroundColor(_:)
setResultErrorBackgroundColor(_:)
setResultRetryBackgroundColor(_:)

(2) Image

setResultSuccessImage(_:)
setResultErrorImage(_:)
setResultRetryImage(_:)

(3) Message

setResultMessageFont(_:)
setResultSuccessMessage(_:)
setResultErrorMessage(_:)
setResultRetryMessage(_:)
setResultSuccessMessageColor(_:)
setResultErrorMessageColor(_:)
setResultRetryMessageColor(_:)

(4) Retry button

setResultRetryButtonText(_:)
setResultRetryButtonTextFont(_:)
setResultRetryButtonTextColor(_:)
setResultRetryButtonBackgroundColor(_:)
setResultRetryButtonBorderColor(_:)

Estado 01: caso de sucesso. | Estado 02: caso de erro. | Estado 03: caso de tentar novamente.

Código de exemplo do Builder

let customization = DocumentscopyCustomizationBuilder.builder()
    .setResultSuccessBackgroundColor(UIColor.brown)
    .setResultSuccessImage(UIImage(named: "doc.text.magnifyingglass"))
    .setResultSuccessMessage("Success")
    .setResultSuccessMessageColor(UIColor.white)
    .setResultMessageFont(UIFont.systemFont(ofSize: 30))
    .setResultErrorBackgroundColor(UIColor.systemPink)
    .setResultErrorImage(UIImage(named: "pencil"))
    .setResultErrorMessage("Error")
    .setResultErrorMessageColor(UIColor.white)
    .setResultRetryBackgroundColor(UIColor.magenta)
    .setResultRetryImage(UIImage(named: "phone") ?? UIImage())
    .setResultRetryMessage("Retry")
    .setResultRetryMessageColor(UIColor.white)
    .setResultRetryButtonText("Again")
    .setResultRetryButtonTextFont(UIFont.systemFont(ofSize: 35))
    .setResultRetryButtonTextColor(UIColor.cyan)
    .setResultRetryButtonBackgroundColor(UIColor.brown)
    .setResultRetryButtonBorderColor(UIColor.white)
    .build()

7. Tela de permissão da câmera

ParâmetrocustomCameraPermissionView

💡

Nota

Por se tratar de uma tela comum aos três módulos do SDK, essa tela será descrita uma única vez ao final desta página. Customização da tela de permissão de câmera

Builder de customização

No DocumentscopyCustomizationBuilder você terá acesso a todos os elementos listados a seguir:

Identificador

Método

(1) Back button

setCameraPermissionBackButtonIcon(_:)
setCameraPermissionBackButtonIconColor(_:)
setCameraPermissionBackButtonBackgroundColor(_:)
setCameraPermissionBackButtonBorderColor(_:)

(2) Camera image

setCameraPermissionCameraImage(_:)
setCameraPermissionCameraImageColor(_:)

(3) Title

setCameraPermissionTitle(_:)
setCameraPermissionTitleColor(_:)
setCameraPermissionTitleFont(_:)

(4) Caption

setCameraPermissionCaption(_:)
setCameraPermissionCaptionColor(_:)
setCameraPermissionCaptionFont(_:)

(5) Check permission button

setCameraPermissionCheckPermissionButtonText(_:)
setCameraPermissionCheckPermissionButtonTextFont(_:)
setCameraPermissionCheckPermissionButtonTextColor(_:)
setCameraPermissionCheckPermissionButtonBackgroundColor(_:)
setCameraPermissionCheckPermissionButtonBorderColor(_:)

(6) Background

setCameraPermissionBackgroundColor(_:)

(7) Bottom sheet

setCameraPermissionBottomSheetColor(_:)
setCameraPermissionBottomSheetCornerRadius(_:)

(8) Bottom sheet title

setCameraPermissionBottomSheetTitle(_:)
setCameraPermissionBottomSheetTitleColor(_:)
setCameraPermissionBottomSheetTitleFont(_:)

(9) Bottom sheet caption

setCameraPermissionBottomSheetCaption(_:)
setCameraPermissionBottomSheetCaptionColor(_:)
setCameraPermissionBottomSheetCaptionFont(_:)

(10) Open settings button

setCameraPermissionOpenSettingsButtonText(_:)
setCameraPermissionOpenSettingsButtonTextFont(_:)
setCameraPermissionOpenSettingsButtonTextColor(_:)
setCameraPermissionOpenSettingsButtonBackgroundColor(_:)
setCameraPermissionOpenSettingsButtonBorderColor(_:)

(11) Close button

setCameraPermissionCloseButtonText(_:)
setCameraPermissionCloseButtonTextFont(_:)
setCameraPermissionCloseButtonTextColor(_:)
setCameraPermissionCloseButtonBackgroundColor(_:)
setCameraPermissionCloseButtonBorderColor(_:)

Tela de Permissão de Câmera

Código de exemplo do Builder

let customization = DocumentscopyCustomizationBuilder.builder()
    .setCameraPermissionBackgroundColor(UIColor.systemPink)
    .setCameraPermissionBackButtonIcon(UIImage(named: "pencil"))
    .setCameraPermissionBackButtonIconColor(UIColor.white)
    .setCameraPermissionBackButtonBackgroundColor(UIColor.white)
    .setCameraPermissionBackButtonBorderColor(UIColor.white)
    .setCameraPermissionCameraImage(UIImage(named: "trash"))
    .setCameraPermissionCameraImageColor(UIColor.cyan)
    .setCameraPermissionTitle("Permissão de câmera customizada")
    .setCameraPermissionTitleColor(UIColor.white)
    .setCameraPermissionTitleFont(UIFont.systemFont(ofSize: 40))
    .setCameraPermissionCaption("Descrição da permissão de câmera")
    .setCameraPermissionCaptionColor(UIColor.purple)
    .setCameraPermissionCaptionFont(UIFont.systemFont(ofSize: 30))
    .setCameraPermissionCheckPermissionButtonText("Averiguar")
    .setCameraPermissionCheckPermissionButtonTextFont(UIFont.systemFont(ofSize: 24))
    .setCameraPermissionCheckPermissionButtonTextColor(UIColor.red)
    .setCameraPermissionCheckPermissionButtonBackgroundColor(UIColor.blue)
    .setCameraPermissionCheckPermissionButtonBorderColor(UIColor.white)
    .setCameraPermissionBottomSheetColor(UIColor.green)
    .setCameraPermissionBottomSheetCornerRadius(0)
    .setCameraPermissionBottomSheetTitle("Hora de ir para os ajustes")
    .setCameraPermissionBottomSheetTitleColor(UIColor.blue)
    .setCameraPermissionBottomSheetTitleFont(UIFont.systemFont(ofSize: 30))
    .setCameraPermissionBottomSheetCaption("Ou será que não?")
    .setCameraPermissionBottomSheetCaptionColor(UIColor.orange)
    .setCameraPermissionBottomSheetCaptionFont(UIFont.systemFont(ofSize: 25))
    .setCameraPermissionOpenSettingsButtonText("Pular para ajustes")
    .setCameraPermissionOpenSettingsButtonTextFont(UIFont.systemFont(ofSize:20) )
    .setCameraPermissionOpenSettingsButtonTextColor(UIColor.red)
    .setCameraPermissionOpenSettingsButtonBackgroundColor(UIColor.blue)
    .setCameraPermissionOpenSettingsButtonBorderColor(UIColor.white)
    .setCameraPermissionCloseButtonText("Fechar tudo")
    .setCameraPermissionCloseButtonTextFont(UIFont.systemFont(ofSize: 22))
    .setCameraPermissionCloseButtonTextColor(UIColor.magenta)
    .setCameraPermissionCloseButtonBackgroundColor(UIColor.cyan)
    .setCameraPermissionCloseButtonBorderColor(UIColor.red)
    .build()