如何在PDFObject中使用搜索功能?

时间:2015-07-08 12:15:40

标签: javascript html pdf pdfobject

我使用PDFObject尝试搜索某个字词的PDF并突出显示它。该网站实际上generates code for such an application automatically但由于某种原因,这段代码实际上并没有真正搜索我的PDF,也没有突出显示我想要突出显示的词......有谁知道我怎么做或纠正我的码?

以下是网站自动为我生成的代码(HTML格式):

    <!-- insert in the document body -->

<object data='sample#search=location&highlight=20,20,20,20' 
        type='application/pdf' 
        width='100%' 
        height='100%'>

<p>It appears your Web browser is not configured to display PDF files. 
No worries, just <a href='sample'>click here to download the PDF file.</a></p>

</object>

我希望在我的PDF对象中找到(并突出显示)的搜索词是一个名为&#39; location&#39;的词。

我已将此代码复制到我的整体HTML代码中,如下所示:

    <html>
    <head>
     <title>PDFObject Example</title>
     <script type="text/javascript" src="pdfobject.js"></script>
     <script type="text/javascript">
      window.onload = function (){
        var myPDF = new PDFObject({ url: "sample.pdf" }).embed();
      };
    </script>
  </head>
  <body>
      <object data='sample.pdf#search=location&highlight=20,20,20,20' 
              type='application/pdf' 
              width='100%' 
              height='100%'>

      <p>It appears your Web browser is not configured to display PDF files. 
      No worries, just <a href='sample.pdf'>click here to download the PDF file.</a></p>
</body>
      </object>
</html>

提前致谢!

更新(7/13)

Pipwerks提供的代码非常完美,谢谢。我只剩下一个问题;我用过这个&#39;代码(见下文)为搜索词添加突出显示,但突出显示本身并不会在搜索词时自动显示;任何想法如何解决?基本上,当在Acrobat中打开PDF时,搜索功能正常工作,在左侧菜单窗格中,我可以看到搜索结果;但是,在加载PDF时,我自己搜索的术语不会自动在屏幕上突出显示;无论如何设置它是为了在加载PDF时突出显示我搜索的术语?

 <html>
  <head>
     <script type="text/javascript" src="pdfobject.js"></script>
     <script type='text/javascript'>

       function embedPDF(){

         var myPDF = new PDFObject({ 

           url: 'sample.pdf',
           pdfOpenParams: { search: 'B27-1', highlight: '30,30,30,10' }

         }).embed();  

       }

       window.onload = embedPDF; //Feel free to replace window.onload if needed.

     </script>
  </head>
      </object>
</html>

HERE是index.html当前的样子(搜索功能正常运行,但我的术语默认不突出显示)。

HERE是我希望PDF在加载index.html时的样子;如果您实际单击搜索词,则会出现一个突出显示框(如图所示)。我希望该高亮显示框可以加载PDF,无论我想在我的地图上找到什么搜索词。

任何帮助都将不胜感激,你真的是一个救命的Pipwerks,谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

不幸的是,PDF Open Parameters是特定于Adobe的,并且在大多数PDF阅读器中都不起作用,包括Chrome和Firefox中的内置PDF查看器。事实上,近五年来它一直是an issue/feature request in Google's Chromium project

在Adobe Reader中它适用于你吗?

- 更新 -

重新阅读您的帖子,您的代码不正确。您混淆了静态和JavaScript选项 - 您需要选择其中一个。正如您所写,您的JavaScript(不包括搜索参数)会覆盖您的HTML版本。

JavaScript方法:

<html>
<head>
<title>PDFObject Example</title>
<script type="text/javascript" src="pdfobject.js"></script>
<script type='text/javascript'>

function embedPDF(){

  var myPDF = new PDFObject({ 

    url: 'sample.pdf',
    pdfOpenParams: { search: 'location' }

  }).embed();  

}

window.onload = embedPDF;

</script></head>
<body>
</body>
</html>

静态HTML方法:

<html>
<head>
<title>PDFObject Example</title>
</head>
<body>
<object data='sample.pdf#search=location' 
        type='application/pdf' 
        width='100%' 
        height='100%'>

  <p>It appears your Web browser is not configured to display PDF files. 
  No worries, just <a href='sample.pdf'>click here to download the PDF file.</a></p>

</object>
</body>
</html>