Найти, удалить и добавить текст в файл PDF в Python

У меня есть файл в формате pdf, в нем необходимо удалить определенный текст. Затем добавьте новый текст ниже к существующему. Я пытаюсь использовать файл PyMuPDF library - fitz. Открываю файл, задаю текст для поиска, а как его удалить и добавить новый текст я не нашел. Помогите, пожалуйста, как удалить найденный текст и добавить к существующему. Использование библиотек не важно, мы можем использовать PyPDF2 и другие. Образец PDF-файла с описанием прилагается.

import fitz
  
doc = fitz.open(MyFilePath)
page = doc[0]
  
text1 = “ANA”
text_instances1 = page.searchFor(text1)
  
# found text should be deleted …
  
text_to_add = “Text”
text2 = “TAIL NO.”
text_instances2 = page.searchFor(text2)
  
# should be added "text_to_add" after found text "text2"
  
doc.save(OutputFilePath, garbage=4, deflate=True, clean=True)

Изображение


person a_shvechkov    schedule 08.07.2020    source источник
comment
проблема решена?   -  person AzyCrw4282    schedule 09.07.2020


Ответы (1)


Библиотека официально не поддерживает adding/deleting текст pdf-документа. Однако из записанной проблемы есть обходной путь. Вы можете увидеть ответ здесь от автора библиотеки о том, как вы можете обойти это, используя метод Text Modification.

Меня также беспокоит то, что документация для библиотеки кажется недоступной. Не уверен, что это постоянный случай, но если это так, вам следует рассмотреть возможность использования другой библиотеки. Вы должны увидеть ответы здесь в лучшей альтернативной библиотеке - Добавить текст в существующий PDF-файл, используя Питон

person AzyCrw4282    schedule 08.07.2020
comment
Имейте в виду, что этот обходной путь явно предназначен только для текста, закодированного в ASCII или латинице. Если вы в конечном итоге получите произвольные входные документы, вы не можете рассчитывать на это, даже если в тексте использовались только символы из диапазона ASCII. - person mkl; 09.07.2020