using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
NativeUI C# (Comment ça marche pour les développeurs)
Kannapat Udonpant
avril 3, 2024
Partager:
NativeUI est un cadre essentiel pour les développeurs C# dans la série Grand Theft Auto(GTA) la communauté des moddeurs. Il simplifie la création d'un système de menus imbriqués et de bannières personnalisées, ce qui en fait l'un des favoris des moddeurs de GTA pour son approche conviviale et ses résolutions d'écran. Native UI MOD est conçu pour créer des menus rapides, à la Rockstar, reprenant le style et la réactivité des menus imbriqués faciles que l'on trouve dans Grand Theft Auto(GTA) jeux. Dans ce tutoriel, nous allons comprendre ce qu'est NativeUI et comment nous pouvons l'intégrerIronPDF avec elle.
Les bases de NativeUI
NativeUI excelle dans la création de menus imbriqués, une aubaine pour les moddeurs qui souhaitent construire des interfaces sophistiquées sans avoir de code complexe pour les rappels basés sur des événements et les descriptions d'éléments. Il s'adapte également à différentes résolutions d'écran, ce qui garantit que les menus sont visuellement attrayants sur différents écrans et dans de nombreuses anciennes versions. L'une des forces de NativeUI est son système de menus imbriqués, qui permet aux développeurs de créer des structures de menus complexes avec des boutons d'instruction personnalisés sans effort. Pour les débutants, la documentation de NativeUI sur son wiki est une ressource précieuse, fournissant des conseils étape par étape pour la création de menus et de versions flottantes.
Configuration de NativeUI dans Visual Studio
L'installation initiale dans Visual Studio implique le téléchargement de la bibliothèque NativeUI et l'incorporation du fichier .dll dans votre projet de modélisation. La bibliothèque NativeUI est un paquetage publié, disponible dans les dépôts C# les plus courants, ce qui la rend facilement accessible pour l'intégrer dans votre projet. L'installation est simple. Lors de la mise en place de NativeUI, assurez-vous que des versions compatibles flottent entre votre environnement de développement et la bibliothèque NativeUI afin d'obtenir des performances optimales.
Création de votre premier menu
Créer votre premier menu avec NativeUI est une étape passionnante. La conception de la bibliothèque est axée sur la facilité d'utilisation, ce qui vous permet d'ajouter des descriptions d'articles, des boutons simples et même des bannières personnalisées sans trop de difficultés. Pour les débutants, il est conseillé de commencer par un script de base et d'ajouter progressivement des fonctionnalités plus complexes au fur et à mesure que vous vous familiarisez avec le cadre. Voici un exemple simple de création d'un menu de base avec ses propres textures :
using NativeUI;
public class YourFirstMenu : Script
{
private MenuPool _menuPool;
private UIMenu mainMenu;
public YourFirstMenu()
{
_menuPool = new MenuPool();
var mainMenu = new UIMenu("NativeUI", "SELECT AN OPTION");
_menuPool.Add(mainMenu);
AddMenuItems(mainMenu);
_menuPool.RefreshIndex();
//mouse controls
Tick += OnTick;
KeyDown += OnKeyDown;
}
private void AddMenuItems(UIMenu menu)
{
var item1 = new UIMenuItem("Item 1", "Description for Item 1");
menu.AddItem(item1);
menu.OnItemSelect += (sender, item, index) =>
{
if (item == item1)
{
// Do something when Item 1 is selected
}
};
}
private void OnTick(object sender, EventArgs e)
{
_menuPool.ProcessMenus();
}
private void OnKeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F5 && !_menuPool.IsAnyMenuOpen()) // Our menu on/off switch
mainMenu.Visible = !mainMenu.Visible;
}
}
using NativeUI;
public class YourFirstMenu : Script
{
private MenuPool _menuPool;
private UIMenu mainMenu;
public YourFirstMenu()
{
_menuPool = new MenuPool();
var mainMenu = new UIMenu("NativeUI", "SELECT AN OPTION");
_menuPool.Add(mainMenu);
AddMenuItems(mainMenu);
_menuPool.RefreshIndex();
//mouse controls
Tick += OnTick;
KeyDown += OnKeyDown;
}
private void AddMenuItems(UIMenu menu)
{
var item1 = new UIMenuItem("Item 1", "Description for Item 1");
menu.AddItem(item1);
menu.OnItemSelect += (sender, item, index) =>
{
if (item == item1)
{
// Do something when Item 1 is selected
}
};
}
private void OnTick(object sender, EventArgs e)
{
_menuPool.ProcessMenus();
}
private void OnKeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F5 && !_menuPool.IsAnyMenuOpen()) // Our menu on/off switch
mainMenu.Visible = !mainMenu.Visible;
}
}
Imports NativeUI
Public Class YourFirstMenu
Inherits Script
Private _menuPool As MenuPool
Private mainMenu As UIMenu
Public Sub New()
_menuPool = New MenuPool()
Dim mainMenu = New UIMenu("NativeUI", "SELECT AN OPTION")
_menuPool.Add(mainMenu)
AddMenuItems(mainMenu)
_menuPool.RefreshIndex()
'mouse controls
AddHandler Me.Tick, AddressOf OnTick
AddHandler Me.KeyDown, AddressOf OnKeyDown
End Sub
Private Sub AddMenuItems(ByVal menu As UIMenu)
Dim item1 = New UIMenuItem("Item 1", "Description for Item 1")
menu.AddItem(item1)
AddHandler menu.OnItemSelect, Sub(sender, item, index)
If item = item1 Then
' Do something when Item 1 is selected
End If
End Sub
End Sub
Private Sub OnTick(ByVal sender As Object, ByVal e As EventArgs)
_menuPool.ProcessMenus()
End Sub
Private Sub OnKeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
If e.KeyCode = Keys.F5 AndAlso Not _menuPool.IsAnyMenuOpen() Then ' Our menu on/off switch
mainMenu.Visible = Not mainMenu.Visible
End If
End Sub
End Class
$vbLabelText $csharpLabel
Ce script met en place un menu de base avec un seul élément et gère sa sélection. NativeUI utilise des rappels basés sur des événements, ce qui signifie que les actions dans vos menus déclencheront des événements spécifiques, rendant votre interface utilisateur interactive et réactive.
Améliorer l'interaction avec l'utilisateur
Un aspect essentiel de NativeUI est sa capacité à créer des menus à la fois fonctionnels et conviviaux. La bibliothèque prend en charge les contrôles de la souris. En plus des contrôles à la souris, NativeUI offre une prise en charge complète des contrôleurs, ce qui permet de naviguer facilement dans les menus à l'aide des contrôleurs de jeu. Vous pouvez encore améliorer l'interaction avec l'utilisateur en ajoutant des boutons d'instruction personnalisés, qui guident les utilisateurs à travers les options du menu et le support du contrôleur.
Personnalisation des menus
NativeUI permet un haut degré de personnalisation. Vous pouvez décorer vos menus avec vos propres textures et des bannières personnalisées, ce qui leur donne un aspect unique qui se démarque. L'ajout de ces touches personnelles ne rend pas seulement vos menus plus attrayants sur le plan visuel, mais crée également une expérience plus immersive pour les utilisateurs.
private void CustomizeMenu(UIMenu menu)
{
menu.SetBannerType("texture.png"); // Custom banner texture
menu.ChangeItemColour("Item 1", System.Drawing.Color.FromArgb(255, 0, 0)); // Red color for Item 1
}
private void CustomizeMenu(UIMenu menu)
{
menu.SetBannerType("texture.png"); // Custom banner texture
menu.ChangeItemColour("Item 1", System.Drawing.Color.FromArgb(255, 0, 0)); // Red color for Item 1
}
Private Sub CustomizeMenu(ByVal menu As UIMenu)
menu.SetBannerType("texture.png") ' Custom banner texture
menu.ChangeItemColour("Item 1", System.Drawing.Color.FromArgb(255, 0, 0)) ' Red color for Item 1
End Sub
$vbLabelText $csharpLabel
IronPDF : C&num ; Bibliothèque PDF
IronPDF est une bibliothèque complète en .NET pour travailler avec des fichiers PDF. Il permet aux développeurs de créer de nouveaux PDF, de modifier des PDF existants et de les convertirHTML vers PDFce qui en fait une bibliothèque nécessaire pour toute application C# qui doit gérer des documents PDF.
Mise en œuvre d'IronPDF dans une application NativeUI
L'intégration d'IronPDF dans un projet C# avec NativeUI nécessite l'ajout du package IronPDF à votre projet Visual Studio. Cela peut se faire facilement via le gestionnaire de paquets NuGet dans Visual Studio. Une fois la configuration établie, vous pouvez utiliser les fonctionnalités d'IronPDF en même temps que les éléments d'interface utilisateur créés avec NativeUI.
Prenons l'exemple d'une application dans laquelle vous devez générer un rapport sur la base des données saisies par l'utilisateur dans une interface NativeUI. Voici comment vous pouvez y parvenir en utilisant IronPDF :
using IronPdf;
using NativeUI;
public class ReportGenerator
{
private MenuPool _menuPool;
private UIMenu mainMenu;
public ReportGenerator()
{
_menuPool = new MenuPool();
mainMenu = new UIMenu("Report Generator", "SELECT AN OPTION");
_menuPool.Add(mainMenu);
AddPdfGenerationOption(mainMenu);
_menuPool.RefreshIndex();
// Event handlers for menu
}
private void AddPdfGenerationOption(UIMenu menu)
{
var generateReportItem = new UIMenuItem("Generate Report", "Create a PDF report");
menu.AddItem(generateReportItem);
menu.OnItemSelect += (sender, item, index) =>
{
if (item == generateReportItem)
{
CreatePdfReport();
}
};
}
private void CreatePdfReport()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1><p>Report details...</p>");
pdf.SaveAs("Report.pdf");
// Notify user that the PDF report has been generated
}
}
using IronPdf;
using NativeUI;
public class ReportGenerator
{
private MenuPool _menuPool;
private UIMenu mainMenu;
public ReportGenerator()
{
_menuPool = new MenuPool();
mainMenu = new UIMenu("Report Generator", "SELECT AN OPTION");
_menuPool.Add(mainMenu);
AddPdfGenerationOption(mainMenu);
_menuPool.RefreshIndex();
// Event handlers for menu
}
private void AddPdfGenerationOption(UIMenu menu)
{
var generateReportItem = new UIMenuItem("Generate Report", "Create a PDF report");
menu.AddItem(generateReportItem);
menu.OnItemSelect += (sender, item, index) =>
{
if (item == generateReportItem)
{
CreatePdfReport();
}
};
}
private void CreatePdfReport()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1><p>Report details...</p>");
pdf.SaveAs("Report.pdf");
// Notify user that the PDF report has been generated
}
}
Imports IronPdf
Imports NativeUI
Public Class ReportGenerator
Private _menuPool As MenuPool
Private mainMenu As UIMenu
Public Sub New()
_menuPool = New MenuPool()
mainMenu = New UIMenu("Report Generator", "SELECT AN OPTION")
_menuPool.Add(mainMenu)
AddPdfGenerationOption(mainMenu)
_menuPool.RefreshIndex()
' Event handlers for menu
End Sub
Private Sub AddPdfGenerationOption(ByVal menu As UIMenu)
Dim generateReportItem = New UIMenuItem("Generate Report", "Create a PDF report")
menu.AddItem(generateReportItem)
AddHandler menu.OnItemSelect, Sub(sender, item, index)
If item = generateReportItem Then
CreatePdfReport()
End If
End Sub
End Sub
Private Sub CreatePdfReport()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1><p>Report details...</p>")
pdf.SaveAs("Report.pdf")
' Notify user that the PDF report has been generated
End Sub
End Class
$vbLabelText $csharpLabel
Conclusion
L'intégration d'IronPDF à NativeUI dans les applications C# est une combinaison puissante qui peut améliorer considérablement la fonctionnalité et l'expérience de l'utilisateur. Qu'il s'agisse de créer des rapports d'activité, des outils éducatifs ou des formulaires de données complets, cette combinaison offre une plateforme robuste permettant aux développeurs de créer des applications sophistiquées et de haute qualité. Avec de la créativité et une mise en œuvre réfléchie, les applications potentielles de cette intégration sont vastes et diverses.
Commencez avec la solution IronPDFessai gratuit et d'explorer tout son potentiel. Lorsque vous êtes prêt à vous engager, les licences commencent à partir de $749 - un petit prix pour des capacités aussi puissantes!
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< PRÉCÉDENT Mot-clé virtuel C# (comment il fonctionne pour les développeurs)
SUIVANT > C# PostgreSQL (Comment ça marche pour les développeurs)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier