Zerox: PDF, DOCX, 마크다운으로 이미지 변환, 시각적 모델 고정밀 OCR
일반 소개
Zerox는 시각적 모델을 통해 PDF, DOCX, 이미지 및 기타 문서를 마크다운 형식으로 변환하도록 설계된 오픈 소스 프로젝트입니다. 이 프로젝트는 getomni-ai 팀이 개발하여 간단하고 효율적인 OCR(광학 문자 인식) 솔루션을 제공합니다. zerox는 노드와 파이썬 두 가지 프로그래밍 언어, PDF에서 이미지 처리를 위한 그래픽 매직과 고스트 스크립트 사용을 지원합니다. 사용자는 표와 차트 등 복잡한 레이아웃의 다양한 문서에 대해 파일 경로와 OpenAI API 키를 제공하여 문서를 마크다운 형식으로 빠르게 변환할 수 있습니다.

기능 목록
- PDF, DOCX, 이미지 및 기타 파일 형식 변환 지원
- Node 및 Python 프로그래밍 언어를 모두 지원합니다.
- 시각적 모델을 사용한 효율적인 OCR 처리
- PDF-이미지 처리를 위한 그래픽 매직과 고스트스크립트를 자동으로 설치합니다.
- 파일 경로와 URL 입력 모두 지원
- 동시성 처리, 페이지 방향 수정, 오류 처리 모드 등 다양한 옵션 매개변수를 제공합니다.
- 전처리 및 후처리 콜백 함수 지원
- 변환 결과를 지정된 디렉터리에 저장하는 옵션
도움말 사용
설치 프로세스
노드 버전
- Node.js 및 npm 설치하기
- 명령 실행
npm install zerox
- 그래픽스매직과 고스트스크립트가 시스템에 설치되어 있는지 확인하고 설치되어 있지 않은 경우 다음 명령을 실행합니다:
sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript
Python 버전
- Python 및 pip 설치
- 명령 실행
pip install zerox
- 그래픽스매직과 고스트스크립트가 시스템에 설치되어 있는지 확인하고 설치되어 있지 않은 경우 다음 명령을 실행합니다:
sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript
사용법
노드 버전
- zerox 모듈을 가져옵니다:
import { zerox } from "zerox";
- 변환할 파일 경로를 사용합니다:
const result = await zerox({
filePath: "path/to/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});
- 전환에 URL을 사용합니다:
const result = await zerox({
filePath: "https://example.com/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});
Python 버전
- zerox 모듈을 가져옵니다:
from zerox import zerox
- 변환할 파일 경로를 사용합니다:
result = zerox(
file_path="path/to/file.pdf",
openai_api_key="your_openai_api_key"
)
- 전환에 URL을 사용합니다:
result = zerox(
file_path="https://example.com/file.pdf",
openai_api_key="your_openai_api_key"
)
주요 기능
- 파일 변환: 파일 경로 또는 URL을 제공하고, 변환할 제로엑스 함수를 호출하고, 마크다운 형식의 텍스트를 반환합니다.
- 동시 처리설정하여
concurrency
매개변수를 사용하여 동시에 처리되는 페이지 수를 제어하여 처리 효율을 개선할 수 있습니다. - 페이지 방향 보정페이지 방향 보정 기능은 변환된 텍스트의 올바른 방향을 보장하기 위해 기본적으로 활성화되어 있습니다.
- 오류 처리 모드선택적으로, 오류를 무시하거나 던질 수 있습니다.
errorMode
매개변수가 구성됩니다. - 전처리 및 후처리 콜백각 페이지가 처리되기 전과 후에 사용자 지정 작업을 수행할 수 있는 콜백 함수를 제공합니다.
- 결과 저장설정하여
outputDir
매개변수를 사용하여 변환 결과를 지정된 디렉터리에 저장합니다.
샘플 코드(컴퓨팅)
노드 버전
import { zerox } from "zerox";
const result = await zerox({
filePath: "path/to/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
cleanup: true,
concurrency: 10,
correctOrientation: true,
errorMode: "IGNORE",
maintainFormat: false,
maxRetries: 1,
maxTesseractWorkers: -1,
model: "gpt-4o-mini",
onPostProcess: async ({ page, progressSummary }) => Promise<void>,
onPreProcess: async ({ imagePath, pageNumber }) => Promise<void>,
outputDir: "output",
pagesToConvertAsImages: -1,
});
Python 버전
from zerox import zerox
result = zerox(
file_path="path/to/file.pdf",
openai_api_key="your_openai_api_key",
cleanup=True,
concurrency=10,
correct_orientation=True,
error_mode="IGNORE",
maintain_format=False,
max_retries=1,
max_tesseract_workers=-1,
model="gpt-4o-mini",
on_post_process=lambda page, progress_summary: None,
on_pre_process=lambda image_path, page_number: None,
output_dir="output",
pages_to_convert_as_images=-1,
)
당사는 다음을 사용합니다. libreoffice
노래로 응답 graphicsmagick
를 사용하여 문서를 이미지로 변환합니다. 이미지가 아닌 파일/PDF가 아닌 파일의 경우, Libreoffice를 사용하여 파일을 PDF로 변환한 다음 이미지로 변환합니다.
[ "pdf", // Portable Document Format "doc", // Microsoft Word 97-2003 "docx", // Microsoft Word 2007-2019 "odt", // OpenDocument Text "ott", // OpenDocument Text Template "rtf", // Rich Text Format "txt", // Plain Text "html", // HTML Document "htm", // HTML Document (alternative extension) "xml", // XML Document "wps", // Microsoft Works Word Processor "wpd", // WordPerfect Document "xls", // Microsoft Excel 97-2003 "xlsx", // Microsoft Excel 2007-2019 "ods", // OpenDocument Spreadsheet "ots", // OpenDocument Spreadsheet Template "csv", // Comma-Separated Values "tsv", // Tab-Separated Values "ppt", // Microsoft PowerPoint 97-2003 "pptx", // Microsoft PowerPoint 2007-2019 "odp", // OpenDocument Presentation "otp", // OpenDocument Presentation Template ];
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...