我正在构建一个应用程序,它将在服务器上有一个交互式的PDF表单( HTML,CSS,JS)。我一直试图使用Grapecity查看器,但没有效果。我使用这些资源( 一、二、三 )跟踪文档到T。
<!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>我目前在上面的HelloWorld.pdf文件夹中有“index.html”和gcpdfviewer,但是每次我在浏览器中测试代码时,PDF查看器都会加载,但是PDF没有加载,这给了我一个错误,说明“缺少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发布于 2020-08-20 10:55:15
如前所述,出于安全原因,无法通过JavaScript访问本地文件系统上的文件,需要设置web服务器并使用web服务器url打开PDF文件。
但是如果你真的想这么做的话,还有另外一个解决办法--启动禁用的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"注意,由于安全原因,不建议使用此解决方案,浏览器开发人员稍后可以禁用此方法。
发布于 2020-08-17 00:28:04
感谢您使用GCPDF查看器。文件名是否完全相同,它可能是区分大小写的操作系统?您能在browser network选项卡中查看并监视要检索PDF文件的请求吗?它是否位于您放置该文件的同一位置。您在运行哪个服务器软件?它提供PDF文件吗?
http://www.grapecity.com
发布于 2020-08-17 07:00:09
首先,这个问题并不是因为没有许可证的版本.出现此问题是因为您试图使用文件系统在本地执行示例。为了克服这个问题,您应该将应用程序宿主在本地服务器上,并将该Pdf加载到PdfViewer中。在PdfViewer中加载Pdf时,有XMLHttpRequest检查原点。对于文件系统来说,这是空的。因此,在访问文件时抛出错误。下面是配置PdfViewer:https://www.grapecity.com/documents-api-pdf/docs/online/view-pdf.html的文档链接
致以敬意,
曼尼什·古普塔
https://stackoverflow.com/questions/63442815
复制相似问题