[Acr DC] ✔ Как настроить гиперссылки на вложенные документы других форматов (через JavaScript)

Parazitif

Участник
Топикстартер
Сообщения
6
Реакции
0
Добрый день!
В документ PDF вложены несколько файлов (с расширением PDF, DOC и XLS).

Нужно сделать гиперссылку на области страницы (изображение и текст), чтобы открывался вложенный файл.
Через инструменты Acrobat получается настроить только c вложенными PDF-документами.

С остальными документами (DOC, XLS) получается только через комментарии (документы также во вложениях, но выделяется не вся необходимая область, а лишь закрепленная точка).

Соответственно, гиперссылка по области должна работать с прописанным JavaScript, типа
Код:
var perf=app.openDoc('|' + this.path + '|U:'+String.fromCharCode(65279)+'PDF_info.pdf');
но этот код работает только с документами PDF. С остальными расширениями не открывается.

В JavaScript, к сожалению, вообще не разбираюсь. Помогите, как нужно допилить код, чтобы открывались вложенные файлы других типов.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Это конечно, неточно, но, скорее всего - никак. Представьте себе ссылку на вложенный exe и последствия его открытия. Или тот же xls с макросами
 
  • Спасибо
Реакции: ~RA~

Parazitif

Участник
Топикстартер
Сообщения
6
Реакции
0
Хочется верить, что решение всё же есть. Меня на это наводят две мысли:
1) Как ранее указал, в Acrobat есть возможность вкладывать и открывать файлы других типов через комментарии.
2) Также в пособии JavaScript есть код по открытию невложенных файлов через конвертацию в PDF.
Код:
app.openDoc({cPath: "/c/temp/myPic.jpg",bUseConv: true})

Надеюсь, что найдется пытливый ум, который поможет это правильно закодить.

Представьте себе ссылку на вложенный exe и последствия его открытия. Или тот же xls с макросами
P.S. То, о чем говорите Вы, верно: при попытке вложить файлы форматов EXE, VBS или ZIP Acrobat предупреждает, что вложенный файл не будет открываться, так как данный формат связан с вредоносными программами, макросами и вирусами, которые могут повредить компьютер. Но такие форматы и не планируется использовать.
 

Gad

Сообщения
2 975
Реакции
1 408
файлы форматов EXE, VBS или ZIP Acrobat предупреждает, что вложенный файл не будет открываться
Будут, но нужно специально отключить блокировку этих расширений
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Хочется верить, что решение всё же есть. Меня на это наводят две мысли:
1) Как ранее указал, в Acrobat есть возможность вкладывать и открывать файлы других типов через комментарии.
2) Также в пособии JavaScript есть код по открытию невложенных файлов через конвертацию в PDF.
Код:
app.openDoc({cPath: "/c/temp/myPic.jpg",bUseConv: true})

Надеюсь, что найдется пытливый ум, который поможет это правильно закодить.
Тут как раз все сурово - если возможность отключена, то никаким мозговым штурмом ее не включить, только модификацией самого акробата.
А какие форматы у вас открывает из вложенных и что говорит если нет?
 

Parazitif

Участник
Топикстартер
Сообщения
6
Реакции
0
А какие форматы у вас открывает из вложенных и что говорит если нет?

Ну, как я и писал ранее, через вложенный комментарий точно открывает DOC/DOCX, XLS/XLSX, ещё точно работает с TXT, JPEG, PNG. При файлах ZIP, RAR выдает окно-предупреждение. С остальными не пробовал.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Вы ж вроде говорили что
но этот код работает только с документами PDF. С остальными расширениями не открывается.
то есть все эти форматы так не открываются? А что выдает?
 

Parazitif

Участник
Топикстартер
Сообщения
6
Реакции
0
Вы ж вроде говорили что

то есть все эти форматы так не открываются? А что выдает?

Ничего не выдает, просто отсутствие какого-либо отклика.

Повторюсь. Есть три способа вложить файл с гиперссылкой (открытием по клику):
- гиперссылка через инструменты Adobe ("редактировать" - "связать" - "перейти к странице") (работает только с PDF);
- вложение файла через инструмент "комментирование" (работает с большинством форматов, но нельзя выделить область, глючит при повторной ссылке на один файл, поэтому при необходимости нужно вкладывать файлы с разным именем);
- гиперссылка через JavaScript (работает через указанный код с файлами PDF, с остальными ничего не выдает).

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
я бы приложил пример файла, но насколько понимаю, здесь можно только изображения вкладывать.
Можно все в архив в ресурсы
Но сомнительно что это поможет - скорее всего это принципиальное ограничение, обойти которое нельзя
 

Parazitif

Участник
Топикстартер
Сообщения
6
Реакции
0
Можно все в архив в ресурсы
Но сомнительно что это поможет - скорее всего это принципиальное ограничение, обойти которое нельзя
Можете ознакомиться с примером:

искренне верю, что можно обойти через JavaScript, т.к. работает с PDF и есть аналог через комментирование.

только открывайте скаченный файл через Acrobat, а не через браузер. В браузере не работает.
 
Последнее редактирование:

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Верный ответ Почему-то, просто поправив код в вашем пдф, ни вордовский файл, ни екселевский не открывались. Тогда я просто их вытащил из акробата, а потом обратно вернул в аттач акробата, и всё заколбасилось. Пойдёт?

ЗЫ. Всё-таки Acrobat 7 (вроде) был самый-самый в плане того, что в него можно было навставлять чего угодно
 
Последнее редактирование модератором:

Parazitif

Участник
Топикстартер
Сообщения
6
Реакции
0
Почему-то, просто поправив код в вашем пдф, ни вордовский файл, ни екселевский не открывались. Тогда я просто их вытащил из акробата, а потом обратно вернул в аттач акробата, и всё заколбасилось. Пойдёт?
Вы - потрясающий! Говорю абсолютно искренне.
Именно та помощь, на которую я рассчитывал!

Если позволите, оставлю код здесь (если кому-то пригодится в дальнейшем):
Код:
var myOpenInPlaceSetting = app.openInPlace; app.openInPlace = false; this.exportDataObject ({cName: "Microsoft Word.docx", nLaunch: 2}); app.openInPlace = myOpenInPlaceSetting;
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
;]]
 

imma

15 лет на форуме
Сообщения
3 089
Реакции
2 185
Вот еще вариант. Название файла должно быть без пробелов. Также можно реализовать кнопкой, закладкой и любой другой формой.
Код:
this.exportDataObject({ cName: "filename.xlsx", nLaunch: 2 });
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
imma, это оно и есть, просто добавлено вкл./выкл. предупреждений безопасности =)
И, как выяснилось, название файла-таки может быть и с пробелом, хотя я бы, конечно, не пробелил.
 

imma

15 лет на форуме
Сообщения
3 089
Реакции
2 185
imma, это оно и есть, просто добавлено вкл./выкл. предупреждений безопасности =)
И, как выяснилось, название файла-таки может быть и с пробелом, хотя я бы, конечно, не пробелил.
Ну да, недоглядел. У меня с пробелами не открывалось, правда я и не переаттачивал..
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
У меня с пробелами не открывалось, правда я и не переаттачивал..
Вот тут, конечно, интересно, почему оно так, но разбираться лень, ибо адоба еще сто раз все перевернёт, поэтому, да, лучше файлы без пробелов, а до кучи еще и на англ. яз.