文件选择/文件API-将文件发送到嵌入式PDFObject

File Select/File API - Sending files to Embedded PDFObject

本文关键字:文件 嵌入式 PDFObject 选择 API-      更新时间:2023-12-08

所以我尝试使用文件选择(或文件API)从桌面上选择文件,并将其发送到我的HTML文档中的嵌入式PDF查看器。我用有限的知识尝试了很多不同的方法将文件从文件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查看器吗?还是它不允许这种连接?

只需创建一个文件即可检索文件的url:

url=window.URL.createObjectURL(inputFile);

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

PDFObject.embed(url, "#fileContainer");