Unplanned
Last Updated: 16 Dec 2020 14:23 by ADMIN
Created by: Simeon
Comments: 0
Category: PDFViewer
Type: Feature Request
1
Enable the users to draw different shapes on the PDF page.
Completed
Last Updated: 09 Dec 2020 14:58 by ADMIN
Release LIB 2020.3.1214 (07/14/2020)
When importing a document containing two trailers and the encryption object (Encrypt) is part of the fist xref table the document is not successfully decrypted and an exception is thrown.
Completed
Last Updated: 09 Dec 2020 12:52 by ADMIN
Release LIB 2020.3.1214 (07/14/2020)
This exception seems to be caused because the stream is not decrypted correctly and the stream data is corrupted. For instance when the stream is with FlateDecode filter the exception is InvalidDataException with message "Unknown compression method".
Completed
Last Updated: 01 Dec 2020 12:59 by ADMIN
Release LIB 2020.3.1207 (07/12/2020)

When we render any PDF file with 'x' number of page count and try to enter page 'x+1' in telerik:CurrentPageTextBox and hit enter, it will enable the Previous Page RadButton and if we click Previous Page then it will freeze the application.

System.ArgumentOutOfRangeException: 'pageNo should be greater or equal than 1 and less or equal than 4. (Parameter 'pageNo')'

Workaround: A possible approach could be to attach to the CurrentPageTextBox` KeyDown event in order to restrict the input.

XAML: 

<telerik:CurrentPageTextBox x:Name="PART_CurrentPageNumberTextBox" 
							KeyDown="PART_CurrentPageNumberTextBox_KeyDown"
							Text="{Binding FixedDocumentViewer.CurrentPageNumber, Mode=TwoWay}"/>
Code-behind:

private void PART_CurrentPageNumberTextBox_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
	TextBox textBox = sender as TextBox;
	if (textBox != null)
	{
		if (e.Key == System.Windows.Input.Key.Enter)
		{
			int pagesCount = this.pdfViewer.PagesCount;
			int currentPageNumber = this.pdfViewer.CurrentPageNumber;
			if (this.pdfViewer.Document != null && (currentPageNumber < 1 || currentPageNumber > pagesCount))
			{
				RadFixedPage currentPage = this.pdfViewer.CurrentPage;
				int pageNum = this.pdfViewer.Document.Pages.IndexOf(currentPage) + 1;
				this.pdfViewer.CurrentPageNumber = pageNum;
			}
		}
	}
}

Completed
Last Updated: 27 Nov 2020 13:55 by ADMIN
Release LIB 2020.3.1130 (30/11/2020)
When modifying Interactive Forms TextBoxField's value the entered changes are preserved after is clicked out of the TextBoxField's editing area. However the changes are not applied when the click is performed on the save button.

As possible workaround you can raise a MouseLeftButtonDown event on the RadPdfViewer and after this execute the SaveAsCommand. For example:

private void SaveButton_Click(object sender, RoutedEventArgs e)
{
    MouseButtonEventArgs mouseEventArgs = new MouseButtonEventArgs(Mouse.PrimaryDevice, 0, MouseButton.Left)
    {
        RoutedEvent = FrameworkElement.MouseLeftButtonDownEvent
    };
 
    ((FrameworkElement)this.pdfViewer.FixedDocumentPresenter).RaiseEvent(mouseEventArgs);
    this.pdfViewer.CommandDescriptors.SaveAsCommandDescriptor.Command.Execute(null);
}
Unplanned
Last Updated: 26 Nov 2020 07:25 by ADMIN
Provide an event that is fired when all annotations are clicked. Currently, the AnnotationClicked event is not fired for all annotations. Perhaps we can use the same event and add a property that controls for which annotations the vent is fired. 
Unplanned
Last Updated: 12 Nov 2020 09:10 by ADMIN
Introduce a fallback mechanism for glyphs that cannot be found in the current font 
Completed
Last Updated: 11 Nov 2020 14:59 by ADMIN
Release LIB 2020.3.1116 (16/11/2020)
Exception when the inline image stream starts on a new row (No imaging component suitable to complete this operation was found).
Unplanned
Last Updated: 10 Nov 2020 15:27 by ADMIN

When extracting text from a composite font the ToUnicode mapping should be used but when this mapping is missing the char codes must be mapped by constructing a secondary map from fonts ordering and registry. 

A possible workaround could be to register a TrueType font using the FontsRepository.RegisterFont() method:

FontsRepository.RegisterFont(new FontFamily(fontName), FontStyles.Normal, FontWeights.Normal, File.ReadAllBytes(pathToFont));
and then to iterate the document content and change the specific font with the registered one:
FontsRepository.TryCreateFont(new FontFamily(fontName), FontStyles.Normal, FontWeights.Normal, out FontBase font);

foreach (RadFixedPage page in document.Pages)
{
	foreach (ContentElementBase contentElement in page.Content)
	{
		if (contentElement is TextFragment textFragment)
		{
			if (textFragment.Font.Name == fontName)
			{
				textFragment.Font = font;
			}
		}
	}
}

Unplanned
Last Updated: 05 Nov 2020 12:18 by ADMIN
Expose event that allow on to track if the rotation is changed
Completed
Last Updated: 02 Nov 2020 12:00 by ADMIN
Release LIB 2020.3.1102 (02/11/2020)
When importing a document containing an image with ICC Based colorspace and the Alternate colorspace property is null, a NullReferenceException is thrown, which leads to a missing image in RadPdfViewer.
Unplanned
Last Updated: 29 Oct 2020 09:22 by ADMIN
PdfViewer: Show the DropDownList icon when the document contains ComboBox field
Completed
Last Updated: 26 Oct 2020 07:14 by ADMIN
Release LIB 2020.3.1026 (26/10/2020)
Instances of RadFixedDocument and PdfFormatProvider are kept in memory by a WPF internal collection (_sizeChangedChain).
Unplanned
Last Updated: 12 Oct 2020 06:56 by ADMIN
Created by: D.Scaccabarozzzi
Comments: 0
Category: PDFViewer
Type: Feature Request
3
From the PDF specification: PDF 1.6 introduces the capability for collections of three-dimensional objects, such as those used by CAD software, to be embedded in PDF files. Such collections are often called 3D models; in the context of PDF, they are referred to as 3D artwork.
Completed
Last Updated: 09 Oct 2020 13:18 by ADMIN
Release LIB 2020.3.1012 (12/10/2020)

When importing a PDF document, opening the stream in using statement, and using the default constructor of the PdfDocumentSource class, an exception is thrown:

using (Stream stream = ofd.OpenFile())
{
	this.pdfViewer.DocumentSource = new PdfDocumentSource(stream);
}
Workaround: provide an implementation of PdfImportSettings with CopyStream set to true:
using (Stream stream = ofd.OpenFile())
{
	PdfImportSettings importSettings = new PdfImportSettings
	{
		CopyStream = true
	};

	this.pdfViewer.DocumentSource = new PdfDocumentSource(stream, importSettings);
}

Completed
Last Updated: 29 Sep 2020 13:15 by ADMIN
Release LIB 2020.3.1005 (05/10/2020)
Exception when importing text fragments with no text 
Completed
Last Updated: 29 Sep 2020 12:45 by ADMIN
Release LIB 2020.3.1005 (05/10/2020)
When importing a document containing an ICCBased color space an exception is thrown.
Completed
Last Updated: 16 Sep 2020 12:37 by ADMIN
Release R3 2020
The offset of the CropBox is not respected and is always treated as 0.

Workaround: Import the document with PdfProcessing, change the CropBox offsets of the pages to 0, export the modified document and then import it in PdfViewer.
Completed
Last Updated: 16 Sep 2020 12:36 by ADMIN
Release R3 2020
The stroke is not rendered when the text is in XForm
Completed
Last Updated: 16 Sep 2020 12:34 by ADMIN
Release R3 2020
This is caused by an incorrect order of applying the TextMatrix and the glyph stroking operation.