From 8553131b990e1a2fb822d52aea3636bf36860770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Zi=C4=85bek?= Date: Tue, 3 Jan 2023 23:46:35 +0100 Subject: [PATCH] Readme content adjustments --- readme.md | 80 ++++++++++--------------------------------------------- 1 file changed, 14 insertions(+), 66 deletions(-) diff --git a/readme.md b/readme.md index 8be7407..36dd953 100644 --- a/readme.md +++ b/readme.md @@ -10,11 +10,22 @@ [![Nuget download](https://img.shields.io/nuget/dt/QuestPDF?style=for-the-badge)](https://www.nuget.org/packages/QuestPDF/) [![License](https://img.shields.io/github/license/QuestPDF/QuestPDF?style=for-the-badge)](https://github.com/QuestPDF/QuestPDF/blob/main/LICENSE) -QuestPDF is an open-source .NET library for PDF documents generation. -It offers a layout engine designed with a full paging support in mind. The document consists of many simple elements (e.g. border, background, image, text, padding, table, grid etc.) that are composed together to create more complex structures. This way, as a developer, you can understand the behavior of every element and use them with full confidence. Additionally, the document and all its elements support paging functionality. For example, an element can be moved to the next page (if there is not enough space) or even be split between pages like table's rows. +### QuestPDF is an open-source .NET library for PDF documents generation. Utilizing several new patterns and practices, QuestPDF seeks to resolve the challenges inherent in this process. -Unlike other libraries, it does not rely on the HTML-to-PDF conversion which in many cases is not reliable. Instead, it implements its own layout engine that is optimized to cover all paging-related requirements. +👨‍💻 Design documents using C# and employ a code-only approach. Utilize your version control system to its fullest potential. + +🧱 Compose document with a range of powerful and predictable structural elements, such as text, image, border, table, and many more. + +⚙️ Utilize a comprehensive layout engine, specifically designed for document generation and paging support. + +📖 Write code using concise and easy-to-understand C# Fluent API. Utilize IntelliSense to quickly discover available options. + +🔗 Don't be limited to any proprietary scripting language or format. Follow your experience and leverage all modern C# features. + +⌛ Save time thanks to a hot-reload capability, allowing real-time document preview without code recompilation. + + ## Please help by giving a star @@ -54,72 +65,10 @@ dotnet add package QuestPDF ## Documentation [![Getting started tutorial]( https://img.shields.io/badge/%F0%9F%9A%80%20read-getting%20started-blue?style=for-the-badge)](https://www.questpdf.com/getting-started) -A short and easy to follow tutorial showing how to design an invoice document under 200 lines of code. - [![API reference](https://img.shields.io/badge/%F0%9F%93%96%20read-API%20reference-blue?style=for-the-badge)](https://www.questpdf.com/api-reference/index.html) -A detailed description of behavior of all available components and how to use them with C# Fluent API. - [![Patterns and Practices](https://img.shields.io/badge/%E2%9C%A8%20read-patterns%20and%20practices-blue?style=for-the-badge)](https://www.questpdf.com/design-patterns) -Everything that may help you designing great reports and create reusable code that is easy to maintain. - -## QuestPDF Previewer - -The QuestPDF Previewer is a tool designed to simplify and speed up your development lifecycle. First, it shows a preview of your document. But the real magic starts with the hot-reload capability! It observes your code and updates the preview every time you change the implementation. Get real-time results without the need of code recompilation. Save time and enjoy the task! - -[![Learn more](https://img.shields.io/badge/%F0%9F%93%96%20Previewer-learn%20more-blue?style=for-the-badge)](https://www.questpdf.com/document-previewer) - - - -## Simplicity is the key - -How easy it is to start and prototype with QuestPDF? Really easy thanks to its minimal API! Please analyse the code below: - -```csharp -using QuestPDF.Fluent; -using QuestPDF.Helpers; -using QuestPDF.Infrastructure; - -// code in your main method -Document.Create(container => -{ - container.Page(page => - { - page.Size(PageSizes.A4); - page.Margin(2, Unit.Centimetre); - page.PageColor(Colors.White); - page.DefaultTextStyle(x => x.FontSize(20)); - - page.Header() - .Text("Hello PDF!") - .SemiBold().FontSize(36).FontColor(Colors.Blue.Medium); - - page.Content() - .PaddingVertical(1, Unit.Centimetre) - .Column(x => - { - x.Spacing(20); - - x.Item().Text(Placeholders.LoremIpsum()); - x.Item().Image(Placeholders.Image(200, 100)); - }); - - page.Footer() - .AlignCenter() - .Text(x => - { - x.Span("Page "); - x.CurrentPageNumber(); - }); - }); -}) -.GeneratePdf("hello.pdf"); -``` - -And compare it to the produced PDF file: - - ## Are you ready for more? @@ -127,7 +76,6 @@ The Fluent API of QuestPDF scales really well. It is easy to create and maintain - ## QuestPDF on JetBrains OSS Power-Ups QuestPDF was presented on one of the episodes of OSS Power-Ups hosted by JetBrains. Huge thanks for Matthias Koch and entire JetBrains team for giving me a chance to show QuestPDF. You are the best!