publisoft-modules
v1.0.8
Published
Gerenciamento de impressão para dispositivos SUNMI usando React Native
Downloads
520
Maintainers
Readme
publisoft-modules
Gerenciamento de impressão para dispositivos SUNMI usando React Native.
Este pacote oferece suporte para gerenciar impressoras SUNMI em aplicativos React Native, incluindo impressão de texto, impressão de imagens em Base64 e verificação do status da impressora.
Recursos
- Imprima texto diretamente na impressora SUNMI.
- Imprima imagens codificadas em Base64.
- Verifique o status da impressora SUNMI em tempo real.
- Fácil integração com projetos React Native.
Instalação
Instale o pacote no seu projeto React Native:
npm install publisoft-modules
Certifique-se de que as dependências necessárias estão instaladas:
- React:
^18.0.0
- React Native:
^0.70.0
- React:
Configurações Necessárias
1. Configuração no android/build.gradle
Adicione a seguinte configuração ao bloco repositories
:
flatDir {
dirs project(':publisoft-modules').file('libs')
}
Exemplo completo:
buildscript {
ext {
buildToolsVersion = "35.0.0"
minSdkVersion = 24
compileSdkVersion = 35
targetSdkVersion = 34
kotlinVersion = "1.9.24"
ndkVersion = "26.1.10909125"
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath('com.android.tools.build:gradle')
classpath('com.facebook.react:react-native-gradle-plugin')
classpath('org.jetbrains.kotlin:kotlin-gradle-plugin')
}
}
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://www.jitpack.io' }
flatDir {
dirs project(':publisoft-modules').file('libs')
}
}
}
2. Configuração no android/settings.gradle
Inclua o seguinte:
include ':publisoft-modules'
project(':publisoft-modules').projectDir = new File(rootProject.projectDir, '../node_modules/publisoft-modules/android')
Exemplo completo:
pluginManagement {
includeBuild(new File(["node", "--print", "require.resolve('@react-native/gradle-plugin/package.json')"].execute(null, rootDir).text.trim()).getParentFile().toString())
}
plugins { id("com.facebook.react.settings") }
rootProject.name = 'quickfoods'
include ':app'
include ':publisoft-modules'
project(':publisoft-modules').projectDir = new File(rootProject.projectDir, '../node_modules/publisoft-modules/android')
3. Configuração no android/app/build.gradle
Adicione a dependência do módulo ao bloco dependencies
:
implementation project(':publisoft-modules')
Exemplo completo:
android {
namespace 'br.com.publisoft.quickfoods'
compileSdk rootProject.ext.compileSdkVersion
defaultConfig {
applicationId "br.com.publisoft.quickfoods"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0.0"
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation("com.facebook.react:react-android")
implementation project(':publisoft-modules')
}
Uso
Importando o Módulo
Você pode importar as funções diretamente:
import { printText, printBase64Image, printerStatus } from 'publisoft-modules';
Exemplos de Uso
1. Imprimir Texto
import { printText } from 'publisoft-modules';
const handlePrintText = async () => {
try {
await printText('Olá, Mundo!');
console.log('Texto impresso com sucesso!');
} catch (error) {
console.error('Erro ao imprimir texto:', error);
}
};
2. Imprimir Imagem em Base64
import { printBase64Image } from 'publisoft-modules';
const base64Image = '...'; // Substitua pela string Base64 da imagem
const handlePrintImage = async () => {
try {
await printBase64Image(base64Image);
console.log('Imagem impressa com sucesso!');
} catch (error) {
console.error('Erro ao imprimir imagem:', error);
}
};
3. Verificar Status da Impressora
import { printerStatus } from 'publisoft-modules';
const handlePrinterStatus = async () => {
try {
const status = await printerStatus();
console.log('Status da impressora:', status);
} catch (error) {
console.error('Erro ao obter status da impressora:', error);
}
};
API
Funções Disponíveis
printText(text: string): Promise<string>
Imprime um texto simples na impressora SUNMI.
- Parâmetros:
text
: O texto a ser impresso.
- Retorno:
- Resolve com uma mensagem de sucesso.
- Rejeita com um erro em caso de falha.
printBase64Image(base64String: string): Promise<string>
Imprime uma imagem codificada em Base64.
- Parâmetros:
base64String
: A string Base64 da imagem a ser impressa.
- Retorno:
- Resolve com uma mensagem de sucesso.
- Rejeita com um erro em caso de falha.
printerStatus(): Promise<string>
Verifica o status atual da impressora SUNMI.
- Retorno:
- Resolve com o status da impressora (por exemplo, "Pronto", "Sem papel").
- Rejeita com um erro em caso de falha.
Compatibilidade
- Node.js:
>=16.0.0
- React:
^18.0.0
- React Native:
^0.70.0
Aqui está uma sessão atualizada para o README explicando como clonar e iniciar o repositório:
Como Clonar e Iniciar o Repositório
Siga as etapas abaixo para clonar este repositório e configurar o ambiente para desenvolvimento:
1. Clonar o Repositório
Use o comando abaixo para clonar o repositório para o seu ambiente local:
git clone https://[email protected]/publisoft-edoc/publisoft-developer/_git/publisoft-modules
Substitua seu-usuario
pelo nome do seu usuário no GitHub.
2. Acesse o Diretório do Projeto
Navegue até o diretório clonado:
cd publisoft-modules
3. Instalar Dependências
Certifique-se de que você tenha o Node.js e o npm instalados em sua máquina. Em seguida, instale as dependências necessárias:
npm install
4. Compilar o Pacote
Para compilar o pacote e gerar a versão que será usada nos projetos:
npm run build
O comando acima irá gerar os arquivos de saída na pasta lib
.
Se você encontrar problemas ao iniciar o projeto, verifique se o ambiente está configurado corretamente (Java, Android SDK, etc.) e consulte a documentação oficial do React Native.
Licença
Este projeto está licenciado sob a licença ISC. Veja o arquivo LICENSE para mais informações.