This repository documents a bug found in the Telerik PDF Viewer control for Windows Forms. The issue specifically affects the rendering of SVG graphics embedded in PDF files, where the stroke-width
attribute is ignored by the viewer.
When a PDF file contains an embedded SVG graphic that utilizes the stroke-width
CSS property (or SVG attribute), the stroke width is not rendered correctly in Telerik's PDF preview control. Regardless of:
stroke-width: 5
, stroke-width: 30
, etc.)…the resulting line always appears thin, as if the stroke width were ignored entirely. This makes the SVG appear incorrectly and inconsistent with its rendering in other PDF viewers (e.g., Adobe Acrobat, Chrome's built-in viewer).
The Telerik PDF viewer should correctly honor and render the stroke-width
property defined within SVG elements embedded in the PDF file.
All strokes in SVGs appear very thin, with no visual difference despite varying stroke widths in the source SVG.
_PdfExample.pdf
: A PDF with SVG lines that render correctly in Microsoft Edge._PdfExample.pdf
: Screenshot of how the PDF file looks in Microsoft Edge._ScreenshotFromTelerik.png
: Screenshot of how the same file looks in the Telerik PDF Viewer (note the thin lines)._LargeStroke.svg
, _SmallStroke.svg
: The original SVGs used in the PDF file.Component | Version |
---|---|
Telerik UI | 2025.1.211.48 |
.NET Framework | .NET Framework 4.8 |
OS | Windows 11 |
Ensure that the rendering engine used by RadPdfViewer
fully supports the SVG stroke-width
attribute when parsing and rendering embedded SVG content.
Currently, RadPdfViewer offers the DataError event which is purposed to handle errors during the import process. However, if there are problematic pages that are rendered in the viewer at a later moment after the document is already imported, the viewer doesn't offer a suitable way for handling such problematic moments even though the PdfProcessing library throws one of its exceptions.
The exact client's case is loading a PDF document which contains images requiring JPX Decoder which is currently not supported. Even though the PdfProcessing library throws internally the following error, the RadPdfViewer control doesn't throw the DataError event with the respective error:
Telerik.Windows.Documents.Fixed.Exceptions.NotSupportedFilterException: 'JPXDecode is not supported.'
Open the Demo app and load the PDF document with such annotation. The following error occurs:
************** Exception Text **************When RadPdfViewer is in text selection mode and the user is trying to select a word by double-clicking on it, the last letter of the word is not selected when the word is followed by some symbols like '.', ':', '(', '...'
Also, the CaretPosition is not correct.
Steps to reproduce:
1. Load a PDF document with 0 pages
2. Enter some text in the search textbox and click the next/prev buttons
Expected: the search textbox should be either disabled or should ignore any search operation
Actual: an error occurs
Workaround:
Private Sub pdf_Viewer_DocumentLoaded(sender As Object, e As EventArgs)
If pdf_Viewer.Document.Pages.Count = 0 Then
pdf_Toolbar.SearchTextBox.Enabled = False
pdf_Toolbar.NextButton.Enabled = False
pdf_Toolbar.PreviousButton.Enabled = False
Else
pdf_Toolbar.SearchTextBox.Enabled = True
pdf_Toolbar.NextButton.Enabled = True
pdf_Toolbar.PreviousButton.Enabled = True
End If
End Sub
Use the attached pdf document and launch the PdfPrintPreviewDialog. As it is demonstrated in the gif file, the preview dialog moves the pages slower than the pdf viewer itself.
Expected behavior: the performance for navigating the pages should be at least identical.
This is the result with R3 2022:
This is the result with R2 2023 SP1:
Load a document with bookmarks and select the bookmarks options. Then, move the splitter:
Expected: the selected option (bookmarks) is unchanged
Actual: the selected option (bookmarks) is not preserved and it is reset
Add functionality for a PDF form filler that supports text auto-sizing/shrinking like Adobe: