使用 PDFObject 下载具有动态文件名的 pdf

Using PDFObject to download pdf with dynamic filename

我正在尝试将 PDFObject 用于我的小册子我想要的是让用户 select 一辆汽车并下载特定的汽车she/he已选择。这是我的代码:

<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,以便它查找正确的文件名来下载文件。

下载 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");
});