# Getting Started with .NET MAUI - A PDF Splitter

### Introduction

For [this series](https://davek.dev/series/pdf-splitter), I will create a PDF Splitter application using [.NET MAUI](https://dotnet.microsoft.com/en-us/apps/maui). This will be a Windows application which will enable me to split out pages from a PDF file into multiple pdf files as required.

.NET Multi-platform App UI (MAUI) is a user interface framework that is designed to allow a developer to create applications that target one or multiple different platforms.

In my [previous post about becoming a better developer](https://hashnode.com/post/cldyu3y5608dzpunve0xo7s8w), I talk a bit about how this project came about, my background with WPF, a precursor to MAUI, and also how I believe personal projects can help us on our journey to become better developers.

### The Plan

This series goes through the key steps I take as I create the PDF Splitter application.

The application will be designed to:

* Allow me to open a PDF and display the list of pages
    
* Allow me to select a page and view the page's contents
    
* Allow a page to be marked to be extracted into a new PDF
    
* Allow me to save any pages marked for extraction into a new PDF file.
    

### The Design

Although it will evolve as the project progresses, the design is a pretty simple component-based layout. There will be three main components to the design, that allow me to:

* Display the pages of the selected PDF
    
* View a selected page
    
* Display and save a list of pages selected for extraction
    

### Summary

Although this isn't going to be a step-by-step guide, I will cover some of the key topics as I go through the journey, including:

Components and Views

The Model - View - ViewModel (MVVM) approach

Adding controls and model binding

Working with random access memory streams to display images in C#

The full code is available [here](https://github.com/davek-dev/PdfSplitter), and the full series can be found [here](https://davek.dev/series/pdf-splitter).
