![](/img/trans.png)
[英]viewer.js / pdf.js: Memory usage increases every time a pdf is rendered
[英]“Missing PDF” every time I use Grapecity PDF Viewer
我正在構建一個應用程序,它將在服務器上具有交互式 PDF 表單(在 HTML、CSS、JS 中)。 我一直在嘗試使用 Grapecity PDF 查看器,但無濟於事。 我使用以下資源將文檔跟蹤到 T : one , two , three 。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<title>GC Viewer Demo | PDF Plugin</title>
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/2.8.94/css/materialdesignicons.min.css">
<script>
function loadPdfViewer(selector) {
var viewer = new GcPdfViewer(selector, { renderInteractiveForms: true });
viewer.addDefaultPanels();
viewer.open("HelloWorld.pdf");
}
</script>
</head>
<body onload="loadPdfViewer('#root')">
<div id="root"></div>
<script type="text/javascript" src="gcpdfviewer.js"></script>
</body>
</html>
我目前在與上述 index.html 相同的文件夾中有“HelloWorld.pdf”和 gcpdfviewer javascripts,但每次我在瀏覽器中測試代碼時,PDF 查看器會加載,但 ZBCD1B686017759B1DFCFF0 不會給我一個錯誤聲明“缺少 PDF”。
這真的讓我很困擾,因為我認為 PDF 正是它應該在的地方。
我目前沒有使用許可證密鑰,但文檔看起來好像我不需要一個。 也許這就是問題所在。
有任何想法嗎?
編輯 - 以下是 Chrome 中的控制台錯誤:
The pdf worker has been disabled. Note, rendering PDF in foreground thread can slow pdf viewer performance.
ce @ gcpdfviewer.js:1
index.html:1 Access to XMLHttpRequest at 'file:///C:/HelloWorld.pdf' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
HelloWorld.pdf:1 Failed to load resource: net::ERR_FAILED
index.html:1 Uncaught (in promise) V
感謝您使用 GCPDF 查看器。 文件名是否完全相同,它可能是區分大小寫的操作系統? 您能否在瀏覽器網絡選項卡中查看要檢索 PDF 文件的請求,它是否在您放置文件的同一位置查找。 您正在運行哪個服務器軟件? 它是否為 PDF 文件提供服務?
GrapeCity PDF 查看器團隊
首先,問題不是因為非許可證版本。 出現此問題的原因是您嘗試使用文件系統在本地執行示例。 為了克服這個問題,您應該將應用程序托管在本地服務器上,並且 Pdf 將加載到 PdfViewer 中。 在 PdfViewer 中加載 Pdf 時,有 XMLHttpRequest 用於檢查原點。 在文件系統的情況下,這是 null。 因此,在訪問文件時拋出錯誤。 這是配置 PdfViewer 的文檔鏈接: https://www.grapecity.com/documents-api-pdf/docs/online/view-pdf.html
問候,
馬尼什·古普塔
As stated earlier, for security reasons, it is not possible to access files on your local filesystem via JavaScript, you need to set up a web server and open PDF files using the web server url.
但是如果你真的想這樣做,還有另一種解決方法——在禁用 web 安全的情況下啟動 Chrome,然后從本地文件系統打開 index.html 頁面,例如:
"c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="C:/temp/CustomChromeSession" --disable-web-security "file:///C:/temp/gcpdfviewer-test/index.html"
請注意,出於安全原因,不建議使用此解決方法,瀏覽器開發人員可以稍后禁用此方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.