Есть ли способ программно удалить все пустые страницы из файла PDF? - PullRequest
3 голосов
/ 14 июля 2010

В настоящее время купить книгу более практично, чем версию «мертвого дерева». Но PDF-файлы часто содержат пустые страницы, используемые печатным изданием. Обычно я вижу от 10 до 30 пустых страниц (или страниц с текстом «Эта страница намеренно оставлена ​​пустой») для каждой книги. Можно ли программно удалить эти пустые страницы? В настоящее время я вручную идентифицирую пустые страницы, а затем провожу их через это:

pdftops orig.pdf - | psselect "$range_of_non_blank_pages" | ps2pdf - new.pdf

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

Кроме того, даже после удаления большого количества страниц и уменьшения размера получаемого файла, после сжатия как исходного файла, так и новой версии (с использованием различных методов, найденных в Интернете), исходный файл обычно уменьшается на несколько сотен КБ Больше. Таким образом, похоже, что метод, который я использую для удаления пустых страниц, не создает оптимальный PDF. Я также пробовал различные графические программы и вижу те же результаты в этом отношении.

Ответы [ 2 ]

1 голос
/ 14 июля 2010

Частичный ответ: вам не нужно проходить через postscript (это, вероятно, причина, по которой вы получаете файл большего размера).Одна из возможностей -

pdftk orig.pdf cat "$range_of_non_blank_pages" output new.pdf

. Для идентификации пустых страниц вам понадобится инструмент, который не ограничивается выбором и сборкой страниц.Попробуйте использовать библиотеку для языка сценариев, например CAM :: PDF или PDF :: API2 в Perl.

0 голосов
/ 16 июля 2010

Я не знаю решения с открытым исходным кодом, которое может обнаруживать и удалять пустые страницы. Однако коммерческий PDF Enhancer от Apago может автоматически удалять пустые страницы - как векторные, так и отсканированные. Для сканирования он может удалить артефакты сканирования, такие как черные края, пробоины и шумы, прежде чем определять, является ли страница пустой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...