【发布时间】:2018-11-02 10:27:16
【问题描述】:
我的 cshtml 中有以下代码:
<span id = "/C/documents/demo.pdf" class="viewDoc">Demo.pdf</span>
点击文档名称后,点击下面的函数viewDoc:
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"]);
},
});
}
我在控制器中的 LoadPDF 动作如下:
public Json LoadPDF (string docPath){
PdfLoadedDocument loadedDocument = new PdfLoadedDocument(docPath);
MemoryStream memoryStream = new MemoryStream();
loadedDocument .Save(memoryStream);
var bytes = memoryStream.ToArray();
return JSON {new (Convert.ToBase64String(bytes))};
}
但是,当文档在 syncfusion pdf 查看器中加载时,它显示的是一个空的 PDF。
当我使用 syncfusion 将 Microsoft Word 转换为 PDF,然后将其转换为 base64 字符串并将字符串发送到 PDF 查看器时,它可以正常加载。
我在这里做错了什么吗?或者无论如何将pdf加载到pdf查看器而不将其转换为base64字符串?
感谢您的帮助
【问题讨论】:
标签: jquery pdf syncfusion