簡體   English   中英

在pdf查看器同步中加載pdf

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM