Escáner de códigos de barras
Permite que tu aplicación móvil utilice la cámara para escanear códigos QR, EAN-13 y otros tipos de códigos de barras.
This plugin requires a Rust version of at least 1.77.2
| Platform | Level | Notes | 
|---|---|---|
| windows |  | |
| linux |  | |
| macos |  | |
| android | ||
| ios | 
Instala el plugin de escáner de códigos de barras para comenzar.
Usa el gestor de paquetes de tu proyecto para añadir la dependencia:
npm run tauri add barcode-scanneryarn run tauri add barcode-scannerpnpm tauri add barcode-scannerdeno task tauri add barcode-scannerbun tauri add barcode-scannercargo tauri add barcode-scanner- 
Ejecuta el siguiente comando en la carpeta src-tauripara añadir el plugin a las dependencias del proyecto enCargo.toml:cargo add tauri-plugin-barcode-scanner --target 'cfg(any(target_os = "android", target_os = "ios"))'
- 
Modifica lib.rspara inicializar el plugin:src-tauri/src/lib.rs #[cfg_attr(mobile, tauri::mobile_entry_point)]pub fn run() {tauri::Builder::default().setup(|app| {#[cfg(mobile)]app.handle().plugin(tauri_plugin_barcode_scanner::init());Ok(())}).run(tauri::generate_context!()).expect("error al ejecutar la aplicación tauri");}
- 
Instala los enlaces de JavaScript Guest utilizando tu gestor de paquetes de JavaScript preferido: npm install @tauri-apps/plugin-barcode-scanneryarn add @tauri-apps/plugin-barcode-scannerpnpm add @tauri-apps/plugin-barcode-scannerdeno add npm:@tauri-apps/plugin-barcode-scannerbun add @tauri-apps/plugin-barcode-scanner
En iOS, el plugin de escáner de códigos de barras requiere el valor de la propiedad de lista de información NSCameraUsageDescription, que debe describir por qué tu aplicación necesita utilizar la cámara.
En el archivo src-tauri/Info.ios.plist, añade el siguiente fragmento:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0">  <dict>    <key>NSCameraUsageDescription</key>    <string>Leer códigos QR</string>  </dict></plist>El plugin de escáner de códigos de barras está disponible en JavaScript.
import { scan, Format } from '@tauri-apps/plugin-barcode-scanner';// cuando uses `"withGlobalTauri": true`, deberías usar// const { scan, Format } = window.__TAURI__.barcodeScanner;
// `windowed: true` en realidad establece la vista web en transparente// en lugar de abrir una vista separada para la cámara// asegúrate de que tu interfaz de usuario esté lista para mostrar lo que hay debajo con un elemento transparentescan({ windowed: true, formats: [Format.QRCode] });Por defecto, todos los comandos y ámbitos de plugin potencialmente peligrosos están bloqueados y no se pueden acceder. Debes modificar los permisos en tu configuración de capabilities para habilitar estos.
Consulta la Descripción general de capacidades para obtener más información y la guía paso a paso para utilizar los permisos de plugin.
{  "$schema": "../gen/schemas/mobile-schema.json",  "identifier": "mobile-capability",  "windows": ["main"],  "platforms": ["iOS", "android"],  "permissions": ["barcode-scanner:allow-scan", "barcode-scanner:allow-cancel"]}Default Permission
This permission set configures which barcode scanning features are by default exposed.
Granted Permissions
It allows all barcode related features.
This default permission set includes the following:
- allow-cancel
- allow-check-permissions
- allow-open-app-settings
- allow-request-permissions
- allow-scan
- allow-vibrate
Permission Table
| Identifier | Description | 
|---|---|
| 
 | Enables the cancel command without any pre-configured scope. | 
| 
 | Denies the cancel command without any pre-configured scope. | 
| 
 | Enables the check_permissions command without any pre-configured scope. | 
| 
 | Denies the check_permissions command without any pre-configured scope. | 
| 
 | Enables the open_app_settings command without any pre-configured scope. | 
| 
 | Denies the open_app_settings command without any pre-configured scope. | 
| 
 | Enables the request_permissions command without any pre-configured scope. | 
| 
 | Denies the request_permissions command without any pre-configured scope. | 
| 
 | Enables the scan command without any pre-configured scope. | 
| 
 | Denies the scan command without any pre-configured scope. | 
| 
 | Enables the vibrate command without any pre-configured scope. | 
| 
 | Denies the vibrate command without any pre-configured scope. | 
© 2025 Tauri Contributors. CC-BY / MIT