QuestPDF

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.

OTHER License

Stars
11.7K
Committers
32

Bot releases are hidden (Show)

QuestPDF - 2024.10.0-rc4

Published by MarcinZiabek about 1 month ago

This update applies only to the QuestPDF Companion App, with no changes made to the QuestPDF library NuGet package.

  • Improved accuracy and availability of the source code preview for the selected element.
  • Enhanced the presentation of source code in the selected element bar.
  • Improved error message when the application cannot open source code in the default code editor.
  • Changed the default code editor from Rider to Visual Studio Code.
QuestPDF - 2024.10.0-rc3

Published by MarcinZiabek about 1 month ago

  • Further responsiveness improvements and reduced battery usage.
  • Fixed the "Open source-code" action for macOS.
  • Improved source-code snippet for the selected item bar (the preview is wider, and the code is also scrollable).
  • Added a notification for communication errors when the host server cannot be started.
QuestPDF - 2024.10.0-rc2

Published by MarcinZiabek about 1 month ago

  • Improved performance and responsiveness.
  • Fixed compatibility issues with Windows and Linux.
  • Enhanced readability of source code snippets in dark mode.
  • Various other improvements.
QuestPDF - 2024.10.0-rc1

Published by MarcinZiabek about 1 month ago

  • Improved performance and fixed battery drainage issues.
  • Redesigned the generic exception view to emphasize essential content and show corresponding code snippets.
  • Redesigned the presentation of details for the currently selected layout element.
  • Enhanced clarity and added more details in the document hierarchy tree section.
  • Added an interactive scrollbar to the document preview section.
  • Improved window management, including moving and resizing.
  • Refactored internal code,
  • And more.

Important: This version requires QuestPDF 2024.10.1-rc1 nuget package. While the Companion App aims to enhance backward compatibility, in the RC stage, there is no point in investing in it.

QuestPDF - 2024.10.0-rc0 Latest Release

Published by MarcinZiabek about 2 months ago

This release focuses on the new QuestPDF Companion application.

Please find more in the documentation:

QuestPDF - 2024.7.3

Published by MarcinZiabek about 2 months ago

  • Introduced FontDiscoveryPaths setting for specifying directories for automatic font registration and improved font search performance.
  • Updated native dependencies: from skia m126 to m128.
  • Improved the exception message related to the "Any CPU" architecture incompatibility.
QuestPDF - 2024.7.2

Published by MarcinZiabek 3 months ago

  • Fixed a memory leak issue when generating documents as images using the GenerateImages method.
QuestPDF - 2024.7.1

Published by MarcinZiabek 3 months ago

  • Fixed: the ShowOnce element does not work as intended
  • Updated native assets.
QuestPDF - 2024.7.0

Published by MarcinZiabek 3 months ago

New Features:

  • Implemented TextStyle support for OpenType font features such as ligatures, kerning, and more.
  • Introduced support for MultiColumn layouts, offering more flexible content arrangement.

Layout Issue Debugging Experience:

  • Improved the layout debugging feature by providing more detailed information on the reasons behind the SpacePlan.Wrap operation.
  • Enhanced visualization for elements that were not drawn or measured on a faulty page.
  • For the Row element, added detailed layout debugging information, including type and size for each item.

Optimizations:

  • Improved paragraph cache utilization for TextBlock elements within repeating content, such as page footers/headers and decorations before/after content.

Fixes and Enhancements:

  • Updated predefined page sizes to use integer values for better consistency with other software.
  • Fixed an issue where the Dynamic SVG element might scale its content incorrectly when using certain size units.
  • Fixed incorrect spacing in TextBlock elements containing only injected layout elements and no text.
QuestPDF - 2024.7.0-rc0

Published by MarcinZiabek 4 months ago

Version 2024.7.0

New Features:

  • Implemented TextStyle support for OpenType font features such as ligatures, kerning, and more.
  • Introduced support for MultiColumn layouts, offering more flexible content arrangement.

Layout Issue Debugging Experience:

  • Improved the layout debugging feature by providing more detailed information on the reasons behind the SpacePlan.Wrap operation.
  • Enhanced visualization for elements that were not drawn or measured on a faulty page.
  • For the Row element, added detailed layout debugging information, including type and size for each item.

Optimizations:

  • Improved paragraph cache utilization for TextBlock elements within repeating content, such as page footers/headers and decorations before/after content.

Fixes and Enhancements:

  • Updated predefined page sizes to use integer values for better consistency with other software.
  • Fixed an issue where the Dynamic SVG element might scale its content incorrectly when using certain size units.
QuestPDF - 2024.6.4

Published by MarcinZiabek 4 months ago

Version 2024.6.3

  • Improved performance of Text elements containing null, empty, or whitespace content only.

Version 2024.6.4

  • Fixed a bug where Text elements, containing only null, empty, or whitespace content, could cause document layout issues.
QuestPDF - 2024.6.2

Published by MarcinZiabek 4 months ago

  • Reduced peak memory usage in documents with high number of text elements.
  • Implemented a new caching mechanism to reduce the number of layout-related calculations.
  • Introduced caching for DynamicSvgImage to enhance performance when the image is repeated across multiple pages.
  • Introduced caching for DynamicImage to enhance performance when the image is repeated across multiple pages.
  • Generating debugging information now respects the QuestPDF.Settings.EnableDebugging flag.
  • Enhanced the accuracy and conciseness of layout-issue debugging messages.
  • Fixed an issue where text width calculation was unnecessarily rounded, which caused text overflow.
  • Resolved an issue where the Text element was not visible when it contained only the page number.
QuestPDF - 2024.6.1

Published by MarcinZiabek 4 months ago

  • Layout debugging: significantly improved calculation performance and accuracy of issue detection.
  • Text element: improved the default sizing behavior for the Text element. Now, when the text is empty, it works more consistently by taking up zero width while still reserving vertical space based on the font size.
  • Fixed compatibility with .NET Standard 2.0.
  • Fixed an issue causing invisibility of Table elements containing only Header/Footer elements without content.
  • Improved the Document Composition Fluent API for Page, Table and Decoration elements. An exception is now thrown if any layer is configured more than once, preventing unexpected behavior.
QuestPDF - 2024.6.0

Published by MarcinZiabek 4 months ago

New Features:

  • Paragraph Formatting: Added support for paragraph spacing and first-line indentation.
  • SVG Output: Introduced support for SVG output format.
  • Exception Messaging: Improved exception messages for layout issues, providing detailed information and suspected locations.

Enhancements:

  • Content Drawing: Enhanced default content drawing behavior, so content does not unexpectedly repeat in certain cases.
  • Library Dependencies: Disabled visibility of native dependencies and the Lato font for cleaner output.
  • Compatibility Messaging: Enhanced compatibility exception messages for supported but potentially outdated environments.
  • Image Loading: Added fallback path for image loading to enhance development experience on ASP.NET.
  • Color Conversion: Added implicit conversion from hex numbers to color.
  • Inline Element: Simplified implementation and improved performance.
  • Column Element: Simplified implementation and improved performance.

Bug Fixes:

  • Column Element: Resolved instability issues in nested layouts with spacing and zero-sized elements.
  • JPEG Quality: Disabled JPEG image downsampling/downscaling to maintain the highest quality levels.
  • Image Compression: Disabled additional image compression performed by Skia.
  • Fixed Text.LineHeight calculation.
QuestPDF - 2024.3.10

Published by MarcinZiabek 5 months ago

  • Updated Skia to M126 release,
  • Enhancement: SVG content supports embedded PNG/JPEG images,
  • Enhancement: SVG content supports loading external images from application local directory.
QuestPDF - 2024.3.9

Published by MarcinZiabek 5 months ago

  • Fixed: the thickness of text decorations was significantly higher than defined by the font settings.
QuestPDF - 2024.3.7

Published by MarcinZiabek 5 months ago

  • Introduced an explicit CallingConvention.Cdecl to address and fix the issue of stack imbalance on Windows platforms.
QuestPDF - 2024.3.6

Published by MarcinZiabek 5 months ago

  • Introduced support for the win-x86 platform.
  • Improved SVG image support for less common unit types.
  • Enhanced automated testing environment.
QuestPDF - 2024.3.5

Published by MarcinZiabek 5 months ago

  • Enhancement: text uses half-leading by default.
  • Fixed: default text decoration color should match font color.
  • Fixed: the Column element may not render successfully when it has non-zero spacing, contains a child with zero height, and is repeated.
QuestPDF - 2024.3.4

Published by MarcinZiabek 6 months ago

  • Improved font rendering by setting half-leading when line-height is overridden.
  • Enhanced exception messages for unsupported x86 platforms.