我的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字符串的方法?
感谢您的帮助
答案 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文档,以帮助我们进行更多分析并为您提供更好的帮助。