在pdf查看器同步中加载pdf

时间:2018-11-02 10:27:17

标签: jquery pdf syncfusion

我的cshtml中有以下代码:

register

点击文档名称后,它会点击下面的viewDoc函数

<span id = "/C/documents/demo.pdf" class="viewDoc">Demo.pdf</span>

我在控制器中的LoadPDF操作如下:

function viewDoc(docPath){
$.ajax({
    url: "/ViewDoc/LoadPDF",
    dataType: "text",
    type: "POST",
    data: docPath,
    success: function (data, textStatus, jqXHR) {
     $("#divViewer").ejPdfViewer({
            serviceUrl: “https://js.syncfusion.com/ejServices/api/PdfViewer”, 
            documentLoad: "load"
        });
         var divViewer= $("#divViewer").data("ejPdfViewer");
         obj.load(data["data"]);
    },
  });
}

但是,将文档加载到syncfusion pdf查看器中时,它显示的是空白PDF。

当我使用syncfusion将Microsoft Word转换为PDF,然后将其转换为base64字符串并将该字符串发送到PDF查看器时,它加载正常。

我在这里做错什么吗?或者是否有将pdf加载到pdf查看器而不将其转换为base64字符串的方法?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我们已经分析了代码片段,并且我们怀疑问题是由于将base64字符串直接加载到PDF Viewer控件的load方法中引起的,请参考修改后的代码片段以将文档加载到PDF Viewer控件中

function viewDoc(docPath){
 $.ajax({
url: "/ViewDoc/LoadPDF",
dataType: "text",
type: "POST",
data: docPath,
success: function (data, textStatus, jqXHR) {
 $("#divViewer").ejPdfViewer({
        serviceUrl: “https://js.syncfusion.com/ejServices/api/PdfViewer”, 
        documentLoad: "load"
    });
     var divViewer= $("#divViewer").data("ejPdfViewer");
     **divViewer.load("data:application/pdf;base64," + data["data"]);**  //kindly load the document as pdf.
},
 });
   }

注意:如果上述解决方案不能解决您的问题。因此,请向我们提供您遇到问题的样本和PDF文档,以帮助我们进行更多分析并为您提供更好的帮助。