"Missing PDF" 每次使用Grapecity PDF Viewer

"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>

我目前在与上述相同的文件夹中有“HelloWorld.pdf”和 gcpdfviewer javascripts index.html但是每次我在浏览器中测试代码时,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

感谢您使用 GCPDF 查看器。文件名是否完全相同,可能是 case-sensitive OS? 您能否查看浏览器网络选项卡并查看检索 PDF 文件的请求,它是否在您放置文件的同一位置查找。 您 运行 是哪个服务器软件?它提供 PDF 文件吗?

http://www.grapecity.com

首先,问题不是因为non-license版本。 出现此问题是因为您尝试使用文件系统在本地执行示例。要解决这个问题,您应该在本地服务器上托管应用程序,Pdf 将加载到 PdfViewer 中。 在 PdfViewer 中加载 Pdf 时,有 XMLHttpRequest 检查来源。对于文件系统,这是空的。因此,在访问文件时抛出错误。 这是配置 PdfViewer 的文档 link: https://www.grapecity.com/documents-api-pdf/docs/online/view-pdf.html

此致,

马尼什古普塔

如前所述,出于安全原因,无法通过 JavaScript 访问本地文件系统上的文件,您需要设置网络服务器并使用网络服务器打开 PDF 文件 url.

但如果您真的想这样做,还有另一种解决方法 - 启动 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"

请注意,出于安全原因,不推荐使用此解决方法,浏览器开发人员以后可以禁用此方法。

Here's a screenshot of how it works