create questpdf demo#229
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR creates a comprehensive QuestPDF demo application that demonstrates PDF generation capabilities using the QuestPDF library within an Ivy framework application. The demo includes markdown parsing and PDF rendering functionality.
- Creates a complete QuestPDF demo with markdown-to-PDF conversion
- Implements modular services for PDF generation and markdown parsing
- Provides an interactive UI for editing markdown and previewing generated PDFs
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| questpdf/Services/PdfGenerationService.cs | Core PDF generation service with inline markdown parsing and rendering |
| questpdf/Services/MarkdownParsingService.cs | Structured markdown parsing service (alternative approach) |
| questpdf/Apps/QuestPdfApp.cs | Main application UI with live preview and download functionality |
| questpdf/Models/PdfSettings.cs | Configuration model for PDF generation settings |
| questpdf/Models/MarkdownElement.cs | Data models for structured markdown elements |
| questpdf/Helpers/MarkdownHelper.cs | Utility functions for markdown detection and parsing |
| questpdf/Program.cs | Application entry point and server configuration |
| questpdf/GlobalUsings.cs | Global using statements for the project |
| questpdf/QuestPdfDemo.csproj | Project file with dependencies |
| questpdf/README.md | Project documentation |
| questpdf/Assets/Resume.md | Sample markdown content for demonstration |
| questpdf/.gitignore | Git ignore configuration |
| .devcontainer/questpdf/devcontainer.json | Development container configuration |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
rorychatt
approved these changes
Oct 10, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new QuestPDF Ivy demo application, providing a complete setup to generate PDF documents using the QuestPDF library within an Ivy app. The changes include a new demo app with Markdown-based PDF generation, supporting code structure, a sample resume, and development tooling for Codespaces and VS Code.
New PDF Demo Application:
QuestPdfAppinApps/QuestPdfApp.csthat lets users edit Markdown, configure PDF settings (title, page size, orientation, margins), insert Markdown snippets, and preview/download generated PDFs.Assets/Resume.mdfor demonstration.Markdown Parsing and PDF Generation Support:
Helpers/MarkdownHelper.csfor recognizing headings, lists, tables, code blocks, and inline formatting.Models/MarkdownElement.csto represent parsed elements for PDF rendering.PdfSettingsinModels/PdfSettings.csto handle page size, orientation, and margins for PDF generation.Project Setup and Tooling:
.devcontainer/questpdf/devcontainer.jsonfor Codespaces/VS Code development with .NET SDK, Ivy tools, port forwarding, and recommended extensions.QuestPdfDemo.csprojfor project configuration, dependencies (Ivy,QuestPDF), and embedded resources..gitignoreto exclude build artifacts and IDE files.App Initialization and Documentation:
Program.csto initialize the Ivy app, configure QuestPDF licensing, set up Chrome UI, and provide links to Codespaces and source code.README.mdwith instructions and project description.GlobalUsings.csfor streamlined imports and namespace management.