2013-02-24 3 views
1

Я использую iTextSharp для создания PDF-файлов. Могу ли я использовать iTextSharp для создания ссылки в PDF-документе, который позволяет пользователю запускать программу.itextsharp создать ссылку в pdf-файле для запуска программы

+0

Пользователям этого файла не будет никаких проблем с этим файлом. Это часть функций, которые они просили запустить определенную программу. – user1019042

ответ

0

Вы ищете Launch action. Я автор книги о iText, и я обычно не говорю об этой функциональности, потому что это считается угрозой безопасности (что вы указываете в своем комментарии: пользователю действительно нужно доверять PDF).

В iTextSharp, вы бы создать действие запуска так:

Paragraph p = new Paragraph(
     new Chunk("Click to open test.txt in Notepad.") 
     .SetAction(
     new PdfAction(
      "c:/windows/notepad.exe", 
      "test.txt", "open", 
      Path.Combine(Utility.ResourceText, "") 
     ) 
    )); 
    document.Add(p); 

Глядя на код, вы сразу увидите вторую проблему: PDF должен быть зависит от платформы, но мы представляем два зависимостей в этом примере кода:

  1. В этом примере мы предоставляем только действие запуска для PDF, открытого в Windows (можно было добавить дополнительные свойства для других ОС).
  2. мы предполагаем, что исполняемый файл присутствует на пути, который мы определили. Это может быть огромной проблемой, если вы хотите, чтобы этот PDF-файл работал в любой среде.

Вам нужно будет поговорить об этом со своим клиентом, чтобы узнать, могут ли они удовлетворить эти дополнительные требования: ОС и местоположение исполняемого файла.

Смежные вопросы