PDFMinerToDocument
PDFMinerToDocument
PDFMiner 추출 툴의 인자를 사용해 복잡한 PDF 파일을 문서로 변환하는 컴포넌트예요.
출처: 문서
본문
| 항목 | 내용 |
|---|---|
| 파이프라인에서 가장 흔한 위치 | PreProcessors 앞, 또는 인덱싱 파이프라인의 맨 처음 |
| 필수 run 변수 | sources: PDF 파일 경로 또는 ByteStream 객체 |
| 출력 변수 | documents: 문서 목록 |
| API reference | Converters |
| GitHub 링크 | pdfminer.py |
| 패키지 이름 | haystack-ai |
개요
PDFMinerToDocument 컴포넌트는 PDFMiner 추출 툴의 인자를 사용해 PDF 파일을 문서로 변환해요.
인덱싱 파이프라인에서 사용해 PDF 파일의 내용을 Document Store에 인덱싱할 수 있어요. 입력으로 파일 경로나 ByteStream 객체 목록을 받아, 변환 결과를 문서 목록으로 출력하죠. 선택적으로 meta 입력 파라미터로 문서에 메타데이터를 붙일 수 있어요.
컴포넌트를 초기화할 때 PDF에 맞게 여러 파라미터를 조정할 수 있어요. 전체 파라미터 목록과 설명은 API reference에서 확인하세요.
사용법
먼저 이 컨버터를 사용하려면 pdfminer 패키지를 설치해야 해요:
pip install pdfminer.six
단독으로 사용하기
from haystack.components.converters import PDFMinerToDocument
converter = PDFMinerToDocument()
results = converter.run(
sources=["sample.pdf"],
meta={"date_added": datetime.now().isoformat()},
)
documents = results["documents"]
print(documents[0].content)
# 'This is a text from the PDF file.'
파이프라인에서 사용하기
from haystack import Pipeline
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack.components.converters import PDFMinerToDocument
from haystack.components.preprocessors import DocumentCleaner
from haystack.components.preprocessors import DocumentSplitter
from haystack.components.writers import DocumentWriter
document_store = InMemoryDocumentStore()
pipeline = Pipeline()
pipeline.add_component("converter", PDFMinerToDocument())
pipeline.add_component("cleaner", DocumentCleaner())
pipeline.add_component(
"splitter",
DocumentSplitter(split_by="sentence", split_length=5),
)
pipeline.add_component("writer", DocumentWriter(document_store=document_store))
pipeline.connect("converter", "cleaner")
pipeline.connect("cleaner", "splitter")
pipeline.connect("splitter", "writer")
pipeline.run({"converter": {"sources": file_names}})