Search Results for

    Show / Hide Table of Contents

    History of MigraDoc

    Here are the news and improvements of MigraDoc.

    See general history for changes that affect PDFsharp and MigraDoc.

    What’s new in version 6.2

    Breaking changes

    Corrected bug with page orientation
    See Issues below.

    MigraDoc: No more hard-coded fonts names
    See Features below.

    Features

    MigraDoc Preview user control restored for GDI build
    The MigraDoc Preview user control is again available in the GDI+ build. MigraDoc Preview samples for GDI and WPF have been added to the samples repository.

    Color.Parse no longer causes exceptions when invoked with a number value
    If Color.Parse is invoked with a number value, as in var color = Color.Parse("#f00");, it no longer throws a handled exception internally.

    MigraDoc: No more hard-coded fonts names
    It is now possible to control font names used by MigraDoc for error messages and characters for bullet lists. PDFsharp 6.2.0 Preview 1 and earlier always used Courier New for error messages like "Image not found" and used hard-coded fonts for bullets.
    Read more

    Issues

    MigraDoc: Infinite loop in renderer
    We fixed a bug that led to an infinite loop in PDF Renderer.

    Corrected bug with page orientation
    When opening and modifying existing PDF pages, there sometimes were issues due to page rotation and page orientation. Behavior has changed for page format Ledger and apps supporting Ledger format must be tested and may have to be updated. This is a breaking change.


    What’s new in version 6.1

    Minor improvements

    We changed the behavior of decimal tab stops to make them behave like they do in Word. Read more


    What’s new in version 6.0

    Core builds now can be used everywhere

    With version 1.51, the Core builds were still limited to Windows. Beginning with version 6.0, the Core builds can also be used under Linux and other platforms.
    Upgrading an existing MigraDoc project is described in Upgrade existing projects to PDFsharp 6.

    DOM was revised

    The MigraDoc document object model was reworked to make it faster and more easy to use. The attribute InternalsVisibleTo is not required anymore. Read more about the MigraDoc document object model

    Feature improvements

    Version 1.5 did not work properly with .NET 5 and later because the Default encoding had changed. Version 6.0 of the library works with the new Default encoding.

    Performance improvements

    With version 1.5 we already improved the speed of text rendering (PDFsharp) and table rendering (MigraDoc). With version 6.0 we worked on the speed again and achieved some nice improvements especially with MigraDoc table rendering again. See benchmark results in the next paragraph.

    Benchmark results

    Tests were made using MigraDoc routines. Improvements were made within MigraDoc (e.g. table rendering), but also within PDFsharp (e.g. text rendering).

    Paragraphs (AddTestParagraphs)

    MigraDoc test that adds 50000 short paragraphs and renders PDF.

    • 6.0.0-preview-1
      • .NET6 Core: ~ 4.1 s
      • .NET6 GDI: ~ 4.6 s
      • .NET6 WPF: ~ 4.4 s
    • 1.51 GDI: ~ 4.9 s
    • 1.51 WPF: ~ 3.7 s
    • 1.32 GDI: ~ 22 s
    • 1.32 WPF: ~ 250 s

    Table (AddTestTable)

    MigraDoc test that creates a table with 5000 data rows plus a header row and renders PDF.

    • 6.0.0-preview-1
      • .NET6 Core: ~ 1.1 s
      • .NET6 GDI: ~ 1.1 s
      • .NET6 WPF: ~ 1.3 s
    • 1.51 GDI: ~ 5.8 s
    • 1.51 WPF: ~ 5.8 s
    • 1.32 GDI: ~ 115 s
    • 1.32 WPF: ~ 123 s

    Table with borders (AddTestTableWithBorders)

    MigraDoc test that creates a table with borders with 5000 data rows plus a header row and renders PDF.

    • 6.0.0-preview-1
      • .NET6 Core: ~ 1.4 s
      • .NET6 GDI: ~ 1.5 s
      • .NET6 WPF: ~ 1.6 s
    • 1.51 GDI: ~ 5.8 s
    • 1.51 WPF: ~ 5.9 s
    • 1.32 GDI: ~ 114 s
    • 1.32 WPF: ~ 136 s

    Lorem ipsum (AddLoremIpsumTest)

    MigraDoc test that creates a document with 4000 paragraphs containing "Lorem ipsum" text and renders PDF.

    • 6.0.0-preview-1
      • .NET6 Core: ~ 2.3 s
      • .NET6 GDI: ~ 2.3 s
      • .NET6 WPF: ~ 2.6 s
    • 1.51 GDI: ~ 5.2 s
    • 1.51 WPF: ~ 3.4 s
    • 1.32 GDI: ~ 31 s
    • 1.32 WPF: ~ 311 s

    Lorem table (AddLoremTable)

    MigraDoc test that creates a table with 5000 text rows containing "Lorem ipsum" text plus a header row and renders PDF.

    • 6.0.0-preview-1
      • .NET6 Core: ~ 3.8 s
      • .NET6 GDI: ~ 3.8 s
      • .NET6 WPF: ~ 3.9 s
    • 1.51 GDI: ~ 17 s
    • 1.51 WPF: ~ 10 s
    • 1.32 GDI: ~ 153 s
    • 1.32 WPF: ~ 520 s

    Images (AddImagesTest)

    MigraDoc test that creates a document with 5000 BMP images and renders PDF.

    • 6.0.0-preview-1
      • .NET6 Core: ~ 1.9 s
      • .NET6 GDI: ~ 2.9 s
      • .NET6 WPF: ~ 5.1 s
    • 1.51 GDI: ~ 4.4 s
    • 1.51 WPF: ~ 7.1 s
    • 1.32 GDI: BASE64 images not supported
    • 1.32 WPF: BASE64 images not supported

    Update from older versions

    For information about the transition from PDFsharp 1.5 or PdfSharpCore 1.3 to PDFsharp 6 see Upgrade to PDFsharp 6.

    • Edit this page
    In this article
    Generated by DocFX  |   Privacy policy  |   Legal notice
    Back to top