1

У меня есть документ Adobe PDF, который при открытии отображает диалоговое окно с предупреждением со словами "документ пытается подключиться", за которым следует определенный URL.

Я выбираю опцию "Блокировать", чтобы быть в безопасности.

Но я бы предпочел, чтобы это диалоговое окно вообще не отображалось или чтобы сам документ PDF содержал URL. Для того, чтобы документ был полезен, не нужно подключаться к URL-адресу - его содержимое все равно можно прочитать, когда выбрано "Блокировать".

Я не ищу решение, которое обращается к симптому - то есть диалоговое окно - поэтому я не ищу решение, которое просто говорит что-то вроде: «изменить настройки безопасности, чтобы заблокировать по умолчанию» или что-то подобное.

Решение, которое я ищу, состоит в том, чтобы просто удалить URL, упомянутый в диалоге, из фактического документа PDF, чтобы диалог никогда не появлялся.

Моя первая попытка этого решения состояла в том, чтобы открыть PDF-файл в текстовом редакторе Notepad++ (достаточно любого текстового редактора, если в нем есть поиск). Затем я искал URL, указанный в диалоговом окне предупреждения.

Вот фрагмент кода PDF из самого документа PDF, показывающий URL

Фрагмент PDF

Это произошло только один раз в документе. Поэтому я поэкспериментировал с удалением различных битов: только URL, чтобы оставить (), а затем весь фрагмент.

Во всех экспериментах по удалению URL-адреса и связанного кода диалоговое окно предупреждения исчезало, но вместо этого Adobe Reader сообщал:

"файл поврежден, но восстанавливается"

и файл PDF все еще загружен и был показан.

Но, очевидно, я ищу решение, которое удаляет URL, не вызывая этого другого диалога. Предположительно, мое ручное редактирование как-то нарушило код, возможно, контрольная сумма или значение позиции смещения стали несовместимыми с фактической позицией некоторого кода.

Итак, есть ли утилита для удаления / фильтрации / удаления таких встроенных URL-адресов в PDF-файлах с сохранением полученного документа без ошибок?

(Кстати, мне пришлось показать фрагмент кода в виде изображения, поскольку он не будет отображаться полностью из-за того, что двойные угловые скобки интерпретируются как разметка, я думаю. Приведенный URL-адрес является примером, иллюстрирующим проблему, а не фактическим.)

5 ответов5

7

PDF-файл содержит таблицу с смещениями файлов в конце, и они не работают, если вы удалите URL.

Вы можете заменить его пробелами, сохранив количество символов (желательно в шестнадцатеричном редакторе), и оно должно работать нормально.

Перезаписать

/S/URI/(http://....afile.exe)
с пробелами и оставьте скобки без изменений, вот так:
7210 0 obj
<<                                            >>
endobj xref
(это "ссылка на объект", вы не хотите ее менять, потому что таблица смещений будет неправильной)

Или вы можете найти редактор PDF, но я считаю, что это было бы излишним.

Пожалуйста, оставьте свои результаты :)

4

Чтобы ответить на мой собственный вопрос, коллега просто предложил другое решение - распечатать PDF-файл в файл, получившийся выходной файл в формате PDF. Процесс печати может очистить содержимое и удалить URL-вызов.

Пример печати в файл PDF "виртуальный принтер" - это очень хороший бесплатный PDF-файл с открытым исходным кодом http://www.pdfforge.org/ Он устанавливается как драйвер принтера и доступен в стандартном наборе принтеров Windows через панель управления и в качестве принтера в списке, предлагаемом приложениями Windows для печати, например, Adobe PDF Reader :)

Я попробую и дам вам знать ...

2

Ну, я могу вам немного помочь. PDF-файлы представлены в двоичном формате, и большинство двоичных форматов используют подсчет байтов для разделения записей вместо новых строк. Другими словами, вы не можете изменить размер файла, не сделав все подсчеты неправильными. Независимо от того, что вы замените этот URL, лучше иметь тот же размер. Если вы хотите потратить некоторое время на изучение формата файла, вы можете удалить его, а затем скорректировать соответствующие «подсчеты», но не догадываетесь, где они находятся. Или вы могли бы изучить другую PDF- команду, которая была бы безобидной и могла быть приведена к тому же размеру, что и любой URL.

Или вы можете найти редактор PDF, чтобы сделать магию для вас. Это звучит как самый легкий для меня.

0

Если у вас есть Acrobat Pro 9, попробуйте:

  1. Откройте файл PDF в AP9 и заблокируйте любые попытки сетевого доступа.

  2. Выберите Файл меню / Свойства / Вкладка «Безопасность» / введите «Метод безопасности» = [Без защиты] (если можете)

  3. Нажмите Расширенное меню / Обработка документов / Редактировать все Javascript.

  4. Проверьте URL-адрес в поле кода, затем, если он существует:

Удалите функции Javascript, но не теги XML.

В моем случае я удалил код между (и не включая):

/* * * * * * * * * * * принадлежит: Document-Actions: Document Open * * * * * * * * * * */

и следующий

//</ACRO_script>

Нажмите [OK], затем найдите внешние гиперссылки в документе и используйте инструмент ссылки на панели инструментов расширенного редактирования, чтобы выделить их, и клавишу Del, чтобы удалить их (текст ссылки останется).

Если это не правильно для вас, надо надеяться дать некоторые подсказки.

0

PDF-XChange Viewer и PDF-XChange Editor от программного обеспечения трекера могут добавлять и удалять ссылки в соответствующих бесплатных версиях (не ограничиваясь частным использованием). Просто нажмите «Инструменты» >> «Инструменты для ссылок» и в полях выделите области со встроенными ссылками. Конечно, это не вариант, чтобы отбрасывать сотни ссылок в огромных документах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .