1

所以我正在尝试使用文件选择(或文件 API)从桌面选择文件并将其发送到我的 HTML Doc 中的嵌入式 PDF 查看器。我用我有限的知识尝试了很多不同的方法来将文件从 file-api 推送到 PDFObject,但似乎没有任何效果。我不确定它是否无法做到这一点,或者我是否只是以许多不同的方式做错了。

    <head>
    <link href="http://pdfobject.com/css/examples.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="http://pdfobject.com/scripts/pdfobject.js"></script>
    <script type="text/javascript">
        window.onload = function (){
            var myPDF = new PDFObject(handleFileSelect).embed(); 
// ORIGINALLY var myPDF = new PDFObject({ URL: "location" }).embed();
        };
    </script>
</head>
<body>
    <div id="pdf">It appears you don't have Adobe Reader or PDF support in this web browser. <a href="/pdf/sample.pdf">Click here to download the PDF</a></div>
    <input type="file" id="files" name="files[]" multiple />
    <output id="list"></output>

    <script>
      function handleFileSelect(evt) {
        var files = evt.target.files; // FileList object

        // files is a FileList of File objects. List some properties.
        var output = [];
        for (var i = 0, f; f = files[i]; i++) {
          output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
                      f.size, ' bytes, last modified: ',
                      f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
                      '</li>');
        }
        document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
      }

      document.getElementById('files').addEventListener('change', handleFileSelect, false);
    </script>

我可以使用文件选择/文件 api 来选择文档并将其推送到 PDFObject 查看器还是不允许这种连接?

4

1 回答 1

1

只需通过创建一个来检索文件的 url:

url=window.URL.createObjectURL(inputFile);

然后通过给 PDFObject 这个 url 来嵌入文件:

PDFObject.embed(url, "#fileContainer");
于 2016-07-31T08:35:02.313 回答