Asp.net PDF中的相对链接

Asp.net PDF中的相对链接,asp.net,silverlight,pdf,acrobat,Asp.net,Silverlight,Pdf,Acrobat,需要一些关于下一步采取什么行动的建议 已经编写了一个ASP.Net应用程序。该应用程序的一部分涉及能够查看PDF。查看的初始PDF用作访问其他PDF文档的索引。单击索引PDF中的链接,它会跳转到另一个PDF文件。法律文件、协议等 这种情况在某些计算机上有效,而在其他计算机上则不起作用。我设法找出了问题所在。在一些计算机上,最初的索引PDF被托管在浏览器中,而在其他一些计算机上,它实际上是跳出浏览器直接跳入Adobe Acrobat。一旦PDF跳出浏览器并进入Acrobat,索引PDF中的相对链接

需要一些关于下一步采取什么行动的建议

已经编写了一个ASP.Net应用程序。该应用程序的一部分涉及能够查看PDF。查看的初始PDF用作访问其他PDF文档的索引。单击索引PDF中的链接,它会跳转到另一个PDF文件。法律文件、协议等

这种情况在某些计算机上有效,而在其他计算机上则不起作用。我设法找出了问题所在。在一些计算机上,最初的索引PDF被托管在浏览器中,而在其他一些计算机上,它实际上是跳出浏览器直接跳入Adobe Acrobat。一旦PDF跳出浏览器并进入Acrobat,索引PDF中的相对链接就会停止工作,因为它是通过Acrobat托管在客户端的,但它试图访问的其他PDF位于服务器上

我明白了为什么有些电脑停留在浏览器中,而有些电脑则跳出浏览器。Acrobat本身中有一个选项可确定此行为。它位于“编辑-->首选项-->在浏览器中显示PDF”下

我陷入困境是因为我无法控制PDF文档本身以及它们的编写方式,而且我显然无法控制Acrobat在每台计算机上选择的选项。我们公司最近刚刚购买了一款名为Nuance的新PDF阅读器,该阅读器将很快在公司范围内推出,我认为它甚至没有在浏览器中托管PDF的选项,这也让我的问题更加复杂

如果我用HTML创建索引,我可以得到我需要的工作,但问题是我不写索引,而那些写索引的人也没有受过HTML方面的培训。我可以让编写索引的人从相对链接更改为绝对链接,但随后我遇到了一个问题:如果我们更改了PDF文件的宿主位置,该怎么办?所有链接将再次中断?我认为我们被相对URL所困扰,但我如何才能让它工作呢

我在考虑是否在Silverlight内托管PDF

寻找任何想法或想法


谢谢。

Silverlight在这里帮不了你

解决方案实际上是找到一种更好的方法来创建索引文档。索引文档内容到底有多复杂


如果您不想在HTML中培训这些索引的作者,那么您可以为他们提供一个简单的工具,他们可以使用它来描述内容。然后,您可以使用代码服务器端动态生成HTML(甚至PDF)。

您需要的是一个简单的重定向器ASPX页面,其URL可以在PDF文档中使用。将PDF的路径放入数据库中。为每个PDF提供一个ID。ASPX页面应接受ID作为参数,在数据库上进行查找,并将response.redirect重定向到PDF的当前位置。您可以在PDF中使用基于此ASPX页面的URL。如果您使数据库保持最新,则PDF文档中的链接将始终指向正确的位置

在数据库中

  • http://someserver/somepath/abc.pdf
  • ttp://anotherserver/apath/sdf.pdf
  • PDF文档中的链接

  • http://yoursite.com/pdf_redirect.aspx?id=1

  • http://yoursite.com/pdf_redirect.aspx?id=2
  • 索引一点也不复杂。想想那些链接的“目录”。我还考虑了自定义工具路径。我希望避免这种情况,因为截止日期快到了,一个定制工具散发出一股辛劳的味道。@Hunter:现在就对绝对路径进行硬编码,然后用一个索引创建工具来破解怎么样。这到底有多困难?这对于任何创建的新索引来说都不是问题,但是有数百个旧索引需要更改。这最终会发生,但如果我按照你的要求去做,我将不得不要求他们改变两次。不会让他们高兴的。@Hunter:那么是时候和索引创建者好好谈谈了。外部PDF查看器中的相对URL问题是完全难以解决的。