Stilo is a WYSIWYG HTML editor developed with C#/Blazor, born from the concrete need for a complete document editor that can be easily integrated into .NET projects.
Developed in spare time, Stilo combines visual editing, report generation, and functionalities for barcodes, QR codes, and labels, all without licensing costs and with a focus on performance.
What Stilo Offers
- WYSIWYG HTML-oriented editing with clean and controllable output.
- Native integration with Blazor to use the editor as a component within .NET applications.
- Reporting functionalities to create structured documents without relying on external services.
- Support for barcodes and QR codes integrated into the editor.
- Labeling tools designed for printing and inventory management.
- MIT License allowing use, modification, and distribution without licensing costs.
Architecture and Repository Status
The repository does not contain the complete source code; it contains the complete demo source and links for free installation into your projects via NUGET.
Currently, the project appears to be in its initial phase but is already functional for those who want to explore and integrate it. The architecture is designed to be modular and easily extensible within Blazor projects.
It is possible to request the license file to unlock all functionalities; it is totally FREE, the license was introduced to limit use in corporate contexts and monitor installations.
Accessibility as a Primary Requirement
Sensitivity and Gaps in Common Projects Many projects neglect accessibility from the early stages, considering it an addition rather than a fundamental requirement. This leads to interfaces that work for the majority but exclude people with disabilities.
Magnifying glass and TTS for easy content reading
Practical Use Cases
- CMS and administration panels: editing pages and content with HTML output.
- Business report generation: exports and layouts without paid dependencies.
- Labeling and logistics systems: printing labels with barcodes and QR codes.
- Email or document template editor integrated into internal applications.
Editor
Native PDF and Word Editor Detailed Description
Objective To provide an editor that not only produces clean HTML but also allows creating, modifying, and exporting professional documents in PDF and Word formats without resorting to external services or paid libraries.
Key Features
- Direct creation and editing of Word documents: generation of .docx documents from the editor's content with support for styles, headers, tables, inline images, and advanced formatting.
- Native PDF export: server-side or client-side conversion to PDF with control over layout, margins, pagination, headers and footers, embedded font management, and print optimization.
- WYSIWYG print preview: faithful visualization of the final document before export, with page layout, orientation, and scaling options.
- Image and resource management: insertion and optimization of images, quality control for printing, and the ability to include barcodes/QR codes directly in documents.
- Advanced typography control: management of styles, paragraphs, numbered and bulleted lists, spacing, and kerning for professional results.
- Compatibility and interoperability: Word documents compatible with MS Word, PDFs compliant with printing and archiving standards.
- Performance and scalability: optimized conversions to avoid impacting user experience; possibility of running heavy operations in the background or on dedicated servers.
Practical Advantages
- No licensing costs for the use and distribution of the editing and conversion engine.
- Reduced external dependencies, simplifying deployment and maintenance.
- Greater control over the final result compared to solutions that only export raw HTML.
- Adaptability to enterprise scenarios: invoicing, reporting, technical documentation, contracts, and marketing materials.
Editing a very complex PDF
it is Stilo's reporting module based on Microsoft's RDLC format, redesigned and adapted for the Blazor ecosystem. It was created to fill a gap: to find a complete and advanced component, with integrated Designer and Viewer that can be added to a project without being burdened by licensing costs or slow and cumbersome libraries.
Why Stilo.Reports
- RDLC as a standard: RDLC is a consolidated format for business reports; Stilo.Reports brings it to Blazor while maintaining compatibility and flexibility.
- Integrated Designer: a visual editor to build report layouts, define datasets, fields, tables, charts, and page sections without leaving the development environment.
- Native Viewer: WYSIWYG preview directly in Blazor, with page navigation, zoom, text search, export, and print.
- No licensing costs: designed to be used and distributed freely (in development contexts) alongside Stilo, avoiding commercial dependencies that burden the project.
- Performance and lightness: optimized implementation to avoid slowdowns in web apps, with progressive rendering and the ability to perform heavy server-side operations.
Main Features
- Drag-and-drop visual Designer to create RDLC reports: header, footer, body, tables, matrices, charts, and subreports.
- Flexible data binding: support for JSON datasets, .NET objects, API calls, and dynamic sources.
- Blazor integrated Viewer: client-side rendering with server-side fallback for complex documents.
- Multiple export: PDF, Word, HTML, and images, with control over layout, pagination, and print quality.
- Templates and merge fields: ability to define reusable templates and dynamic fields for automatic document generation.
- Support for barcodes and QR codes: direct generation and placement in reports.
- Extensibility: APIs for adding new renderers, exporters, or custom controls.
Architecture and Integration
- Modular Blazor component: Stilo.Reports integrates as a NuGet package or as a source project, exposing Razor components for Designer and Viewer.
- Hybrid rendering: client-side rendering for lightweight documents; server-side or background rendering for complex reports or large datasets.
- Export pipeline: controlled conversion from RDLC to PDF/Word with font, image, and external resource management; possibility of caching and job queue for asynchronous operations.
- Security and isolation: template execution in sandboxes to prevent unauthorized code execution; data access control and export logging.
- Easy integration: examples and helpers to connect Stilo.Reports to authentication services, storage (S3, Azure Blob), and corporate printing systems.
Stilo Report Designer
Real Use Cases
- Financial reporting: balance sheets, monthly reports, and dashboards exportable to PDF/Word for internal distribution.
- Invoices and commercial documents: dynamic templates with merge fields to generate print-ready documents.
- Labels and logistics: layouts for labels with barcodes/QR codes optimized for thermal printers.
- Technical documentation: generation of manuals and product sheets with index, table of contents, and bookmarks compatible with Word/PDF.
- Business workflows: integration into approval processes with automatic export and sending via email or archiving.
Report Viewer
Concrete Advantages
- Cost reduction by eliminating commercial licenses for reporting engines.
- Full control over the generation flow and the final result.
- Improved developer experience thanks to the integrated Designer and ready-made examples.
- Greater reliability compared to solutions that assemble heterogeneous and poorly performing libraries.
Stilo will not be exclusive to the Microsoft environment
Strategic Vision
Stilo is conceived as a standalone platform independent of the infrastructure: and perhaps it will not be exclusively tied to the Microsoft ecosystem.
The idea is to offer modular and adaptable web components that can be integrated into any project, regardless of the chosen cloud or backend stack. But since it's a weekend project and not designed to "generate economic revenue," it's all on a couple of sheets of paper.
Architecture and Distribution
- Modularity The components (editor, Designer, Viewer, Stilo.Reports, PDF/Word export engines, accessibility modules) will be designed as reusable packages (e.g., NuGet, npm packages, or Web components) to facilitate their adoption in .NET, Node, Java, or any other environment.
- Flexible Deployment Support for on-premise deployment, on VM/containers (Docker, Kubernetes), and on cloud providers (Azure, AWS, GCP). Cloud APIs eliminate technical requirements for a single Microsoft architecture.
- Discover Stilo on GitHub, try the integrated Stilo Editor, Stilo Report Designer, and Stilo Report Viewer: https://github.com/francescopaolopassaro/Stilo