通过PDF超链接触发Javascript

时间:2015-09-21 15:06:45

标签: javascript html hyperlink

使用案例:我正在使用inDesign服务器来呈现包含我希望通过网络界面进行编辑的图像和文字的PDF。我想象的用户体验包括查看渲染的PDF并单击要换出的图像。

潜在解决方案:我认为最简单的方法是将初始图像渲染为PDF,其中每个可替换图像或文本框都是超链接。如果我可以使超链接只是“doFunction()”,这将是理想的,但似乎InDesign不允许这样,并且这不是真正的超链接如何工作。

我的第二个想法是将PDF嵌入到HTML文档中,该文档将通过iFrame显示在主窗口中。然后,超链接将指向该内部HTML页面,其中包含有关附加到URL的单击链接的信息。例如,超链接将被定向到/ path / to / iFrameHTML?firstImage,并且从主页面我可以提取iFrame的src以确定点击了什么图像。这在IE10中有效,但不是Firefox(src没有更新)或Chrome(似乎什么也没发生)。

我正在寻找可能在那里的任何其他创意解决方案!

以下是我在快速而脏的HTML中的第二个想法:

pdfHyperlinks.html(主页)

<html style="height:100%">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <body style="padding:0px; margin:0px; height:100%">
        <table style="width:100%;height:100%">
            <tr style="height:100%">
                <td style="width:50%">
                    <div id="left_column">
                        <input type="button" onclick="alert(document.getElementById('myIframe').contentWindow.location.href)" value="get current location"/>
                    </div>
                </td>
                <td style="width:50%;height:100%">
                    <div id="pdfViewer" style="position:relative;height:100%;width:100%">

                        <iframe src="pdfIframe.html" frameBorder="0" id="myIframe" style="display:block;height:100%;width:100%" />
                    </div>
                </td>
            </tr>
        </table>    
    </body>
    <script type="text/javascript">
    function updateLC(){
        alert(document.getElementById("myIframe").contentWindow.location.href);
    }
    </script>
</html>

pdfIframe.html(在iFrame中显示)

<html>
<head>
<base target="_parent" />
</head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <body style="overflow: hidden; padding:0px; margin:0px; height:100%">
        <script type="text/javascript">document.write(location.href);</script>
        <br />
        <object id="pdfObect" data="linked.pdf" type='application/pdf' style="position: absolute; height: 100%; width: 100%; overflow: hidden;" />
    </body>
    <script type="text/javascript">

    </script>
</html>

在此示例中,linked.pdf中的超链接指向http://localhost:8000/pdfIframe.html?imageID

0 个答案:

没有答案