SDKs par langage

Utilisez Majorsilence Reporting
depuis n'importe quel langage

Les wrappers Python, PHP et Ruby vous permettent de restituer des rapports RDL en PDF, Excel, CSV, HTML, et plus — sans écrire une seule ligne de code .NET. Chaque langage propose trois modes d'intégration adaptés à vos contraintes de déploiement.


Modes d'intégration

Chaque binding de langage fournit trois classes qui couvrent différents scénarios de déploiement :

Mode Fonctionnement Quand l'utiliser
Report Lance dotnet RdlCmd.dll comme processus enfant via le shell système. Nécessite que le runtime .NET soit installé sur le serveur. Configuration la plus simple — adaptée au développement ou lorsque .NET est déjà présent sur la machine.
ReportAot Lance un binaire compilé en AOT autonome (RdlCmd). Aucun runtime .NET requis — le binaire inclut tout. Déploiements en production où vous ne pouvez pas installer le runtime .NET. Copiez simplement le binaire à côté de votre application.
ReportNative Charge librdlnative.so en processus via FFI native (ctypes / PHP FFI / Fiddle). Aucun processus enfant lancé. Latence minimale, débit maximal. Requis pour le rendu en mémoire sans écrire de fichiers temporaires (Python uniquement pour l'instant).

Comparaison des fonctionnalités

FonctionnalitéPythonPHPRubyRust
Version minimale du langage3.10+8.1+3.0+1.65+
Gestionnaire de packagespipComposerpas encore de gempas encore de crate
Dépendances au runtimeaucuneaucuneaucunelibloading
Mode subprocess (dotnet)
Mode binaire AOT
Mode FFI natif✓ uniquement
Jeux de données en mémoire add_data()natif uniquementnatif uniquementnatif uniquement
Véritable buffer en mémoire (sans fichier temporaire)✓ natif
Handle de bibliothèque thread-safebasé sur Arc
Formats xlsx_table, tifb, mhtAOT + natifAOT + natifAOT + natiftous les modes

Formats d'export pris en charge

Les trois bindings de langage prennent en charge les mêmes chaînes de format de base passées à export() / export_to_memory() :

Chaîne de formatSortieDisponible dans
pdfPDFTous les modes
csvTexte CSVTous les modes
xlsxClasseur ExcelTous les modes
xmlDonnées XMLTous les modes
rtfRich Text FormatTous les modes
tifImage TIFF (couleur)Tous les modes
htmlHTMLTous les modes
xlsx_tableExcel (style tableau)AOT + Natif uniquement (Python/PHP/Ruby) ; tous les modes (Rust)
tifbImage TIFF (noir & blanc)AOT + Natif uniquement (Python/PHP/Ruby) ; tous les modes (Rust)
mhtArchive web MHTMLAOT + Natif uniquement (Python/PHP/Ruby) ; tous les modes (Rust)