Попытка изменить и заменить цены (конфиденциальную информацию) в формате PDF пустой строкой. Использовал pdf_redactor и смог запустить его из командной строки, но происходит нечто странное.
Под ценами я подразумеваю следующие: 10,10, 4,60, 15982,00, 326,59 и т. Д.
Используемое регулярное выражение: u "[0-9] * (\,) [0-9] {2}"
То, что происходит, - четные числа, такие как 10, 500, 1521 и т. Д. Без десятичных точек, также не отображаются. Мне нужны эти числа без каких-либо десятичных знаков, поскольку они представляют заказанные количества, а также количества картонных коробок, которые являются важной информацией для хранения.
Что я подозреваю, так это то, что pdf действительно закодирован так, что даже целые числа, например 10, на самом деле 10.00?
Здесь вы можете получить pdf_redactor.
https://github.com/JoshData/pdf-redactor
Похоже, это лучшее / самое простое решение. Использовать прямоугольники, чтобы скрыть чувствительные части в pdf, для начинающего программиста, такого как я, сложнее. Не говоря уже о том, что PDF-файлы представлены на разных страницах, а таблицы расположены в разных местах в зависимости от размера заказа.
Я проверил свое регулярное выражение, и оно кажется правильным.
Сохраните этот код в файле скажем red.py.
Ниже приведен код, который является упрощенной версией из pit_redactor git hub:
из редактора импорта pdf_redactor
из pdf_redactor импортировать RedactorOptions
импорт re
#Set options.
redactor_options = RedactorOptions()
redactor_options.content_filters = [
(re.compile(u"Cost Price"), lambda m : ""), #just replaces "Cost price" found in the pdf with ""
(re.compile(u"Cost"), lambda m : ""), #just replaces "Cost" found in the pdf with ""
(re.compile(u"Value Price"),lambda m : ""), #just replaces "Value Price" found in the pdf with ""
(re.compile(u"[0-9]*(\.)[0-9]{2}"), lambda m : ""), #this where i input the regex and it searches for prices and replaces it with ""
]
redactor(redactor_options)
Затем я запускаю в командной строке:
python red.py bnew.pdf
В моем файле bnew.pdf «Себестоимость», «Сметная цена» и «Себестоимость» корректно отключены, как и ожидалось, но все цены ушли (что хорошо), но так же, как и количество в моей коробке и количество заказа которые являются целыми числами.
Телефонные номера не закрыты. «Тел .: 12 12345 1234» и почтовые индексы целых чисел также не закрываются.
Я также скопировал эти целые числа и просто вставил их в текстовый файл.
30 - это 30 в текстовом файле, а не как если бы они были скопированы как 30.00.
Так что я действительно нахожусь в тупике.
Если кто-то может мне помочь, по-настоящему это оценит.