[英]Loading a pdf in pdf viewer syncfusion
我的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字符串的方法?
謝謝你的幫助
我們已經分析了代碼片段,並且我們懷疑問題是由於將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文檔,以幫助我們進行更多分析並更好地為您提供幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.