2016-11-08 2 views
0

У меня есть огромные технические pdf-книги, и я хотел бы разбить их таким образом, чтобы помочь мне находить и читать именно те части, которые я хочу из каждой книги. Я говорю об индексированных pdf-файлах с содержимым (части и главы). Я придумал следующую схему расщепления, основанную на содержании pdf:Чтение содержимого pdf pdf и разбиение файла PDF соответственно

1. Прочитайте содержание книги. 2. Создайте корневую папку для всей книги 3. Создайте одну подпапку для каждой части книги 4. Разделите книгу в одном файле pdf на главу и поместите pdf-файлы (главы) в соответствующую подпапку (часть) ,

Как это можно сделать с использованием библиотеки PDF на языке Java или Python?

+0

Написав некоторый код. :) Вы также можете искать библиотеки, которые уже разбирают PDF-файлы и электронные книги. –

+0

Ну, это совершенно очевидно :) Моя главная проблема - найти библиотеку, которая извлекает метаданные pdf, точно содержание содержащейся в ней книги! – Christos14

+0

Я это знаю. Вот почему я попросил ** библиотеку ** использовать, а не для кода. Если есть подходящая библиотека, ** я ** буду использовать ее для самостоятельного кодирования **. – Christos14

ответ

0

Вы можете использовать PyPDF2 для чтения и разбиения файлов PDF.

Вот как вы можете экспортировать PDF страницы:

import PyPDF2 

def export_pdf_pages(input_pdf_path, page_first, page_last, output_pdf_path): 
    with open(input_pdf_path, "rb") as input_stream: 
     input_pdf = PyPDF2.PdfFileReader(input_stream) 
     output = PyPDF2.PdfFileWriter() 
     for index in xrange(page_first - 1, page_last): 
      try: 
       page = input_pdf.getPage(index) 
      except IndexError: 
       fmt = 'Missing page {page_num} in "{input_pdf_path}"' 
       msg = fmt.format(page_num=index + 1, input_pdf_path=input_pdf_path) 
       raise IndexError(msg) 
      output.addPage(page) 
     with open(output_pdf_path, "wb") as output_stream: 
      output.write(output_stream) 
+0

Спасибо за ваш отзыв Laurent. На самом деле я знаю, как использовать PyPDF2 для таких задач. Мой вопрос был в том, что есть библиотека, способная читать метаданные (содержимое) книги, чтобы получить информацию о частях и главах, которые мне нужны. Насколько я знаю, вы не можете сделать это с PyPdf2. Поправьте меня если я ошибаюсь! – Christos14

Смежные вопросы