Completed
Last Updated: 05 Nov 2024 15:48 by ADMIN
Release 2024 Q4 (Nov)

Bug report

Reproduction of the problem

  1. Initialize a PDFViewer and add a button that calls a controller action on click.
<div id="pdfViewer">
</div>

<script type="text/javascript">
    $("#pdfViewer").kendoPDFViewer({
        pdfjsProcessing: {
            file: ""
        }
    });

    function loadFile() {
        $("#pdfViewer").data("kendoPDFViewer").fromFile("@Url.Action("GetPDF", "Home")");
    }
</script>
  1. Implement an action that returns a .pdf file or occasionally returns HttpNotFoundResult:
public ActionResult GetPDF()
{

    var name = "sample.pdf";
    string path = Server.MapPath("/Content/pdf/sample.pdf");

    //generate a random boolean:
    Random rng = new Random();
    bool randomBool = rng.Next(0, 2) > 0;
            
    if (randomBool)
    {
        byte[] fileBytes = System.IO.File.ReadAllBytes(path);
        return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, name);
    }
    else
    {
        return new HttpNotFoundResult("File not found.");
    }
}

Current behavior

In the case where the request returns HttpNotFoundResult, a number of js errors are thrown:

util.js:417 Uncaught (in promise)

The user loses the ability to load a file, because subsequent attempts to load a file by clicking the button result in another js exception:

api.js:1114 Uncaught TypeError: Cannot read properties of null (reading 'sendWithStream')

Expected/desired behavior

The component should show a message that a file is not found, without throwing js exceptions and should not become unusable after a failed attempt to load a file.

Environment

  • Kendo UI version: 2024.1.319
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 31 Oct 2024 08:35 by ADMIN
Release 2024 Q4 (Nov)

Bug report

Using the PDFViewer with the latest version of PDF.js (3.9.179) throws js exceptions. Version 3.4.120 is the last one, with which no js exception is thrown.

Reproduction of the problem

Dojo example: https://dojo.telerik.com/IHedIhur/3

  1. Open the devtools consolve and run the example.

Current behavior

The file is loaded, however, js exceptions are thrown:

The --scale-factor CSS-variable must be set, to the same value as viewport.scale, either on the container-element itself or higher up in the DOM. text_layer.js:480:14

Expected/desired behavior

No js exceptions when using PDF.js versions newer than v3.4.120.

Environment

  • Kendo UI version: 2023.2.718
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 07 Sep 2022 15:21 by ADMIN
Release 2022.R3

Bug report

Reproduction of the problem

Reproducible in the demos: https://demos.telerik.com/kendo-ui/pdfviewer/index

  1. Shrink the browser window so that the zoom tool goes into the overflow menu.
  2. Click on the overflow button to open the menu.

Current behavior

The zoom tool is disabled.

Expected/desired behavior

The zoom tool is enabled.

Environment

  • Kendo UI version: 2021.1.330
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 14 Oct 2020 08:36 by ADMIN
Release 2020.R3.SP.next
Created by: Margarita
Comments: 0
Category: PDFViewer
Type: Bug Report
0

Bug report

There is empty title attribute of PDFViewer zoom level combobox

Reproduction of the problem

  1. Go to https://demos.telerik.com/kendo-ui/pdfviewer/index
  2. Inspect the zoom level combobox

Current behavior

Empty "title" attribute

Expected/desired behavior

The "title" attribute of the combobox explains the purpose of the combobox, e. g. Zoom level combobox

Environment

  • Kendo UI version: 2020.2.617
  • Browser: all
Completed
Last Updated: 18 Jan 2021 09:09 by ADMIN
Release 2021.R1
Created by: Ken
Comments: 0
Category: PDFViewer
Type: Bug Report
5

Bug report

A server side exception:
System.OverflowException: 'Value was either too large or too small for a Double.'
is thrown on attempting to serialize an existing .pdf file converted to FixedDocument.

Reproduction of the problem

  1. Use the DPL Processing demo of the PDFViewer in the MVC demos project.
  2. Instead of the default sample.pdf load the Development Plan.pdf file provided in Ticket ID: 1467984
public ActionResult GetInitialPdf(int? pageNumber)
{
    //exception with Development plan.pdf file:
    string filePath = Path.Combine(Server.MapPath("~/Content/web/pdfViewer"), "Development Plan.pdf");
    //it works with the sample.pdf file:
    //string filePath = Path.Combine(Server.MapPath("~/App_Data"), "sample.pdf");
    FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
    JsonResult jsonResult;
    FixedDocument doc = FixedDocument.Load(stream);

    if (pageNumber == null)
    {
        jsonResult = Json(doc.ToJson(), JsonRequestBehavior.AllowGet);
    }
    else
    {
        jsonResult = Json(doc.GetPage((int)pageNumber), JsonRequestBehavior.AllowGet);
    }

    jsonResult.MaxJsonLength = int.MaxValue;
    return jsonResult;
}

Current behavior

The exception is thrown during the FixedDocument JSON serialization:

doc.ToJson()

at the following place: ConvertToList method in ArrayExtension class (Telerik.Web.PDF namespace)

Expected/desired behavior

No exceptions are thrown during serialization.

Environment

  • Kendo UI version: 2020.2.513
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 12 Oct 2023 10:22 by ADMIN
Created by: Narendra
Comments: 7
Category: PDFViewer
Type: Feature Request
15
Can you implement a scrollbar for the PDF viewer control? The current scrolling doesn't allow the user to grab the scrollbar and do the scrolling.
Completed
Last Updated: 16 Sep 2019 14:23 by ADMIN
Release 2019.R3

Bug report

The toolbar.click is not serialized correctly when a custom button is added to the ToolBar of the widget. Thus, the click event is not being executed.

Reproduction of the problem

@(Html.Kendo().PDFViewer()
    .Name("test")
    .PdfjsProcessing(pdf => pdf.File(""))
        .Toolbar(t => t.Items(i =>
            {
            i.Add().Name("Open").Id("Open").Command("OpenCommand").Type("button").Icon("folder-open");
            i.Add().Name("Print").Id("Print").Type("button").Icon("print").Click("onPrintClick");
        }))
        .Height(500)
)

<script>
   function onPrintClick(e) {
        alert(e);
    }
</script>

Current behavior

toolbar is not serialized correctly.

Expected/desired behavior

toolbar.click should be serialized correctly.

Environment

  • Kendo UI version: 2019.2.516
  • Browser: [all]