푸터 콘텐츠로 바로가기
IRONPDF 사용

How to Create a VB.NET PDF Viewer with IronPDF: A Complete Tutorial

Displaying PDF documents directly inside VB.NET applications can still be tricky for many developers. The .NET Framework and .NET Core don’t provide built-in ways to view PDF files, so people often rely on old ActiveX controls or messy third-party tools. That can get frustrating for both developers and users.

If you’re building a Windows Forms or WPF application, you want something reliable for PDF viewing. Whether it’s invoices, reports, or even Word documents converted to PDF format, IronPDF simplifies this process by eliminating the need for external components and providing powerful options to create, edit, and process PDFs directly within your project.

In this tutorial, I’ll walk you step by step through building a VB.NET PDF viewer. By the end, you’ll know how to generate and display PDF documents in your app like an expert. Additionally, you’ll also see how easy it is to add features like zoom, navigation, and printing. I’ve tried this approach in a recent internal project, and it significantly sped up our team's report review process.

What Makes PDF Viewing in VB.NET Challenging?

The Visual Studio toolbox lacks a standard PDF viewer control. Developers often rely on Internet Explorer or embedded WebBrowser controls to display PDF files, but these approaches depend on the user's default PDF reader and can introduce hidden costs for deployment.

Traditional solutions may also require installing external software or manual configuration for proper PDF form handling, printing, or rendering, which increases complexity and limits the ability to customize the display of PDFs across multiple Windows environments.

How Does IronPDF Simplify PDF Viewing in VB.NET?

IronPDF transforms PDF handling in VB.NET applications by providing a self-contained library that doesn't require Adobe Reader or other external viewers. Beyond basic viewing, it enables developers to create, edit, manipulate, and render PDFs programmatically using familiar .NET patterns.

The library's architecture leverages a Chrome-based rendering engine, ensuring pixel-perfect display of complex PDFs with full support for modern features like forms, annotations, and embedded multimedia. This approach guarantees consistent rendering across all Windows environments.

Key capabilities include

  • Direct PDF rendering without download or browser dependencies
  • Conversion from Word documents or HTML to PDF format
  • Editing, splitting, and merging PDF pages
  • Filling and extracting PDF forms
  • Built-in printing support with customizable settings
  • Support for templates, images, and multi-page PDF files

These features make IronPDF a highly customizable solution for .NET applications, enabling developers to handle complex PDF documents in a desktop or web application environment.

How to Install IronPDF in Your VB.NET Project?

Setting up IronPDF requires just a few steps through NuGet Package Manager. Open your VB.NET Windows Forms project in Visual Studio and follow these steps:

  1. Open your new project in Visual Studio with your target framework or .NET Core.
  2. Right-click on your project in Solution Explorer
  3. Select "Manage NuGet Packages"
  4. Search for "IronPDF" in the Browse tab
  5. Click Install on the IronPDF package

After installation, add this import statement to your VB.NET files:

Imports IronPdf
Imports IronPdf
$vbLabelText   $csharpLabel

This import statement gives your VB.NET project access to all IronPDF classes and methods, allowing you to load, render, print, and manipulate PDF documents programmatically.

This setup includes all necessary runtime components, eliminating manual configuration and avoiding hidden costs.

How to Create a Basic PDF Viewer in Windows Forms?

Building a PDF viewer starts with creating a Windows Forms application and implementing IronPDF's rendering capabilities. Here's a streamlined approach to display PDFs in your application:

Imports System.Drawing
Imports System.IO
Imports IronPdf
Public Class Form1
    Private currentPdf As PdfDocument
    Private pdfBitmaps() As Bitmap
    Private currentPage As Integer = 0
    Private zoomLevel As Double = 1.0
    ' Load PDF Button
    Private Sub LoadPdfButton_Click(sender As Object, e As EventArgs) Handles LoadPdfButton.Click
        Using openFileDialog As New OpenFileDialog()
            openFileDialog.Filter = "PDF Files (*.pdf)|*.pdf"
            If openFileDialog.ShowDialog() = DialogResult.OK Then
                ' Load PDF
                currentPdf = PdfDocument.FromFile(openFileDialog.FileName)
                ' Render all pages to image files
                Dim filePaths As String() = currentPdf.RasterizeToImageFiles("page_*.png")
                ' Load images into memory
                Dim pageList As New List(Of Bitmap)()
                For Each filePath As String In filePaths
                    Using ms As New MemoryStream(File.ReadAllBytes(filePath))
                        Dim bmp As New Bitmap(ms)
                        pageList.Add(bmp)
                    End Using
                Next
                pdfBitmaps = pageList.ToArray()
                currentPage = 0
                zoomLevel = 1.0
                DisplayCurrentPage()
            End If
        End Using
    End Sub
    ' Show the current page in PictureBox
    Private Sub DisplayCurrentPage()
        If pdfBitmaps IsNot Nothing AndAlso currentPage < pdfBitmaps.Length Then
            Dim bmp As Bitmap = pdfBitmaps(currentPage)
            ' Apply zoom
            Dim newWidth As Integer = CInt(bmp.Width * zoomLevel)
            Dim newHeight As Integer = CInt(bmp.Height * zoomLevel)
            Dim zoomedBmp As New Bitmap(bmp, newWidth, newHeight)
            PictureBox1.Image = zoomedBmp
        Else
            PictureBox1.Image = Nothing
        End If
        UpdateNavigationButtons()
    End Sub
Imports System.Drawing
Imports System.IO
Imports IronPdf
Public Class Form1
    Private currentPdf As PdfDocument
    Private pdfBitmaps() As Bitmap
    Private currentPage As Integer = 0
    Private zoomLevel As Double = 1.0
    ' Load PDF Button
    Private Sub LoadPdfButton_Click(sender As Object, e As EventArgs) Handles LoadPdfButton.Click
        Using openFileDialog As New OpenFileDialog()
            openFileDialog.Filter = "PDF Files (*.pdf)|*.pdf"
            If openFileDialog.ShowDialog() = DialogResult.OK Then
                ' Load PDF
                currentPdf = PdfDocument.FromFile(openFileDialog.FileName)
                ' Render all pages to image files
                Dim filePaths As String() = currentPdf.RasterizeToImageFiles("page_*.png")
                ' Load images into memory
                Dim pageList As New List(Of Bitmap)()
                For Each filePath As String In filePaths
                    Using ms As New MemoryStream(File.ReadAllBytes(filePath))
                        Dim bmp As New Bitmap(ms)
                        pageList.Add(bmp)
                    End Using
                Next
                pdfBitmaps = pageList.ToArray()
                currentPage = 0
                zoomLevel = 1.0
                DisplayCurrentPage()
            End If
        End Using
    End Sub
    ' Show the current page in PictureBox
    Private Sub DisplayCurrentPage()
        If pdfBitmaps IsNot Nothing AndAlso currentPage < pdfBitmaps.Length Then
            Dim bmp As Bitmap = pdfBitmaps(currentPage)
            ' Apply zoom
            Dim newWidth As Integer = CInt(bmp.Width * zoomLevel)
            Dim newHeight As Integer = CInt(bmp.Height * zoomLevel)
            Dim zoomedBmp As New Bitmap(bmp, newWidth, newHeight)
            PictureBox1.Image = zoomedBmp
        Else
            PictureBox1.Image = Nothing
        End If
        UpdateNavigationButtons()
    End Sub
$vbLabelText   $csharpLabel

Code Explanation:

  • currentPdf stores the loaded PDF document.
  • pdfBitmaps holds bitmap images for each PDF page so they can be displayed in a PictureBox control.
  • LoadPdfButton_Click uses a standard OpenFileDialog to let users select a PDF file.
  • PdfDocument.FromFile loads the PDF document, and RasterizeToImageFiles converts each page to image files.
  • Each file is read into memory as a Bitmap, added to the array, and the first page is displayed with DisplayCurrentPage().

When we run the program, we'll be able to load a PDF file through the dialog pop-up when we click the "Load PDF" button.

How to Implement PDF Navigation Controls?

Navigation enhances user experience by allowing movement through multi-page documents. Add Previous and Next buttons to your form with this implementation:

' Next Page Button
Private Sub NextButton_Click(sender As Object, e As EventArgs) Handles NextButton.Click
    If currentPage < pdfBitmaps.Length - 1 Then
        currentPage += 1
        DisplayCurrentPage()
    End If
End Sub
' Previous Page Button
Private Sub PreviousButton_Click(sender As Object, e As EventArgs) Handles PreviousButton.Click
    If currentPage > 0 Then
        currentPage -= 1
        DisplayCurrentPage()
    End If
End Sub
' Next Page Button
Private Sub NextButton_Click(sender As Object, e As EventArgs) Handles NextButton.Click
    If currentPage < pdfBitmaps.Length - 1 Then
        currentPage += 1
        DisplayCurrentPage()
    End If
End Sub
' Previous Page Button
Private Sub PreviousButton_Click(sender As Object, e As EventArgs) Handles PreviousButton.Click
    If currentPage > 0 Then
        currentPage -= 1
        DisplayCurrentPage()
    End If
End Sub
$vbLabelText   $csharpLabel

These Private Sub procedures handle navigation through the PDF pages using Object sender, EventArgs e. Buttons update currentPage and call DisplayCurrentPage() to render the PDF page in the Windows Form.

' Update navigation controls and page label
Private Sub UpdateNavigationButtons()
    PreviousButton.Enabled = currentPage > 0
    NextButton.Enabled = currentPage < pdfBitmaps.Length - 1
    PageLabel.Text = $"Page {currentPage + 1} of {pdfBitmaps.Length}"
End Sub
' Update navigation controls and page label
Private Sub UpdateNavigationButtons()
    PreviousButton.Enabled = currentPage > 0
    NextButton.Enabled = currentPage < pdfBitmaps.Length - 1
    PageLabel.Text = $"Page {currentPage + 1} of {pdfBitmaps.Length}"
End Sub
$vbLabelText   $csharpLabel

This updates the button states so users cannot navigate beyond the first or last page, while the label shows the current page number and total pages.

Output

How to Load PDF Files from Different Sources?

IronPDF supports loading PDFs from various sources beyond local files. This flexibility allows integration with databases, web services, and memory streams:

Loading from URL

' Load PDF from URL
Private Sub LoadUrlButton_Click(sender As Object, e As EventArgs) Handles LoadUrlButton.Click
    Dim url As String = UrlTextBox.Text.Trim()
    If String.IsNullOrEmpty(url) Then
        MessageBox.Show("Please enter a valid URL.")
        Return
    End If
    Try
        LoadFromUrl(url)
    Catch ex As Exception
        MessageBox.Show("Failed to load PDF: " & ex.Message)
    End Try
End Sub
' Load PDF from URL
Private Sub LoadUrlButton_Click(sender As Object, e As EventArgs) Handles LoadUrlButton.Click
    Dim url As String = UrlTextBox.Text.Trim()
    If String.IsNullOrEmpty(url) Then
        MessageBox.Show("Please enter a valid URL.")
        Return
    End If
    Try
        LoadFromUrl(url)
    Catch ex As Exception
        MessageBox.Show("Failed to load PDF: " & ex.Message)
    End Try
End Sub
$vbLabelText   $csharpLabel

This Private Sub checks the URL input, displays an alert if invalid, and calls LoadFromUrl to render the PDF dynamically.

Private Sub LoadFromUrl(url As String)
    Dim renderer As New ChromePdfRenderer()
    renderer.RenderingOptions.EnableJavaScript = True
    renderer.RenderingOptions.CssMediaType = Rendering.PdfCssMediaType.Print
    renderer.RenderingOptions.WaitFor.JavaScript(3000)
    currentPdf = renderer.RenderUrlAsPdf(url)
    LoadPdfBitmaps()
End Sub
Private Sub LoadFromUrl(url As String)
    Dim renderer As New ChromePdfRenderer()
    renderer.RenderingOptions.EnableJavaScript = True
    renderer.RenderingOptions.CssMediaType = Rendering.PdfCssMediaType.Print
    renderer.RenderingOptions.WaitFor.JavaScript(3000)
    currentPdf = renderer.RenderUrlAsPdf(url)
    LoadPdfBitmaps()
End Sub
$vbLabelText   $csharpLabel

This uses ChromePdfRenderer to convert a web page URL into a PDF document. Options allow JavaScript execution and print-friendly CSS, then the PDF pages are loaded as bitmaps..

Output

How to Create a VB.NET PDF Viewer with IronPDF: A Complete Tutorial: Figure 3 - URL to PDF displayed with PDF viewer

Loading from HTML Content

Private Sub LoadHtmlButton_Click(sender As Object, e As EventArgs) Handles LoadHtmlButton.Click
    Dim htmlContent As String = "<html><body><h1>Hello PDF!</h1><p>This is a hardcoded HTML PDF test.</p></body></html>"
    LoadFromHtml(htmlContent)
End Sub
Private Sub LoadFromHtml(htmlContent As String)
    Dim renderer As New ChromePdfRenderer()
    currentPdf = renderer.RenderHtmlAsPdf(htmlContent)
    LoadPdfBitmaps()
End Sub
Private Sub LoadHtmlButton_Click(sender As Object, e As EventArgs) Handles LoadHtmlButton.Click
    Dim htmlContent As String = "<html><body><h1>Hello PDF!</h1><p>This is a hardcoded HTML PDF test.</p></body></html>"
    LoadFromHtml(htmlContent)
End Sub
Private Sub LoadFromHtml(htmlContent As String)
    Dim renderer As New ChromePdfRenderer()
    currentPdf = renderer.RenderHtmlAsPdf(htmlContent)
    LoadPdfBitmaps()
End Sub
$vbLabelText   $csharpLabel

This example converts HTML content to PDF using the RenderHtmlAsPdf method. This process is ideal for dynamic reports or templates.

Output

How to Create a VB.NET PDF Viewer with IronPDF: A Complete Tutorial: Figure 4 - HTML to PDF displayed in PDF viewer

These methods enable dynamic PDF generation and viewing without temporary files, improving performance and security.

How to Add Zoom Functionality?

Zoom controls improve readability for detailed documents. Implement zoom using image scaling:

Private Sub ZoomInButton_Click(sender As Object, e As EventArgs) Handles ZoomInButton.Click
        zoomLevel = Math.Min(zoomLevel + 0.25, 3.0)
        DisplayCurrentPage()
    End Sub
    Private Sub ZoomOutButton_Click(sender As Object, e As EventArgs) Handles ZoomOutButton.Click
        zoomLevel = Math.Max(zoomLevel - 0.25, 0.5)
        DisplayCurrentPage()
    End Sub
    Private Sub ApplyZoom()
        If pdfBitmaps IsNot Nothing AndAlso currentPage < pdfBitmaps.Length Then
            Dim pageImage As Bitmap = pdfBitmaps(currentPage)
            Dim newWidth As Integer = CInt(pageImage.Width * zoomLevel)
            Dim newHeight As Integer = CInt(pageImage.Height * zoomLevel)
            Dim zoomedImage As New Bitmap(pageImage, newWidth, newHeight)
            PictureBox1.Image = zoomedImage
        Else
            PictureBox1.Image = Nothing
        End If
    End Sub
Private Sub ZoomInButton_Click(sender As Object, e As EventArgs) Handles ZoomInButton.Click
        zoomLevel = Math.Min(zoomLevel + 0.25, 3.0)
        DisplayCurrentPage()
    End Sub
    Private Sub ZoomOutButton_Click(sender As Object, e As EventArgs) Handles ZoomOutButton.Click
        zoomLevel = Math.Max(zoomLevel - 0.25, 0.5)
        DisplayCurrentPage()
    End Sub
    Private Sub ApplyZoom()
        If pdfBitmaps IsNot Nothing AndAlso currentPage < pdfBitmaps.Length Then
            Dim pageImage As Bitmap = pdfBitmaps(currentPage)
            Dim newWidth As Integer = CInt(pageImage.Width * zoomLevel)
            Dim newHeight As Integer = CInt(pageImage.Height * zoomLevel)
            Dim zoomedImage As New Bitmap(pageImage, newWidth, newHeight)
            PictureBox1.Image = zoomedImage
        Else
            PictureBox1.Image = Nothing
        End If
    End Sub
$vbLabelText   $csharpLabel

This code adjusts the zoomLevel in steps and calls DisplayCurrentPage() to apply zoom scaling for improved readability on the desktop

How to Print PDF Documents?

Printing functionality completes the viewer experience. IronPDF simplifies printing with built-in methods:

Private Sub PrintButton_Click(sender As Object, e As EventArgs) Handles PrintButton.Click
        If currentPdf IsNot Nothing Then
            ' Simple print with default settings
            currentPdf.Print()
            ' Or with custom settings
            Dim printDoc As PrintDocument = currentPdf.GetPrintDocument()
            Using printDialog As New PrintDialog()
                printDialog.Document = printDoc
                If printDialog.ShowDialog() = DialogResult.OK Then
                    printDoc.Print()
                End If
            End Using
        End If
    End Sub
Private Sub PrintButton_Click(sender As Object, e As EventArgs) Handles PrintButton.Click
        If currentPdf IsNot Nothing Then
            ' Simple print with default settings
            currentPdf.Print()
            ' Or with custom settings
            Dim printDoc As PrintDocument = currentPdf.GetPrintDocument()
            Using printDialog As New PrintDialog()
                printDialog.Document = printDoc
                If printDialog.ShowDialog() = DialogResult.OK Then
                    printDoc.Print()
                End If
            End Using
        End If
    End Sub
$vbLabelText   $csharpLabel

This Private Sub allows users to print the PDF document with default or custom printer settings. GetPrintDocument() returns a PrintDocument object for integration with Windows Forms PrintDialog.

How to Implement PDF Viewing in WPF Applications?

While Windows Forms dominates desktop development, WPF applications can also leverage IronPDF. The approach differs slightly:

' In WPF Window code-behind
Private Sub LoadPdfInWpf(filePath As String)
    Dim pdfDoc As PdfDocument = PdfDocument.FromFile(filePath)
    Dim pageImage As Bitmap = pdfDoc.ToBitmap(0)
    ' Convert to WPF-compatible image
    Dim bitmapImage As New BitmapImage()
    Using memory As New MemoryStream()
        pageImage.Save(memory, ImageFormat.Png)
        memory.Position = 0
        bitmapImage.BeginInit()
        bitmapImage.StreamSource = memory
        bitmapImage.CacheOption = BitmapCacheOption.OnLoad
        bitmapImage.EndInit()
    End Using
    ImageControl.Source = bitmapImage
End Sub
' In WPF Window code-behind
Private Sub LoadPdfInWpf(filePath As String)
    Dim pdfDoc As PdfDocument = PdfDocument.FromFile(filePath)
    Dim pageImage As Bitmap = pdfDoc.ToBitmap(0)
    ' Convert to WPF-compatible image
    Dim bitmapImage As New BitmapImage()
    Using memory As New MemoryStream()
        pageImage.Save(memory, ImageFormat.Png)
        memory.Position = 0
        bitmapImage.BeginInit()
        bitmapImage.StreamSource = memory
        bitmapImage.CacheOption = BitmapCacheOption.OnLoad
        bitmapImage.EndInit()
    End Using
    ImageControl.Source = bitmapImage
End Sub
$vbLabelText   $csharpLabel

What Are the Best Practices for PDF Viewer Performance?

Optimizing PDF viewing ensures a smooth user experience:

Memory Management

Always dispose of PDF documents when finished:

Protected Overrides Sub OnFormClosed(e As FormClosedEventArgs)
    If currentPdf IsNot Nothing Then
        currentPdf.Dispose()
    End If
    MyBase.OnFormClosed(e)
End Sub
Protected Overrides Sub OnFormClosed(e As FormClosedEventArgs)
    If currentPdf IsNot Nothing Then
        currentPdf.Dispose()
    End If
    MyBase.OnFormClosed(e)
End Sub
$vbLabelText   $csharpLabel

Asynchronous Loading

IronPDF additionally supports asynchronous loading, useful to load large PDFs without freezing the UI:

Private Async Sub LoadPdfAsync(filePath As String)
    LoadingLabel.Visible = True
    Await Task.Run(Sub()
        currentPdf = PdfDocument.FromFile(filePath)
    End Sub)
    LoadingLabel.Visible = False
    DisplayCurrentPage()
End Sub
Private Async Sub LoadPdfAsync(filePath As String)
    LoadingLabel.Visible = True
    Await Task.Run(Sub()
        currentPdf = PdfDocument.FromFile(filePath)
    End Sub)
    LoadingLabel.Visible = False
    DisplayCurrentPage()
End Sub
$vbLabelText   $csharpLabel

Conclusion

Building a PDF viewer in VB.NET with IronPDF eliminates the complexity of traditional approaches while providing professional features. From basic file viewing to advanced PDF form processing and printing, IronPDF handles all aspects of PDF interaction within your Windows Forms applications.

Whether displaying reports, processing forms, or implementing document management systems, IronPDF provides the tools, support, and license options needed for comprehensive PDF solutions.

Start your VB.NET PDF viewer project with IronPDF's free trial to explore all features. Scale to production deployments with flexible licensing. For detailed API documentation and additional examples, visit the IronPDF documentation and explore the comprehensive VB.NET code samples.

NuGet NuGet을 사용하여 설치하세요

PM >  Install-Package IronPdf

빠른 설치를 원하시면 NuGet 에서 https://www.NuGet.org/packages/IronPdf를 검색해 보세요. 1천만 건 이상의 다운로드를 기록하며 C#을 이용한 PDF 개발 방식을 혁신하고 있습니다. DLL 파일 이나 윈도우 설치 프로그램을 다운로드할 수도 있습니다.

자주 묻는 질문

VB.NET에서 PDF 뷰어를 만들려면 어떻게 해야 하나요?

IronPDF를 사용하여 VB.NET에서 PDF 뷰어를 만들 수 있습니다. 이를 통해 .NET 애플리케이션 내에서 PDF 페이지를 쉽게 열고, 보고, 확대/축소하고, 탐색하고, 인쇄하고, 저장할 수 있습니다.

개발자가 VB.NET에서 PDF를 표시할 때 직면하는 어려움은 무엇인가요?

.NET Framework와 .NET Core는 PDF 파일을 볼 수 있는 기본 제공 방법을 제공하지 않기 때문에 개발자들은 종종 어려움을 겪고 있으며, 이로 인해 많은 개발자들이 오래된 ActiveX 컨트롤이나 복잡한 타사 도구에 의존하고 있습니다.

IronPDF는 .NET Framework와 .NET Core 모두에서 사용할 수 있나요?

예, IronPDF는 .NET Framework 및 .NET Core와 모두 호환되므로 VB.NET에서 PDF 보기 애플리케이션을 개발하는 데 다용도로 사용할 수 있습니다.

IronPDF는 PDF 보기를 위해 어떤 기능을 제공하나요?

IronPDF는 PDF 페이지 열기, 보기, 확대/축소, 탐색, 인쇄, 저장 등의 기능을 제공하여 VB.NET 애플리케이션에서 PDF 문서와 상호 작용할 때 사용자 경험을 향상시킵니다.

VB.NET에서 PDF를 볼 때 ActiveX 컨트롤을 사용하지 않아야 하는 이유는 무엇인가요?

ActiveX 컨트롤은 구식인 경우가 많으며 구현이 엉망일 수 있습니다. IronPDF와 같은 최신 라이브러리를 사용하면 VB.NET에서 PDF를 보기 위한 보다 간소화되고 안정적인 솔루션을 제공합니다.

VB.NET에서 IronPDF를 사용하여 PDF 문서를 인쇄할 수 있나요?

예, IronPDF를 사용하면 VB.NET 애플리케이션에서 직접 PDF 문서를 인쇄할 수 있으므로 문서의 하드 카피가 필요한 사용자에게 원활한 환경을 제공할 수 있습니다.

IronPDF는 사용자의 PDF 보기 환경을 어떻게 개선하나요?

IronPDF는 원활한 탐색, 확대/축소 기능, 손쉬운 문서 저장 및 인쇄 기능 등 PDF와 상호 작용할 수 있는 사용하기 쉬운 기능을 제공하여 PDF 보기 환경을 개선합니다.

IronPDF는 VB.NET PDF 뷰어 애플리케이션용 .NET 10과 호환되나요?

예 - IronPDF는 .NET 10과 완벽하게 호환됩니다. .NET 9, .NET 8, .NET Core, .NET Standard 및 .NET Framework 4.6.2+와 같은 이전 버전과 함께 .NET 10에서 실행되는 VB.NET 프로젝트를 지원합니다. 따라서 최신 플랫폼을 사용하여 VB.NET PDF 뷰어 애플리케이션을 빌드할 수 있습니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.