【问题标题】:Using PDFObject to download pdf with dynamic filename使用 PDFObject 下载具有动态文件名的 pdf
【发布时间】:2017-10-17 15:49:50
【问题描述】:

我正在尝试将PDFObject 用于我的宣传册,我想要用户选择 车辆并下载她/他选择的特定车辆。这是我的代码:

<form method="get" action="">

  <div class="form-group"><h5>Model</h5></div>

  <div id="select-vehicle" class="form-group">
    <select class="form-control">
      <option selected disabled> Select Vehicles</option>
    </select>
  </div>

  <div class="form-group">
    <button type="submit" value="submit" id="submit" disabled class="btn btn-default">DOWNLOAD</button>
  </div>

</form>

这是我的工作javascript:

var workers = ["86", "Altis", "Avanza", "Altis", "Camry", "Fortuner", "FJ Cruiser"
            , "Hiace", "Hilux", "Innova", "LandCruiser", "Prado", "Previa", "PriusC"
            , "Rav4", "Vios", "Yaris"];
        for(var i=0; i< workers.length;i++)
        {
        //creates option tag
          jQuery('<option/>', {
                value: workers[i],
                html: '2017' + ' ' + workers[i] + ' ' + '&#174;'
                }).appendTo('#select-vehicle select'); //appends to select if parent div has id dropdown
        }
          $('button').click(function(event) {
            var value = $( "select" ).val();
            $('form').attr('action', '../../vehicles/' + value +'/');
          });

        $('select').change(function(){
          if ($(this).val())
          {
            $("button").removeAttr('disabled');
          }
        });

我想将此$('form').attr('action', '../../vehicles/' + value +'/'); 传递给 PDFObject,以便它查找正确的文件名来下载文件。

【问题讨论】:

  • 我有 2 个问题 1- 文件名是什么样的 2- 您在页面 + 表单中有多少选择
  • @Tarek.Eladly 看我的剧本。工人数组就是选择。

标签: javascript jquery html pdfobject


【解决方案1】:

下载 PDF

PDFObject 用于在您的页面中嵌入 pdf。要下载 pdf,您可以转到该 pdf,但您需要 pdf 文件名。您没有显示 pdf 文件的名称,因此这里有一个示例,如果文件名与 select 的值相同...

$('button').click(function(e) {
    e.preventDefault();
    var value = $('select').val();
    window.open('../../vehicles/' + value + '/' + value + '.pdf','_blank');
});

嵌入 PDF

如果您想使用PDFObject 将该pdf 嵌入到页面中(对于此选项,您不需要form,只需select),首先在您的html 中创建一个容器来保存该pdf。 ..

<div id="vehiclepdf"></div>

...以及单击按钮时调用PDFObject...

$('button').click(function(e) {
    e.preventDefault();
    var value = $('select').val();
    PDFObject.embed('../../vehicles/' + value + '/' + value + '.pdf',"#vehiclepdf");
});

【讨论】:

  • 收到此错误 资源解释为文档,但使用 MIME 类型应用程序/pdf 传输:"link/to/file"
  • 您尝试下载或嵌入哪个选项?
  • 如何在用户点击后为 pdf 创建新网页?它的工作,但它出现在下面?
  • 您尝试下载或嵌入哪个选项?
  • 下载,我让它出现在完整的浏览器中。我不想离开页面的一个问题。我想为 pdf 创建一个新窗口。当用户点击时
猜你喜欢
  • 2021-11-25
  • 1970-01-01
  • 1970-01-01
  • 2013-11-21
  • 1970-01-01
  • 2011-02-18
  • 2011-02-18
  • 1970-01-01
  • 2016-09-12
相关资源
最近更新 更多