nickdpz /
Libreria-de-RC522-para-PIC-MPLAB-
En este proyecto consiste en el paso de la libreria del lector de tarjetas RC522 de lenguaje c++ a lenguaje c
Loading repository data…
luckberonne / repository
Este proyecto consiste en la creación de un servicio web en ASP.NET Core que permite la extracción de texto de archivos PDF y devuelve la información en formato JSON. El servicio puede procesar PDFs para extraer palabras, junto con sus posiciones en la página, y devolver esta información estructurada.
Este proyecto consiste en la creación de un servicio web en ASP.NET Core que permite la extracción de texto de archivos PDF y devuelve la información en formato JSON. El servicio puede procesar PDFs para extraer palabras, junto con sus posiciones en la página, y devolver esta información estructurada. Además, puede realizar OCR (Reconocimiento Óptico de Caracteres) en imágenes dentro de los PDFs utilizando Tesseract si fuera necesario.
Carga de Archivos PDF: Permite la carga de archivos PDF a través de una solicitud HTTP POST. Extracción de Texto: Utiliza la biblioteca UglyToad.PdfPig para extraer texto y posiciones de las palabras dentro del PDF. OCR con Tesseract: Realiza OCR en imágenes contenidas en los PDFs utilizando la biblioteca Tesseract si es necesario. Carga de Imágenes: Permite también enviar imágenes sueltas (PNG, JPG, TIFF o BMP) y obtener su texto por OCR. Respuesta en Formato JSON: La información extraída se devuelve en un formato JSON estructurado. Manejo de Errores: El servicio maneja errores y devuelve mensajes de error adecuados.
POST /PDFExtractor/GetTextFromPdf (form-data, campo file): recibe un PDF y devuelve, por página, las palabras de la capa de texto y el texto OCR de las imágenes embebidas.POST /PDFExtractor/GetTextFromImage (form-data, campo file): recibe una imagen (PNG/JPG/TIFF/BMP) y devuelve su texto OCR, sus dimensiones y las palabras reconocidas con sus coordenadas (en píxeles, origen arriba-izquierda).GET /health: comprobación de estado del servicio.Los errores se devuelven en formato ProblemDetails (RFC 7807) como JSON.
Si la autenticación por clave de API está activada (ApiKey:Enabled), las peticiones a los endpoints de extracción deben incluir el header configurado (por defecto X-Api-Key) con una clave válida; en caso contrario se devuelve HTTP 401.
Vía appsettings.json o variables de entorno (reemplazando : por __):
Ocr:Languages: idiomas de Tesseract separados por +. Por defecto spa+eng. Cada idioma requiere su archivo Data/tessdata/<idioma>.traineddata.Ocr:MaxPoolSize: máximo de motores Tesseract ociosos retenidos por idioma. 0 (por defecto) usa el número de núcleos disponibles.Pdf:MaxPages: máximo de páginas permitidas por PDF. 0 (por defecto) = sin límite.Upload:MaxFileSizeBytes: tamaño máximo de archivo subido. Por defecto 52428800 (50 MB). Se valida tanto a nivel de Kestrel como en el servicio, devolviendo HTTP 400 con un mensaje claro si se supera.RateLimit:Enabled: activa la limitación de concurrencia en los endpoints de extracción. Por defecto true.RateLimit:PermitLimit: máximo de peticiones de extracción procesándose a la vez. 0 (por defecto) usa el número de núcleos. Las que exceden cola se rechazan con HTTP 429.RateLimit:QueueLimit: peticiones que pueden esperar en cola al alcanzar el límite. 0 (por defecto) = sin cola.ApiKey:Enabled: exige clave de API en los endpoints de extracción. Por defecto false. Si se activa sin configurar claves, el arranque falla con un mensaje claro.ApiKey:HeaderName: header donde el cliente envía la clave. Por defecto X-Api-Key.ApiKey:Keys: lista de claves válidas (cualquiera autoriza). /health y /swagger quedan exentos.El proyecto sigue una arquitectura de capas que separa las responsabilidades en diferentes componentes: Copiar código
Las secciones de appsettings.json (Ocr, Pdf, Upload, RateLimit, ApiKey) se enlazan a clases de opciones tipadas (IOptions<T>) y se validan al arranque: un valor inválido (idioma vacío, número negativo, o ApiKey:Enabled sin claves) impide que el servicio inicie en lugar de fallar silenciosamente en tiempo de ejecución.
El OCR del PDF se procesa en paralelo por página (Parallel.ForEachAsync, limitado al número de núcleos), y los endpoints de extracción están protegidos por un limitador de concurrencia que rechaza con HTTP 429 cuando se satura, y opcionalmente por autenticación con clave de API.
Selected from shared topics, language and repository description—not editorial ratings.
nickdpz /
En este proyecto consiste en el paso de la libreria del lector de tarjetas RC522 de lenguaje c++ a lenguaje c
luismiguelcasadodiaz /
Este proyecto consiste en programar una librería en C
amuela-m /
Este proyecto consiste en crear tu primera librería de funciones en #C.
rafael0727 /
Este es un trabajo creado en el lenguaje de programacion c# el cual consiste en el registro de Pokemones
samuelhm /
Este proyecto consiste en programar una librería en C. Tu librería tendrá un montón de funciones de propósito general en las que se apoyarán tus programas.
Metrex29 /
Este proyecto consiste en programar una librería en C. Tu librería tendrá un montón de funciones de propósito general en las que se apoyarán tus programas.