使用案例:我正在使用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