A modern Electron application for generating PDF reports from veterinary laboratory results with support for multiple test types and laboratory providers.
- Hemogram Reports: Blood count reports for dogs and cats — CaNinna, Labrios (dogs only), Zoovet, Bioceli, VetPEC
- Perfil Completo Reports: Complete health profile reports for dogs and cats — CaNinna, Bioceli, VetPEC
- Hemoparasites Reports: Parasitology examination reports (CaNinna, dogs)
- Distemper/Adenovirus Reports: Immunological test reports (CaNinna, dogs)
- Gastroenteritis Reports: Digestive health examination reports (CaNinna, dogs)
- SIDA Reports: FIV/FeLV/heartworm test reports (CaNinna, cats)
- Clinic-aware branding: Header/footer artwork and address block switch per requesting clinic, with automatic "Maquilado por" attribution when the report is outsourced to a different provider
- Auto-update: Automatic background updates via GitHub releases
- Multi-platform: Available for macOS and Windows
- Google Chrome or Microsoft Edge must be installed. PDF rendering uses
puppeteer-core, which does not bundle a browser — it drives your existing Chrome/Edge install instead. This applies to the packaged app as well as running from source. Checked paths:- Windows: Chrome or Edge under
Program Files/Program Files (x86) - macOS:
/Applications/Google Chrome.appor/Applications/Microsoft Edge.app - Linux is not currently supported (no browser path lookup, no build target).
- Windows: Chrome or Edge under
- Node 24 (arm64) if building from source — required for the native
sharpdependency.
- Go to the releases page
- Download the latest release for your operating system:
- macOS:
.dmgfile - Windows:
.exeinstaller or portable.exe
- macOS:
- Install or run the application
- Clone the repository:
git clone https://github.com/ripflame/Lab2PDF.git cd Lab2PDF - Install dependencies:
npm install
- Start the application:
npm start
- Launch the application
- Use the sidebar to navigate between different report types
- Select the requesting clinic, laboratory provider, and species, then fill out the form with laboratory results
- Click "Generar PDF" to generate the report
- A save dialog opens, defaulting to your Documents folder — pick where to save the PDF
npm run devReport forms and PDF templates are generated from config files under config/tests/ — do not edit
files in templates/ directly, they get overwritten. After changing a config:
npm run generate:templates
npm run generate:previewSee ADD_TEST_TYPE.md for the full guide to adding a new test type or provider.
npm test# macOS
npm run build:mac
# Windows
npm run build:win# macOS (builds and publishes to GitHub releases)
npm run release:mac
# Windows (builds and publishes to GitHub releases)
npm run release:win
# Remove build output
npm run cleanprebuild:*/prerelease:* hooks reinstall the native sharp dependency for the target platform
before building.
The application automatically ensures platform-specific dependencies are installed:
npm run ensure-platformLab2PDF is config-driven: each test type / provider / species combination is a single JS file under
config/tests/<test>/providers/<provider>/<species>.js, loaded through
config/configLoader.js. scripts/generateTemplates.js
renders those configs into the form and PDF template HTML under templates/, which
utils/pdfGenerator.js fills with form data and prints to PDF via
puppeteer-core. Requesting clinics (header/footer branding, address, "Maquilado por" attribution)
are a separate registry under config/clinics/.
- Electron: Cross-platform desktop application framework
- puppeteer-core: PDF generation engine (drives a system-installed Chrome/Edge, see Prerequisites)
- Sharp: Image processing for uploaded test photos
- electron-updater / electron-log: Auto-update and logging
- HTML/CSS/JavaScript: Frontend technologies
See the releases page for the current version.