Разбить pdf документ по его внутренней ссылке в Python - PullRequest
0 голосов
/ 09 мая 2019

Мне нужно разделить файл PDF с именем maintoc.pdf.Этот файл является большой таблицей содержимого для других документов, поэтому мне нужно извлечь каждый ToC внутри этого документа и поместить каждый в отдельный файл.Файл maintoc.pdf имеет индекс закладок с внутренней ссылкой.Но я не могу понять страницу, где эта ссылка указывает, чтобы разделить мой файл.

Я использую Python 3 и PyMuPDF 1.14.12 для обнаружения моего файла.В частности, метод getToC для таблицы содержания get maintoc.pdf.

mtoc_file = "maintoc.pdf"
x=fitz.open(mtoc_file)
mtoc = x.getToC(False)
mtoc_link = []
for t in mtoc:
    if 'file' in t[3] and mtoc_file in t[3]['file']:
        print(t)
        mtoc_link.append(t[3]['file'])

Каждый элемент t выглядит следующим образом:

[1, 'bookmark name', -1, {'kind': 3, 'xref': 0, 'file': 'maintoc.pdf', 
'page': 0, 'to': Point(0.0, 0.0), 'zoom': 0.0}]

[2, 'bookmark name', -1, {'kind': 3, 'xref': 0, 'file': 
'maintoc.pdf#fa39a4d0-6c77-42c7-b406-4dc6031d653d'}]

[2, 'bookmark name', -1, {'kind': 3, 'xref': 0, 'file': 
'maintoc.pdf#412f2749-590c-47ff-bb3a-6b481c55c54e'}]

[3, 'bookmark name', -1, {'kind': 3, 'xref': 0, 
'file': 'maintoc.pdf#c273d2cd-8867-4318-95cb-563f1645b89b'}]

//and so on for all bookmarks ...

Что мне нужно сделатьэто выяснить, какой номер страницы maintoc.pdf связан по следующим ссылкам:

maintoc.pdf#fa39a4d0-6c77-42c7-b406-4dc6031d653d //page?
maintoc.pdf#412f2749-590c-47ff-bb3a-6b481c55c54e //page?
maintoc.pdf#c273d2cd-8867-4318-95cb-563f1645b89b //page?

Есть идеи?

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