Na verdade, você pode remover as bordas facilmente, porque elas não estão no que compõem as páginas em PDF. As bordas são, na verdade, parte das anotações de link que permitem navegar no documento. Então, para remover sua aparência, um apenas precisa ajustar os objetos PDF apropriados.
A licença do documento não permite que os derivados sejam distribuídos. Então, aqui está um script que usa o HexaPDF para remover as bordas das anotações do link:
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)
Você precisa instalar o HexaPDF ( gem install hexapdf
, precisa de uma instalação funcional do Ruby 2.4), salve esse script como um arquivo Ruby, por exemplo, remove_borders.rb
e, em seguida, execute-o assim:
ruby remove_borders.rb path/to/linux-essentials-manual.pdf
A saída é um arquivo com o mesmo nome, mas um .pdf
adicional anexado, com as bordas das anotações de link removidas.