Я использую python редактор PDF, и он отлично работает: https://github.com/JoshData/pdf-redactor
Синтаксис для маскирования содержимого, как указано в github, выглядит следующим образом, где регулярное выражение это шаблон для поиска, а X в лямбда-выражении - это строка для замены найденных шаблонов на:
options.content_filters = [
(
re.compile(r"5555-(\d{3})-(\d{3})-(\d{6})"),
lambda m : "XXXX-XXX-XXX-XXXXXX"
)
]
Но что если я захочу найти выражение, соответствующее этому, и замаскировать только все, кроме последнего четыре символа, что-то вроде этого:
options.content_filters = [
(
re.compile(r"5555-(\d{3})-(\d{3})-(\d{6})"),
lambda m : "XXXX-XXX-XXX-XXRRRR"
)
]
Где 'R' будет означать сохранить первоначальный символ. В github я не могу найти никакой документации о том, как это сделать, или использовать некоторые встроенные функции regex / lamda.