Удалить пробел из PDF документа

Я использую Camelot-py для чтения и извлечения атрибутов из нескольких PDF-файлов. Я использую table_areas для извлечения некоторых атрибутов, и я сталкиваюсь с трудностями при настройке правильных областей из-за отклонения координат X или Y между некоторыми формами. Некоторые формы (образец 1) имеют минимальные пробелы вверху, в то время как другие (образец 2) имеют больше пробелов. Это смещает Y-координаты примерно на 10-15

Образец 1

Образец 2

Есть ли способ обрезать или унифицировать их во время выполнения?

1 ответ

Я думаю, что решение заключается в использовании параметра table_regions, как указано в разделе Найти размеры PDF с помощью Camelot.

Узнайте больше о table_regions в: https://camelot-py.readthedocs.io/en/master/user/advanced.html

Для этой функции вы можете использовать pdfCropMargins, который обрезает поля файлов PDF. Он реализован как приложение командной строки, чтобы вызвать его из Python:

import subprocess

filename = "test.pdf"

cmd = f"pdf-crop-margins -v -s -u {filename}"

proc = subprocess.Popen(cmd.split())
proc.wait()

Из документации:

Эта команда печатает подробный вывод, заставляет все страницы иметь одинаковый размер (-s), а затем обрезает каждую страницу одинакового размера (-u) для единообразного внешнего вида, сохраняя значение по умолчанию 10% полей.

Другие вопросы по тегам