使用 Amazon Textract 分析 PDF 的特定页面
Analyzing a Specific Page of a PDF with Amazon Textract
我正在使用 Amazon Textract 从 PDF 文件中提取文本。对于其中一些文档,我希望能够指定要从中提取数据的页面,而不必遍历整个页面。这可能吗?如果是这样,我该怎么做?我似乎无法在文档中找到答案。
我认为 Textract 不提供此功能,但您可以轻松地以编程方式实现它。由于您的标签提到了 python,我将建议一种使用 python 来执行此操作的方法。
您可以使用像 PyPDF2 这样的库,它允许您指定要提取的页面并创建仅包含这些页面的新 pdf。
from PyPDF2 import PdfFileReader, PdfFileWriter
pdf_file_path = 'Unknown.pdf'
file_base_name = pdf_file_path.replace('.pdf', '')
pdf = PdfFileReader(pdf_file_path)
pages = [0, 2, 4] # page 1, 3, 5
pdfWriter = PdfFileWriter()
for page_num in pages:
pdfWriter.addPage(pdf.getPage(page_num))
with open('{0}_subset.pdf'.format(file_base_name), 'wb') as f:
pdfWriter.write(f)
f.close()
这个库可以作为一个层与 AWS Lambda 一起使用。您可以将文件暂时保存在 lambda 上的 /tmp/ 文件夹中。
来源:https://learndataanalysis.org/how-to-extract-pdf-pages-and-save-as-a-separate-pdf-file-using-python/
我正在使用 Amazon Textract 从 PDF 文件中提取文本。对于其中一些文档,我希望能够指定要从中提取数据的页面,而不必遍历整个页面。这可能吗?如果是这样,我该怎么做?我似乎无法在文档中找到答案。
我认为 Textract 不提供此功能,但您可以轻松地以编程方式实现它。由于您的标签提到了 python,我将建议一种使用 python 来执行此操作的方法。 您可以使用像 PyPDF2 这样的库,它允许您指定要提取的页面并创建仅包含这些页面的新 pdf。
from PyPDF2 import PdfFileReader, PdfFileWriter
pdf_file_path = 'Unknown.pdf'
file_base_name = pdf_file_path.replace('.pdf', '')
pdf = PdfFileReader(pdf_file_path)
pages = [0, 2, 4] # page 1, 3, 5
pdfWriter = PdfFileWriter()
for page_num in pages:
pdfWriter.addPage(pdf.getPage(page_num))
with open('{0}_subset.pdf'.format(file_base_name), 'wb') as f:
pdfWriter.write(f)
f.close()
这个库可以作为一个层与 AWS Lambda 一起使用。您可以将文件暂时保存在 lambda 上的 /tmp/ 文件夹中。
来源:https://learndataanalysis.org/how-to-extract-pdf-pages-and-save-as-a-separate-pdf-file-using-python/