Claudio Bernasconi
Claudio Bernasconi
  • 104
  • 1 253 556
QuestPDF - The BEST PDF Generator for .NET?!
Today, I'm going to show you QuestPDF, in my opinion, the best PDF generator for .NET.
What if I told you that QuestPDF is open-source, cross-platform, and offers a simple, fluent API-styled programming interface to define your PDF reports?
Yes, we only use code to define and generate the PDF reports. No need to install a graphical report designer. And guess what? There is a previewer with hot reload support.
00:00 Introduction to QuestPDF
00:58 Creating a PDF Document using QuestPDF
04:28 QuestPDF Document Previewer
06:33 QuestPDF Table using a Data Source
08:20 QuestPDF Elements & Documentation
09:42 QuestPDF Licensing
11:10 Conclusion
🔥 C#/.NET Bootcamp: The Fundamentals & more (Code FRIENDS10 for 10% OFF)*
claudiobernasconi.ch/dotnet-course
📌 .NET Developer Roadmap
claudiobernasconi.ch/learn-dotnet
📌 QuestPDF Demo Source Code (GitHub):
github.com/claudiobernasconi/questpdf-demo
📌 QuestPDF (GitHub):
github.com/QuestPDF/QuestPDF
📌 QuestPDF Invoice Example (GitHub):
github.com/QuestPDF/QuestPDF-ExampleInvoice
📌 QuestPDF License:
www.questpdf.com/license/
📌 QuestPDF Documentation:
www.questpdf.com/introduction.html
📌 UA-cam Playlists:
The FREE Blazor Crash Course: ua-cam.com/video/89Klc6WHElw/v-deo.html
Blazor: ua-cam.com/play/PLwISgxnkpZGITT6pELfCeQ6qK0G3ujldZ.html
✅ SUBSCRIBE FOR MORE VIDEOS
Subscribe: 🔔 claudiobernasconi.ch/Subscribe
🚀 CONNECT & SUPPORT
Twitter: CHBernasconiC
Blog: claudiobernasconi.ch
Newsletter: claudiobernasconi.ch/newsletter
* Affiliate Link: I earn a small commission at no additional cost
Переглядів: 490

Відео

Bogus: Generating Intelligent Test Data (.NET/No AI)
Переглядів 4422 місяці тому
Bogus is a fake data generator for C# that makes generating fake data for tests or prototypes more fun and efficient. Learn how to quickly implement realistic test data for your prototypes or automated tests. 00:00 Introduction 00:13 Bogus Demo 01:29 How to Configure Bogus 04:14 Using Localization with Bogus 04:47 Seeding: Make the Test Data Deterministic 05:47 Bogus Installation (NuGet) 06:02 ...
How To Use Browser Storage in Blazor Server (.NET 5+)
Переглядів 1,4 тис.3 місяці тому
The browser's session storage allows us to store data relevant to the current user and tab. The local storage allows us to store data relevant to a user but across tabs and sessions. In this video, I will show you how to access the local and session storage in Blazor Server using C# instead of JavaScript. 00:00 Introduction 00:32 ASP.NET Core Protected Browser Storage 00:59 WebAssembly 01:21 Ac...
What's Coming With .NET 9? - 3 New LINQ Methods!
Переглядів 1,2 тис.4 місяці тому
It's been only a few months since we got C# 12 and .NET 8. However, the .NET development team has already published insights into their vision of .NET 9, and we already have a few new features in .NET 9 Preview 1 that we can explore today. 00:00 Introduction 00:23 The .NET 9 Vision 01:28 New Visual Studio Version? 01:57 3 New LINQ Methods 03:16 .NET MAUI 03:39 Other New Features 04:24 New Relea...
How to Disable a Button after Clicking in Blazor
Переглядів 1,2 тис.4 місяці тому
Today, I want to provide a solution to a common problem we face when implementing Blazor web applications. When a user presses a button, the button stays active by default. There are two main issues here. A simple solution is to disable the button while we process the button click behind the scenes. Let's find out how to achieve it. 00:00 Introduction 00:18 The Issues without Disabling the Butt...
Params Collections - The First NEW C# 13 Feature
Переглядів 8765 місяців тому
It's only been a few months since we got C# 12 with the release of .NET 8 in November 2023. However, today, I'm already showing you the first C# 13 proposal Params Collections, which has been implemented as a preview version. 00:00 Introduction 00:17 Collection Expressions in C# 12 00:47 Params Collections in C# 13 01:51 What are the Advantages? 03:23 How Much Impact Does That Have? 04:18 Concl...
How to Share Blazor Components between Applications
Переглядів 1,6 тис.5 місяців тому
In today's video, I want to answer a simple but interesting question that I often get in the comments section of my Blazor videos. How do you share components between multiple projects? 00:00 Introduction 00:15 Creating a Razor Class Library and a Shared Blazor Component 01:05 Using a Shared Blazor Component in a Blazor Web App 02:17 Challenges When using Tailwind CSS (or other CSS frameworks) ...
How to Use Tailwind CSS in Blazor | Quick Start
Переглядів 3,7 тис.5 місяців тому
In this video, we dive into the world of Tailwind CSS and replace Blazor's default CSS framework, Bootstrap, with this popular CSS styling framework. 00:00 Introduction & What we build 00:55 Create the Blazor Web App 01:27 Download the Tailwind CLI 02:53 Create and Configure the Tailwind CSS Config File 03:39 Create the Source Tailwind CSS File 04:03 Load the Generated Tailwind CSS 04:24 Use Ta...
How to Use Blazor Components in ASP.NET Core MVC?
Переглядів 4,3 тис.6 місяців тому
In this video, I show how to use Blazor components in an existing ASP.NET Core MVC application. 00:00 Introduction 00:27 The ASP.NET Core MVC Application 00:52 Adding a Blazor Component 01:43 Integrating a Blazor Component in an MVC Application 02:38 Configuring an MVC Application for Blazor Server Interactivity 03:39 Adding the _Import.razor File 04:13 The Motivation 04:58 Sharing Components u...
9 UI Frameworks for .NET Desktop App Development [2024]
Переглядів 23 тис.6 місяців тому
The landscape of different user interface frameworks for .NET desktop development offers many choices. What's great for the ecosystem and experienced developers can be challenging for novices and people getting into .NET from other technologies. I will provide the most fundamental information about the 9 most common user interface frameworks for .NET desktop app development to help you decide w...
Q&A: How Much Does A Channel With 1 Million Views Make?!
Переглядів 4056 місяців тому
Today is exactly five years since my first UA-cam video upload. It was an Introduction to Dependency Injection in C# video uploaded on December 14th, 2018. Meanwhile, the channel has 94 videos, including this one. Almost 15 thousand people subscribed to the channel. Maybe we will make it before the end of the year. We also have almost 1M views, which we will definitely make within the next few ...
Blazor Localization in .NET 8 & Blazor Server
Переглядів 6 тис.6 місяців тому
We will learn how to localize a Blazor application in .NET 8. The same code is also applicable to .NET 7 Blazor Server. We use regular .NET NuGet packages and create regular resource files. For Blazor WebAssembly, you need to tweak the code, it won't work as shown in this video. 00:00 What We Build in This Video 00:45 Creating the Blazor Web App in Visual Studio 01:39 Install & Setup the Requir...
What's NEW in Blazor in .NET 8?!
Переглядів 4,1 тис.6 місяців тому
NET 8 is finally here, and I'm excited to share what's new in Blazor with .NET 8. It is not an exaggeration to say that Blazor has fundamentally changed! There is a new project template with a new file structure, new rendering modes, stream rendering, enhanced navigation, and new authentication components. 00:00 Introduction 00:45 The new Blazor Project Templates 02:02 The Blazor Web App Projec...
.NET 8 | What is Native AOT in .NET?
Переглядів 9 тис.7 місяців тому
Today, we dive deep into the world of AOT in .NET 8 and learn everything you need to know about it. We're not just scratching the surface. Let's find out how it works, how to use it, and when it doesn't make sense. 00:00 Introduction 00:30 What is Native AOT? 03:10 Creating a Native AOT API Project 07:56 Native AOT Advantages 09:19 Native AOT Disadvantages 11:12 When to Use Native AOT? 11:40 Na...
.NET 8 | Everything you NEED to KNOW!
Переглядів 24 тис.7 місяців тому
.NET 8 | Everything you NEED to KNOW!
Uploading Files with Blazor (Server & WebAssembly)
Переглядів 5 тис.7 місяців тому
Uploading Files with Blazor (Server & WebAssembly)
Getting Ready for .NET Conf 2023!
Переглядів 5008 місяців тому
Getting Ready for .NET Conf 2023!
NEW Single Blazor Web App Project Template
Переглядів 3,4 тис.8 місяців тому
NEW Single Blazor Web App Project Template
TimeProvider - New Date & Time Abstractions in .NET 8!
Переглядів 1,4 тис.8 місяців тому
TimeProvider - New Date & Time Abstractions in .NET 8!
Dependency Injection in .NET 8: Keyed Service Registrations 🚀
Переглядів 2 тис.8 місяців тому
Dependency Injection in .NET 8: Keyed Service Registrations 🚀
Primary Constructors in C# 12 - WORTH IT?
Переглядів 1,7 тис.8 місяців тому
Primary Constructors in C# 12 - WORTH IT?
The BEST .NET Ever! - What's Coming with .NET 8?
Переглядів 7 тис.9 місяців тому
The BEST .NET Ever! - What's Coming with .NET 8?
This NEW feature entirely CHANGES Blazor in .NET 8!
Переглядів 3,6 тис.9 місяців тому
This NEW feature entirely CHANGES Blazor in .NET 8!
How to Authenticate a Blazor Server App with Azure AD
Переглядів 9 тис.9 місяців тому
How to Authenticate a Blazor Server App with Azure AD
AUTODECOMPILATION IS HERE! | Visual Studio 2022 Update 17.7
Переглядів 2,7 тис.9 місяців тому
AUTODECOMPILATION IS HERE! | Visual Studio 2022 Update 17.7
Blazor Tutorial - Creating a Todo App using Blazor Server
Переглядів 9 тис.10 місяців тому
Blazor Tutorial - Creating a Todo App using Blazor Server
WHY YOU SHOULD LEARN C# AND .NET - TOP 5 REASONS
Переглядів 7 тис.11 місяців тому
WHY YOU SHOULD LEARN C# AND .NET - TOP 5 REASONS
How to use Bicep to Deploy Azure Resources
Переглядів 5 тис.11 місяців тому
How to use Bicep to Deploy Azure Resources
How to Program C# in Visual Studio Code [2023]
Переглядів 41 тис.11 місяців тому
How to Program C# in Visual Studio Code [2023]
Creating Azure Resources like a Pro using ARM Templates
Переглядів 6 тис.11 місяців тому
Creating Azure Resources like a Pro using ARM Templates

КОМЕНТАРІ

  • @denysolleik9896
    @denysolleik9896 День тому

    If IronPDF was free, would it be the best?

    • @ClaudioBernasconi
      @ClaudioBernasconi 22 години тому

      Great question. I haven't used IronPDF, so I cannot comment on that product. "Best" is always subjective and may depend on several factors. Have you tried QuestPDF? How is your experience?

  • @opodendorf
    @opodendorf 3 дні тому

    Working with resources in Visual Studio is terrible. The hard-coded access via string is really bad. Instead, I would like to recommend the nuget package kli.localize, which works based on json and also ensures compile-safe access.

  • @OeHomestead
    @OeHomestead 5 днів тому

    I've been using JSReport for a few years and I've been quite happy with it. It comes with a template editor and you can use it directly from your .NET code.

  • @Justeego
    @Justeego 7 днів тому

    Wow i learned snippets, so powerful

  • @VinhPham-hz8ny
    @VinhPham-hz8ny 9 днів тому

    thank you for making it so easy to understand. If I want a vendor to call that function, do I need to do any kind of authentication or just generate the url for the vendor?

    • @ClaudioBernasconi
      @ClaudioBernasconi 9 днів тому

      I depends on your use case. You can use authentication, but you don't have to use it.

  • @4196marcos
    @4196marcos 10 днів тому

    Great Video Claudio, you answered all the questions I had!

  • @mcclausky
    @mcclausky 13 днів тому

    Hi Claudio. For someone who is starting with Blazor, would you recommend Visual Studio or VS code? Any pros and cons? Thank you!

    • @ClaudioBernasconi
      @ClaudioBernasconi 12 днів тому

      Great question! I think if you're on Windows, Visual Studio will always provide the more advanced experience. However, it also requires a good machine to run smoothly. I'd say try Visual Studio first, and use Visual Studio Code on Linux, macOS, or if you don't like Visual Studio on Windows.

  • @tonyjennings8199
    @tonyjennings8199 13 днів тому

    Thanks, your explanation was very helpful

  • @lucaspepes3401
    @lucaspepes3401 14 днів тому

    nice video, thanks!!

  • @jtrumpfheller
    @jtrumpfheller 15 днів тому

    I tried your example here and it is running without error but I don't find the targetPath on my computer. randomFile give me this: "/tmp/tmpIlKfaD.tmp". But where is this tmp-dir? Using windows 10 with Blazor Webassembly .NET 6 in a Client/Server/Shared structure

    • @ClaudioBernasconi
      @ClaudioBernasconi 15 днів тому

      Open a Windows console and insert the command "%temp%" without the quotation marks. It should return the path to your temp directory.

    • @jtrumpfheller
      @jtrumpfheller 15 днів тому

      @@ClaudioBernasconi Ok. For me it says "C:\TEMP" (changed it in the registry for easier to find) but there are no files showing. I have my razor-page in the client-project. Maybe therefore?

  • @user-ec7kd7lb6n
    @user-ec7kd7lb6n 18 днів тому

    Tusen Takk

  • @KamaruAshamae
    @KamaruAshamae 19 днів тому

    I'm having quite a bit of trouble with the CultureSelector. When I use the dropdown to change the language, it can't find it. I tried the interactive server render mode method and it still errors out. Any ideas?

    • @ClaudioBernasconi
      @ClaudioBernasconi 19 днів тому

      I am sorry it doesn't work for you. It's really difficult to spot an error from your description without having access to your code. Maybe you can post your code on GitHub and somehow provide access? Feel free to put it online and tag me on Twitter, or ask on StackOverflow.

    • @KamaruAshamae
      @KamaruAshamae 19 днів тому

      @@ClaudioBernasconi I got it figured. There was an issue in the controller and the http requests :) Thank you for responding!

  • @amrswalha
    @amrswalha 22 дні тому

    Thank you for this great tutorial

  • @user-cc8kb
    @user-cc8kb 23 дні тому

    thanks a lot for clarifying

  • @yasirirfan5262
    @yasirirfan5262 26 днів тому

    good work.

  • @RoadTalksByRizwan
    @RoadTalksByRizwan 26 днів тому

    What a ZOMBIE Accent. DUDE! you forgot to BLINK😂

  • @muskmelon
    @muskmelon 26 днів тому

    thanks! very clear explnation!!

  • @thibaultdolley734
    @thibaultdolley734 28 днів тому

    Thank you for providing the github repository

  • @zorglub8949
    @zorglub8949 Місяць тому

    Hi Claudio, thanks for making great videos 🥇. I have seen a couple already. Could you make a Video Library? I am starting to learn C# and like your style as it's fast and accurate.

  • @usamaradwan
    @usamaradwan Місяць тому

    Thank you so much! It's a great tutorial!

  • @waynehamberg9248
    @waynehamberg9248 Місяць тому

    What about WebUI 3? It's XAML based!

  • @arrrryyy
    @arrrryyy Місяць тому

    Dude, can you stop making these facial impressions like you are disgusted?

  • @mostaphasaid7250
    @mostaphasaid7250 Місяць тому

    Thank you very much. very informative video.😍🤩

    • @ClaudioBernasconi
      @ClaudioBernasconi Місяць тому

      Glad you liked it, and that it was helpful to you! 🙂

  • @badatcomputer
    @badatcomputer Місяць тому

    I also found using a Try-Finally block is helpful. If(IsAddingToCart) then return, else place the IsAddingToCart=true before the Try, and in the Finally place IsAddingToCart=false. Solved my problems.

  • @rohann8073
    @rohann8073 Місяць тому

    Thank you for this video

  • @Jel.Awesh.M
    @Jel.Awesh.M Місяць тому

    Now, the next question, what .NET version should I focus on learning for a job perspective?

    • @ClaudioBernasconi
      @ClaudioBernasconi Місяць тому

      Always use the latest stable release. At this time, it is .NET 8.

    • @Jel.Awesh.M
      @Jel.Awesh.M Місяць тому

      @@ClaudioBernasconi Right, that would be for new projects, but if you looking for a new job. What would it be better?

  • @md.shakirhossain
    @md.shakirhossain Місяць тому

    Thank you so much @ClaudioBernasconi for your nice, easy and helpful video

  • @wiepcorbier
    @wiepcorbier Місяць тому

    Put it in IIS and it doesn't work anymore. The links don't work, bootstrap is gone. Not good at all.

  • @Pryvyd9
    @Pryvyd9 Місяць тому

    why is everything xaml now? I had a long break in wpf while working on c++ ImGui project and when I came back it's just a cluttered maze where I can't get anything done. ImGui might require you to build an application in a particular way but once you set it up it's so easy and intuitive.

  • @2005bgva
    @2005bgva Місяць тому

    Thanks your video was very instructive. I think that for today 2024 for desktop applications the best option is .NET MAUI.

  • @niteshsetin
    @niteshsetin Місяць тому

    How do i get the access token in blazor server app build with net 8?

  • @niteshsetin
    @niteshsetin Місяць тому

    How do i get the access token in blazor server app build with net 8?

  • @guimatheus92
    @guimatheus92 Місяць тому

    Thanks for the video! I am trying to find an information but it's getting hard, how do I know all properties that a resource might have during the resource creation using the template? For example, if I create an ADX resource I can define different properties before creating (database name, availability zones, sku, etc). But how do I know all MUST properties and all optional properties?

  • @jam18m
    @jam18m Місяць тому

    I have a doubt, I have Visual studio 2019, will I have to reinstall it again? From minute 2 I have my doubts about whether to continue or not!

    • @ClaudioBernasconi
      @ClaudioBernasconi Місяць тому

      Today, I recommend using the latest C# and Visual Studio version.

  • @brucerosner3547
    @brucerosner3547 Місяць тому

    The irony is that Winforms will outlive WPF and most of its successors. My own view that making the interpretation of code dependent on external files is an unnecessary and error prone complication. Header files in C and C++ was a bad idea from day one and no language has used this approach since. Similarly defining used interfaces in XML requires close coordination between two completely different approaches. Pure code can be provably correct, that is, all pre and post conditions are satisfied. This is impossible with external XML files.

  • @jaymartinez311
    @jaymartinez311 Місяць тому

    Love the video but dark mode is your friend 😂. Great video though.

    • @ClaudioBernasconi
      @ClaudioBernasconi Місяць тому

      Thanks for your feedback. I learned that some people have problems with their eyes when using dark mode. That's why I decided to use light mode in my videos to make them as inclusive as possible. Thanks for your understanding. 🙏

  • @RajK09
    @RajK09 Місяць тому

    I was looking for same content and your video played automatically. Thank you for the content.

    • @ClaudioBernasconi
      @ClaudioBernasconi Місяць тому

      Thanks for your kind comment and thanks for watching.

  • @madsmikkelrasmussen240
    @madsmikkelrasmussen240 Місяць тому

    What a great overview, THANKS!

  • @tmlyrical4298
    @tmlyrical4298 Місяць тому

    Which I use Avalonia Or Uno ? Beginner ( not recommend easy - i only focusing in future also to get profit and stable on one )

  • @SrimathiJayaraman
    @SrimathiJayaraman Місяць тому

    This was really helpful at the right time!

    • @ClaudioBernasconi
      @ClaudioBernasconi Місяць тому

      Thanks for your feedback. I'm glad the video helped you out!

  • @kevintubbs4648
    @kevintubbs4648 Місяць тому

    Wow, I've NEVER needed to do so much pausing and replaying before! But I stuck with it, and eventually succeeded! I used VS 2022 and .NET 8.0 on Windows 11. These are all newer than what the OP used, but I was able to figure out the differences. I succeeded at building and distributing a functioning plugin! Now I can start putting my own code in there. I'm not sure, but I'd guess that you could manage to use VB instead of C#. But you're stuck with the JS stuff, I think.

    • @ClaudioBernasconi
      @ClaudioBernasconi Місяць тому

      Fantastic! I'm sorry, I improved a lot with video creation over the years and, as you already mentioned, I used much older tech at the time. I'm happy you were able to figure it out! Did you also rely on the StreamDeckToolkit or did you use something else? Curious to learn.

    • @kevintubbs4648
      @kevintubbs4648 Місяць тому

      @@ClaudioBernasconi I used StreamDeckToolkit, following your instructions closely. Thank you for demonstrating how it all goes together, so that I can take the base code and start writing my own actions. My main interest is to develop plug-ins that talk to relay outputs and sensor inputs, for control of various devices attached to the PC through serial ports and interface cards. In the old days I would take a metal panel, drill holes, and install switches and indicator lights. The Stream Deck panels are so inexpensive and so flexible, it is a much slicker way to control things. Thanks again for getting me to the starting line!

  • @dioxino76
    @dioxino76 Місяць тому

    I prefer not using another tool with my passwords: the less tools are used to manage them, the more secured will be my passwords.

    • @ClaudioBernasconi
      @ClaudioBernasconi Місяць тому

      Where do you store your passwords? All in your mind? Or do you use the same password for different services?

  • @mattpavey
    @mattpavey Місяць тому

    Great video. The thing I kept having trouble with was the Resouce.resx file was not generating the designer file, even when it was an embedded resource and even if I tried to use the ResXFileCodeGenerator approach; however, turns out for me it was a matter of opening the Resource.resx file (in editor mode) and then changing the "Access Modifier" from "No code generation" to "Public" (or Internal depending on your needs). Once I did that the rest all worked as expected. Lastly, for what it's worth, I thought the idea to redirect and force a page reload was a good one for my use-case. I suppose others may find that to be unnecessary, but it worked well for me. Thanks for the video!

    • @ClaudioBernasconi
      @ClaudioBernasconi Місяць тому

      Thanks for your great and detailed feedback, Matt! 🙏

  • @TheDeathknight23
    @TheDeathknight23 2 місяці тому

    I followed the tutorial exactly as it was presented. I even copied the exact code into my blazor project but it seems .NET8 absolutely hates .NET7 and no matter how many errors I remove, it still won't let me have the app run successfully. It seems we have no choice but to discard this project in .NET8 entirely unless you can release it again on .NET8.