亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將PDF從遠程服務嵌入到html頁面中?

如何將PDF從遠程服務嵌入到html頁面中?

慕勒3428872 2022-09-29 16:33:06
我正在開發一個與現有后端服務接口的 UI。UI 需要調用后端服務器以獲取 PDF 文件,該文件將顯示在現有頁面或新選項卡中。我已經嘗試了我在SO上看到的所有選項:<iframe src="http://localhost:3131/Reports.aspx?reportName=testReport&clientid=23" width="800px" height="100%"></iframe><embed type="application/pdf" src="//http://samelinkasabove" width="800px" height="100%"><object type="application/pdf" data="http://myreportlink" width="800px" height="100%" /><a href="http://localhost:32/Reports.aspx?reportName=testReport&clientid=23" target="_blank">View Report</a>在每種情況下,pdf最終都是下載,而不是顯示在瀏覽器窗口中。有沒有一種本機方式來顯示PDF,或者是否需要java腳本來實現這一點?
查看完整描述

2 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

我這里有一個代碼圍欄,它使用免費的Adobe DC視圖SDK準確顯示了此功能。除非覆蓋本機瀏覽器查看器,否則無法控制 PDF 體驗。我示例的相關代碼如下。在我的示例中,PDF 是從另一個域獲取的,但“content”參數將接受解析為 PDF 內容的數組緩沖區的任何 Promise。您的PDF可以存儲在任何地方或動態創建,然后顯示在HTML頁面中。

document.addEventListener("adobe_dc_view_sdk.ready", function () {

  /*

  The clientId is tied to a specific domain. To display a PDF hosted 

  on a different domain using the Adobe View SDK, we need to fetch the file 

  first then pass it to the "content" parameter as a Promise. 

  */

  fetch("https://documentcloud.adobe.com/view-sdk-demo/PDFs/Bodea Brochure.pdf")

    .then((res) => res.blob())

    .then((blob) => {

      var adobeDCView = new AdobeDC.View({

        // This clientId can be used for any CodePen example

        clientId: "YOUR_CLIENT_ID", 

        // The id of the container for the PDF Viewer

        divId: "adobe-dc-view" 

      });

      adobeDCView.previewFile(

        {

          // The file content

          content: { promise: Promise.resolve(blob.arrayBuffer()) },

          metaData: { fileName: "Bodea Brochure.pdf" }

        },

        {

          embedMode: "FULL_WINDOW", // possible values are "FULL_WINDOW", "SIZED_CONTAINER" and "IN_LINE"

          defaultViewMode: "FIT_WIDTH", // possible values are  "FIT_WIDTH" and "FIT_PAGE"

          showDownloadPDF: true,

          showPrintPDF: true,

          showLeftHandPanel: true,

          showAnnotationTools: true

        }

      );

    });

});


查看完整回答
反對 回復 2022-09-29
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

我發現服務器正在使用水晶報告來生成PDF并“導出”它。它使用了一個函數,方法調用中的第三個參數是 。ExportToHttpResponse(...)bool asAttachment

該參數被設置為 true。我將其更改為 false,并且響應開始設置為,并且上述顯示方法開始工作。inline


查看完整回答
反對 回復 2022-09-29
  • 2 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號