1

Я загрузил PDF-файл Linux Essentials с сайта LPIC, ссылка на который находится по адресу https://www.linuxcertification.co.za/sites/default/files/linux-esentials-manual.pdf.

Я сохранил файл PDF в своей системе и открыл его с помощью Foxit PDF Reader, а также Adobe Reader. Теперь при просмотре файла в Chrome в формате PDF красные поля не отображаются:

Однако когда я просматриваю его в Foxit и Adobe, появляются следующие поля:

Что вызывает эту проблему?

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

Я не могу полагаться на постоянное открытие файла в Chrome и хочу использовать Foxit или Adobe Reader для открытия файла. Любая помощь будет оценена.

1 ответ1

0

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

Лицензия на документ не позволяет распространять производные. Итак, вот скрипт, который использует HexaPDF для удаления границ из аннотаций ссылок:

require 'hexapdf'
doc = HexaPDF::Document.open(ARGV[0])
doc.pages.each {|page| page[:Annots]&.each {|a| a = doc.deref(a); a[:C] = nil; a[:Border] = [0, 0, 0]}}
doc.write(ARGV[0] + '.pdf', validate: false)

Вам нужно установить HexaPDF (gem install hexapdf , нужна работающая установка Ruby 2.4), сохранить этот скрипт в виде файла Ruby, например, remove_borders.rb а затем запустить его так:

ruby remove_borders.rb path/to/linux-essentials-manual.pdf

В результате получается файл с тем же именем, но с дополнительным вложенным .pdf файлом, с удаленными границами аннотаций ссылок.

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