#python #pdf #pdfminer
Вопрос:
Я хочу получить данные первой страницы из файла pdffile.
Я использовал pdfminer и получил все данные pdffile в выводе, но я хочу получить только данные первой страницы pdffile. что мне делать?
Мой код приведен ниже.
from pdfminer.high_level import extract_pages
from pdfminer.layout import LTTextContainer, LTChar,LTLine,LAParams
import os
path=r'/home/user/Desktop/abc.pdf'
Extract_Data=[]
for page_layout in extract_pages(path):
print(page_layout)
for element in page_layout:
if isinstance(element, LTTextContainer):
for text_line in element:
for character in text_line:
if isinstance(character, LTChar):
Font_size=character.size
Extract_Data.append([Font_size,(element.get_text())])
Моя проблема, я думаю, в page_layout.
как получить только данные первой страницы??
Ответ №1:
extract_pages
имеет необязательный аргумент, который может это сделать:
def extract_pages(pdf_file, password='', page_numbers=None, maxpages=0,
caching=True, laparams=None):
"""Extract and yield LTPage objects
:param pdf_file: Either a file path or a file-like object for the PDF file
to be worked on.
:param password: For encrypted PDFs, the password to decrypt.
:param page_numbers: List of zero-indexed page numbers to extract.
:param maxpages: The maximum number of pages to parse
Поэтому extract_pages(path, page_numbers=[0], maxpages=1)[0]
следует возвращать только данные первой страницы, если я правильно понимаю.
Комментарии:
1. Спасибо, что это работает, но в моем случае это так, extract_pages(путь, номера страниц=[0], maxpages=1). Спасибо, это решило мою проблему.