QuestPDF/QuestPDF
Fork: 650 Star: 12308 (更新于 2025-01-16 14:31:49)
license: NOASSERTION
Language: C# .
QuestPDF is a modern open-source .NET library for PDF document generation. Offering comprehensive layout engine powered by concise and discoverable C# Fluent API. Easily generate PDF reports, invoices, exports, etc.
最后发布版本: 2024.7.3 ( 2024-08-27 22:56:00)
QuestPDF is a modern open-source .NET library for PDF document generation. Offering comprehensive layout engine powered by concise and discoverable C# Fluent API.
https://github.com/user-attachments/assets/a674c413-34c4-47b5-b559-f279b1bf46c0
Please help by giving a star
GitHub stars guide developers toward great tools. If you find this project valuable, please give it a star – it helps the community and takes just a second! ⭐
QuestPDF Companion App
Accelerate your development with live document preview powered by the hot-reload capability, eliminating the need for code recompilation:
- Explore document structure and hierarchy
- Quickly magnify and measure content
- Debug runtime exceptions with stack traces and code snippets
- Identify, understand and solve layout errors
What you need is here
Comprehensive Layout Engine
- A layout engine tailored for document generation, offering advanced paging and precise content control.
Rich Toolkit
- Craft documents with intuitive, reusable components and over 50 layout elements for complex designs.
High Performance
- Generate thousands of pages per second with minimal CPU and memory usage.
Advanced Language Support
- Seamlessly create multilingual documents with support for RTL, text shaping, and bi-directional content.
Code-Focused Paradigm
Using C# to design PDF documents leverages powerful control structures like if-statements, for-loops, and methods, enabling dynamic and highly customizable content generation.
It promotes best practices such as modular design and reusability while seamlessly integrating with source control systems for collaboration and versioning.
.Column(column =>
{
if (Model.Comments != null)
column.Item().Text(Model.Comments);
foreach(var item in Model.Items)
column.Item().Element(c => CreateItem(c, item);
});
void CreateItem(IContainer container, Item item)
{
container
- .Background(Colors.Grey.Lighten2)
+ .Background(item.Color)
.Padding(10)
.Text(item.Text);
}
Multiplatform
The library supports all major operating systems, integrates seamlessly with leading IDEs as well as popular cloud platforms and technologies to ensure maximum flexibility.
-
Technologies
: modern dotnet, legacy .NET Framework, Docker -
Operating systems
: Windows, Linux, MacOS -
Cloud providers
: Azure, AWS, Google Cloud -
IDE
: Visual Studio, Visual Code, JetBrains Rider, others
Perform common PDF operations
- Merge documents
- Attach files
- Extract pages
- Encrypt / decrypt
- Extend metadata
- Limit access
- Optimize for Web
- Overlay / underlay
DocumentOperation
.LoadFile("input.pdf")
.TakePages("1-10")
.MergeFile("appendix.pdf", "1-z") // all pages
.AddAttachment(new DocumentAttachment
{
FilePath = "metadata.xml"
})
.Encrypt(new Encryption256Bit
{
OwnerPassword = "mypassword",
AllowPrinting = true,
AllowContentExtraction = false
})
.Save("final-document.pdf");
Let's get started
Follow our detailed tutorial, and see how easy it is to produce a fully functional invoice with fewer than 250 lines of C# code.
Sustainable and Fair License
By offering free access to most users and premium licenses for larger organizations, the project maintains its commitment to excellence while ensuring sustainable, long-term development for all.
[!WARNING] The library is free to use for any individual or business with less than 1 million USD annual gross revenue, or operates as a non-profit organization, or is a FOSS project.
QuestPDF on YouTube
We are incredibly grateful to the YouTube Community for their positive reviews and recommendations of the QuestPDF library. Your support and feedback are invaluable and motivate us to keep improving and expanding this project. Thank you for helping us grow and reach more developers!
Nick Chapsas: The Easiest Way to Create PDFs in .NET
Claudio Bernasconi: QuestPDF - The BEST PDF Generator for .NET?!
JetBrains: OSS Power-Ups: QuestPDF
Programming with Felipe Gavilan: Generating PDFs with C# - Very Easy (two examples)
最近版本更新:(数据更新于 2024-08-28 11:36:22)
2024-08-27 22:56:00 2024.7.3
2024-08-02 04:28:11 2024.7.2
2024-07-23 00:14:46 2024.7.1
2024-07-15 20:49:01 2024.7.0
2024-07-05 00:06:21 2024.7.0-rc0
2024-06-25 17:33:54 2024.6.4
2024-06-20 13:52:25 2024.6.2
2024-06-15 14:25:28 2024.6.1
2024-06-11 17:17:15 2024.6.0
2024-05-25 21:24:24 2024.3.10
主题(topics):
create, creation, csharp, dotnet, export, generate, html, invoice, nuget, pdf, report, reporting, tool
QuestPDF/QuestPDF同语言 C#最近更新仓库
2025-01-17 14:51:22 fluentassertions/fluentassertions
2025-01-16 14:02:28 1Remote/1Remote
2025-01-12 23:16:04 Pik-4/HsMod
2025-01-04 21:36:17 BartoszCichecki/LenovoLegionToolkit
2025-01-03 18:58:44 BililiveRecorder/BililiveRecorder
2024-12-31 10:35:57 kitUIN/ShadowViewer.Plugin.Bika