We wanted to share some important information related to DevExpress Reports v21.2 (due out in November). As always, we welcome your feedback and your perspective. Should you have any questions about the changes described herein, feel free to comment below.
Reporting for WinForms & WPF — End of Default Bitmap Icons Support
Many years ago (specifically, 5 years ago in our v16.2 release cycle), DevExpress Reports was the first DevExpress product to include a complete set of built-in SVG icons for its Document Viewer and its End User Report Designer toolbar. We incorporated SVG icons to better support HDPI (4K) displays.
When we added SVG icons, we knew that some would not be happy with the change and so we also introduced the WindowsFormsSettings.AllowDefaultSvgImages
property for backward compatibility. This property allowed customers to retain the look and feel of existing apps and maintain use of bitmap icons until we completed delivery of our entire icon set.
Over the last few years, the DevExpress WinForms and WPF product line have evolved and SVG icons have become the preferred choice for most of our customers. Said differently, feedback tells us that most of you have moved away from bitmaps and have elected to leverage the flexibility of SVG icons.
To that end, we’ve chosen to only support SVG icons moving forward. With our next major update (v21.2), the AllowDefaultSvgImages
property will have no impact on DevExpress Reports components such as the DevExpress Document Viewer, End-User Report Designer and Query Builder. An exception applies to custom print preview or end-user designer forms you may have added to your apps: if bitmap icons were serialized into form resources during the very first initialization, they’ll still be in place.
This change WILL apply to our WinForms and WPF report components (DevExpress Reports for WPF has offered SVG icon support since v17.2). Our WPF ApplicationThemeHelper.UseDefaultSvgImages
property will no longer affect DevExpress Report controls after our v21.2 update.
Of course, you may be asking why – why this change and why now. Frankly, it’s just too time consuming (and expensive) to maintain two sets of icons (and our graphic design resources are now solely directed at SVG icons). If you’re still using bitmaps, you may have noticed this reality already. If you disable the property mentioned above, a number of UI elements (toolbar buttons) do not include bitmap icons.
If your app is wholly reliant on bitmaps, please do create a support ticket and share your use case with us and let us know why you cannot/will not move to SVG. We will be happy to listen to your thoughts and figure out the best path forward for your specific app.
Cross-Platform PDF Export — Image Conversion and Compression
The goal of this change is to deliver clarity and flexibility to our image compression API for PDF file creators. Our objective is to offer an image compression mechanism for images embedded into PDF files and separate the option that manages vector image rasterization. This will be useful for users who wish to decrease PDF size (via image compression) but who wish to retain the highest possible quality for charts/vector images.
Prior to v21.2, a single PdfExportOptions.ConvertImagesToJpeg
property performed the following:
- enabled by default
- compressed all images to JPG
- rasterized vector images.
With v21.2, we will:
- Change the
PdfExportOptions.ConvertImagesToJpeg
property behavior: it will only convert bitmap images to JPG. - Add a
PdfExportOptions.RasterizeImages
property to the export options dialog. This property will allow you to convert vector images to PNGs. - Add the
PdfExportOptions.RasterizationResolution
property to the export options dialog. This property will allow you to specify the resolution (in dots per inch or simply said, DPI) used to rasterize vector images on export to PDF.
You’ll be able to enable both these properties simultaneously (in such instances, a vector image will be converted to PNG first and then compressed to JPG).
Reporting for Web Forms — End Of Medium Trust Support
Before we describe this change, it’s important to consider Microsoft’s position as it relates to partial trust applications:
- Is trying to develop for Medium Trust a lost cause?
- Microsoft Docs - Web Development Best Practices - Medium Trust
- Microsoft Docs - Code Access Security
With the introduction of ASP.NET Core and containerization technology (technologies that effectively manage application permissions), we feel that continued investment in Medium Trust support will negatively impact the long-term health of DevExpress Reports. Medium Trust related restrictions within the .NET Framework (see: Medium Trust Support) create development obstacles and add to our maintenance costs.
Accordingly, we will not offer Medium Trust support for DevExpress Reports once we release v21.2. We will stop maintaining our tests for this trust level and will no longer certify DevExpress Reports for use within partial trust environments.
Your Feedback Matters
If you have questions about the changes described herein, please comment below or create a support ticket via the DevExpress Support Center. We’ll be happy to follow-up.