Completed
Last Updated: 03 Nov 2016 09:34 by ADMIN
To reproduce:

public Form1()
{
    InitializeComponent();

    this.radPdfViewer1.DocumentLoaded += radPdfViewer1_DocumentLoaded;
}

private void radPdfViewer1_DocumentLoaded(object sender, EventArgs e)
{ 
    var pdf = (RadPdfViewerElement)sender;
    var doc = new RadPrintDocument();

    doc.AssociatedObject = pdf.ElementTree.Control as RadPdfViewer; 
    doc.PrinterSettings.PrintRange = System.Drawing.Printing.PrintRange.SomePages;
    doc.PrinterSettings.FromPage = 2;
    doc.PrinterSettings.ToPage = 1;
    doc.PrinterSettings.PrintFileName = @"..\..\Once upon a time.pdf"; 
    pdf.Print(showPrinterSettings: false, document: doc);
}

Workaround: check FromPage  before printing.
Completed
Last Updated: 15 Jan 2018 08:42 by ADMIN
ADMIN
Created by: Dimitar
Comments: 0
Category: PdfViewer
Type: Bug Report
2
There is opportunity to further optimize the caching mechanism of the image sources, which will reduce the memory consumption. The fast scrolling in a document containing big images could lead to an OutOfMemoryException.
Openining very large images as well. 
Completed
Last Updated: 18 Jul 2023 14:26 by ADMIN
Release R2 2023 SP1
Completed
Last Updated: 30 May 2016 08:35 by ADMIN
Completed
Last Updated: 06 Sep 2016 07:30 by ADMIN
Workaround: until the feature be implemented one can print each page individually respecting its orientation whether it is portrait or landscape
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
 
        this.radPdfViewer1.LoadDocument(@"..\..\sample.pdf");
    }
 
    private void radButton1_Click(object sender, EventArgs e)
    {
        RadPrintDocument doc = new RadPrintDocument();
        doc.AssociatedObject = this.radPdfViewer1;
 
        for (int i = 0; i < this.radPdfViewer1.Document.Pages.Count; i++)
        {
            RadFixedPage page = this.radPdfViewer1.Document.Pages[i];
 
            doc.CurrentPage = i;
            doc.PrinterSettings.PrintRange = PrintRange.CurrentPage;
            doc.Landscape = page.ActualWidth > page.ActualHeight;
 
            doc.Print();
        }
    }
}
Completed
Last Updated: 03 Jun 2016 10:54 by ADMIN
To reproduce:
- Print a document that fills the entire page.
- On the print preview dialog the page is centered however when printed it is not.

In addition, one should be able to control the page scaling. 
Completed
Last Updated: 11 Feb 2016 14:38 by ADMIN

at System.Drawing.Drawing2D.GraphicsPath.Clone()
   at Telerik.WinControls.PdfViewer.PdfElementsRenderer.RenderGlyph(Glyph glyph)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawGlyph(Glyph glyph, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContentElement(IContentElement contentElement, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawGlyphsLayoutBox(GlyphsLayoutBox glyphBox, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContentElement(IContentElement contentElement, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContainer(Container container, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContentElement(IContentElement contentElement, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContainer(Container container, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContentElement(IContentElement contentElement, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawPage(ContentCollection content, Graphics graphics, Matrix pageTransform)
   at Telerik.WinControls.UI.RadFixedPageElement.pageRenderer_DoWork(Object sender, DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
   at System.Drawing.Drawing2D.GraphicsPath.Clone()
   at Telerik.WinControls.PdfViewer.PdfElementsRenderer.RenderGlyph(Glyph glyph)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawGlyph(Glyph glyph, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContentElement(IContentElement contentElement, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawGlyphsLayoutBox(GlyphsLayoutBox glyphBox, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContentElement(IContentElement contentElement, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContainer(Container container, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContentElement(IContentElement contentElement, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContainer(Container container, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawContentElement(IContentElement contentElement, Graphics graphics)
   at Telerik.WinControls.PdfViewer.FixedPageRenderer.DrawPage(ContentCollection content, Graphics graphics, Matrix pageTransform)
   at Telerik.WinControls.UI.RadFixedPageElement.pageRenderer_DoWork(Object sender, DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
Completed
Last Updated: 22 Apr 2016 04:52 by ADMIN
Completed
Last Updated: 15 Jan 2016 14:35 by ADMIN
Workaround: print the document page by page:
private void radButton1_Click(object sender, EventArgs e)
{
    RadPrintDocument d = new RadPrintDocument();
    d.PrinterSettings.PrintRange = PrintRange.CurrentPage;
    d.AssociatedObject = this.radPdfViewer1;
    for (int i = 0; i < this.radPdfViewer1.Document.Pages.Count; i++)
    {
        d.CurrentPage = i;
        d.Print();
    }
}
Completed
Last Updated: 06 Jan 2016 11:20 by ADMIN
Completed
Last Updated: 26 Sep 2022 12:36 by ADMIN
Release R2 2022
ADMIN
Created by: Tanya
Comments: 2
Category: PdfViewer
Type: Feature Request
17

			
Completed
Last Updated: 04 Jan 2017 15:01 by ADMIN
Note: If you use the next button to navigate to the next search result, the user should be notified when the end of the document is reached as well.

Workaround:

public Form1()
{
    InitializeComponent(); 
    this.radPdfViewer1.LoadDocument(@"..\..\..\samplePdf.pdf"); 

    //create a new button
    CommandBarButton findNext = new CommandBarButton();
    findNext.Text = PdfViewerLocalizationProvider.CurrentProvider.GetLocalizedString(PdfViewerStringId.NavigatorFindNextButton);
    findNext.Click += findNext_Click;
    findNext.Image = this.radPdfViewerNavigator1.FindNextButton.Image;
    //hide the currently available button
    this.radPdfViewerNavigator1.DefaultStrip.Items.Add(findNext);
    this.radPdfViewerNavigator1.FindNextButton.Visibility = ElementVisibility.Collapsed;
}

private void findNext_Click(object sender, EventArgs e)
{
    if (this.radPdfViewerNavigator1.SearchTextBox.Text != string.Empty)
    { 
        if (this.radPdfViewerNavigator1.AssociatedViewer == null || this.radPdfViewerNavigator1.AssociatedViewer.Document == null)
        {
            return;
        }

        PropertyInfo internalDocumentPI = typeof(RadFixedDocument).GetProperty("InternalDocument", BindingFlags.NonPublic | BindingFlags.Instance);
        object internalDocument = internalDocumentPI.GetValue(this.radPdfViewerNavigator1.AssociatedViewer.Document, null);
        object textSearch = internalDocument.GetType().GetProperty("TextSearch", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(internalDocument, null);
        MethodInfo mi = textSearch.GetType().GetMethod("Find", BindingFlags.Public | BindingFlags.Instance);
        TextSearchOptions searchOptions = new TextSearchOptions(false);
        SearchResult searchResult = mi.Invoke(textSearch, new object[2] { this.radPdfViewerNavigator1.SearchTextBox.Text, searchOptions }) as SearchResult;
        if (searchResult.Result != null)
        {
            this.radPdfViewerNavigator1.AssociatedViewer.Select(searchResult);
        }
        else
        {
            RadMessageBox.Show("No matches");
        }
    }
}
Completed
Last Updated: 09 Jan 2017 13:41 by ADMIN
ADMIN
Created by: Hristo
Comments: 0
Category: PdfViewer
Type: Bug Report
1

			
Completed
Last Updated: 20 Nov 2023 07:41 by ADMIN
Release R3 2023 SP1 (2023.3.1114)
Completed
Last Updated: 26 Oct 2015 15:37 by ADMIN
Completed
Last Updated: 05 Aug 2015 13:20 by ADMIN
Completed
Last Updated: 26 Oct 2015 15:38 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: PdfViewer
Type: Feature Request
0
http://docs.telerik.com/devtools/wpf/controls/radpdfviewer/document-model/exceptionhandling
Completed
Last Updated: 24 Jul 2015 07:35 by ADMIN
Completed
Last Updated: 24 Oct 2016 12:55 by ADMIN
To reproduce:

public Form1()
{
    InitializeComponent();

    radPdfViewer1.DocumentLoaded += radPdfViewer1_DocumentLoaded;
    radPdfViewer1.LoadDocument(@"..\..\TestDocument.pdf");
}

void radPdfViewer1_DocumentLoaded(object sender, EventArgs e)
{
    var pdfViewerElement = sender as RadPdfViewerElement;

    if (pdfViewerElement != null)
    {
        var myDocumentToPrint = new RadPrintDocument();
        myDocumentToPrint.AssociatedObject = pdfViewerElement;
        myDocumentToPrint.DefaultPageSettings.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
        myDocumentToPrint.Print();
    }
}
 
Please refer to the attached screenshots and sample pdf.

Workaround:  Specify the RadPrintDocument.DefaultPageSettings.Margins property on a way to have the right margin greater than 0 
Completed
Last Updated: 26 Apr 2016 12:10 by ADMIN