Относительные ссылки в PDF

Нужен совет, что делать дальше.

Написал приложение ASP.Net. Часть приложения имеет дело с возможностью просмотра PDF-файлов. Исходный просмотренный PDF-файл действует как индекс для доступа к другим PDF-документам. Вы щелкаете ссылку в Index PDF, и она переходит к другому файлу PDF. Юридические документы, соглашения и т.д.

Этот сценарий работает на некоторых компьютерах, а на других нет. Мне удалось выяснить, в чем проблема. На некоторых компьютерах первоначальный файл Index PDF размещался в браузере, а на некоторых других компьютерах он фактически выпрыгивал из браузера прямо в Adobe Acrobat. Как только PDF-файл выходит из браузера в Acrobat, относительные ссылки в индексном PDF-файле перестают работать, потому что он размещается на стороне клиента через Acrobat, но дополнительные PDF-файлы, к которым он пытается получить доступ, находятся на сервере.

Я понял, почему некоторые компьютеры остаются в браузере, а некоторые выскакивают. В самом Acrobat есть параметр, определяющий это поведение. Он находится в разделе «Правка» -> «Настройки» -> «Отображать PDF в браузере».

Я в затруднительном положении, потому что я не контролирую сами PDF-документы и то, как они написаны, и, очевидно, я не контролирую параметры, выбранные в Acrobat на каждом компьютере. Моя проблема также усугубляется тем фактом, что наша фирма только недавно приобрела новую программу для чтения PDF-файлов под названием Nuance, которая скоро будет широко распространена, и я не думаю, что у нее даже есть возможность размещать PDF-файлы в браузере.

Я могу получить то, что мне нужно для работы, если создам индекс в HTML, но проблема в том, что я не пишу индексы, а люди, которые это делают, не обучены HTML. Я могу заставить людей, которые пишут индексы, изменить относительные ссылки на абсолютные, но тогда я сталкиваюсь с проблемой: что, если мы изменим место, где мы размещаем PDF-файлы? Все ссылки опять порвутся? Я думаю, что мы застряли с относительными URL-адресами, но как я могу заставить это работать?

Я думаю о том, чтобы разместить PDF-файлы в Silverlight?

Ищете какие-либо мысли или идеи?

Спасибо.


person Hunter    schedule 09.06.2010    source источник


Ответы (2)


Silverlight здесь не поможет.

Решение действительно заключается в том, чтобы найти лучший способ создания индексного документа. В любом случае, насколько сложным является содержание индексного документа?

Если вы не хотите обучать авторов этих индексов работе с HTML, можете ли вы предоставить им простой инструмент, который они могут использовать для описания содержимого. Затем вы можете иметь серверную часть кода для динамического создания HTML (даже PDF).

person AnthonyWJones    schedule 09.06.2010
comment
Индекс совсем не сложный. Подумайте о содержании, которое является ссылками. Я также подумал о пользовательском маршруте инструмента. Я надеюсь избежать этого, поскольку крайний срок приближается, а пользовательский инструмент пахнет усилиями. - person Hunter; 09.06.2010
comment
@Hunter: Как насчет того, чтобы жестко закодировать абсолютный путь и взломать его с помощью инструмента создания индекса. Насколько это вообще может быть сложно? - person AnthonyWJones; 09.06.2010
comment
На самом деле это не проблема для любых новых созданных индексов, но есть сотни старых индексов, которые необходимо изменить. Что, в конце концов, произойдет, но если я сделаю то, о чем вы просите, мне придется попросить их изменить их дважды. Не сделает их счастливыми. - person Hunter; 09.06.2010
comment
@Hunter: Тогда пришло время по-настоящему разобраться с создателем индекса. Проблема относительного URL-адреса во внешнем средстве просмотра PDF совершенно неразрешима. - person AnthonyWJones; 09.06.2010

Что вам нужно, так это простая ASPX-страница перенаправителя, URL-адреса которой вы можете использовать в документах PDF. Поместите пути PDF-файлов в базу данных. Дайте идентификатор для каждого PDF. Страница ASPX должна принимать идентификатор в качестве параметра, выполнять поиск в базе данных и response.redirect в текущее расположение PDF-файла. Вы можете использовать URL-адреса на основе этой страницы ASPX в PDF-файлах. Если вы поддерживаете базу данных в актуальном состоянии, то ссылки в документах PDF всегда будут вести к правильному местоположению.

В базе данных

  1. http://someserver/somepath/abc.pdf
  2. ttp://anotherserver/apath/sdf.pdf

Ссылки в документах PDF

  1. http://вашсайт.com/pdf_redirect.aspx?id=1
  2. http://вашсайт.com/pdf_redirect.aspx?id=2
person BZ1    schedule 08.02.2011