PDF 또는 특정 부분을 텍스트로 변환하는 무료 PHP API
PHP 애플리케이션 내에서 PDF 또는 PDF 파일의 특정 페이지에서 텍스트를 추출할 수 있게 하는 오픈 소스 PHP 라이브러리.
PDF-to-Text란 무엇인가요?
PDF는 금융 및 의료부터 교육 및 법률에 이르기까지 모든 산업에서 디지털 문서의 표준 형식입니다. 그러나 PDF에서 의미 있는 텍스트 콘텐츠를 추출하는 것은 소프트웨어 개발자에게 도전이 될 수 있습니다. 다행히도 Spatie의 PDF-to-Text 라이브러리는 PHP 개발자를 위해 이 작업을 간단하고 효율적으로 만들어 줍니다. 이 오픈 소스 도구는 poppler-utils 패키지의 강력한 pdftotext 바이너리를 감싸는 깔끔하고 가벼운 래퍼를 제공합니다. 라이브러리는 직관적인 인터페이스를 가지고 있어 개발자가 몇 줄의 코드만으로 텍스트를 추출할 수 있게 합니다. 다중 페이지 문서, 컬럼이 있는 PDF, 내장 폰트 및 이미지, 사전 OCR이 적용된 PDF 등 다양한 기능을 지원합니다.
Spatie PDF-to-Text는 소프트웨어 개발자가 PDF 파일에서 일반 텍스트를 추출할 수 있게 해주는 오픈 소스 PHP 라이브러리입니다. 이는 Poppler 스위트의 명령줄 유틸리티 pdftotext를 감싸는 PHP 래퍼 역할을 합니다. 즉, PDF를 파싱하기 위해 PHP 라이브러리에 의존하지 않고, 대신 성숙하고 검증된 바이너리 도구를 활용하여 빠르고 높은 정확도로 작동합니다. 라이브러리는 PHP로 작성되었지만, pdftotext 바이너리가 존재하는 한 Linux, macOS, Windows 등 다양한 운영 체제에서 원활하게 작동합니다. 불필요한 서드파티 라이브러리를 끌어들이지 않아 가볍고, 유지보수가 쉽고, 관련 없는 의존성 업데이트로 인한 파손 가능성이 적습니다.
PDF-to-Text 시작하기
PDF-to-Text를 실행하려면 먼저 PHP 버전 5.3 이상을 설치해야 합니다. PDF-to-Text를 설치하는 가장 쉬운 방법은 Composer를 이용하는 것입니다. 원활한 설치를 위해 다음 명령을 사용하십시오.
composer를 통해 PDF-to-Text 설치
composer require spatie/pdf-to-textGit 명령어로 PDF-to-Text 설치
git clone https://github.com/spatie/pdf-to-text.git
cd dompdf/libPHP API를 사용하여 PDF 파일에서 텍스트 추출
오픈 소스 Spatie PDF-to-Text 라이브러리는 설계상 최소화되어 있으며, 하나의 작업—PDF에서 텍스트 추출—에 집중하고 이를 잘 수행합니다. 그 단순함은 인보이스 스캐너, 학술 연구 도구, 법률 문서 처리기 또는 콘텐츠 마이그레이션 시스템과 같은 맞춤형 소프트웨어 솔루션에 매우 적합합니다. 다음 예제는 소프트웨어 개발자가 PDF 파일 경로만 설정하면 모든 텍스트 내용을 추출할 준비가 된다는 것을 보여줍니다. 필요에 따라 바이너리 경로를 사용자 지정할 수도 있습니다.
PHP API를 사용하여 PDF 파일에서 텍스트를 추출하는 방법?
use Spatie\PdfToText\Pdf;
$text = (new Pdf())
->setPdf('example.pdf')
->text();
echo $text;
$text = (new Pdf('/custom/path/to/pdftotext'))
->setPdf('report.pdf')
->text();
PHP를 통해 PDF의 특정 부분 추출
이 라이브러리는 다양한 옵션에 대한 지원을 제공함으로써 pdftotext 명령줄 도구의 강력함을 활용할 수 있게 합니다. 이는 텍스트 추출 과정을 특정 요구에 맞게 맞춤 설정할 수 있음을 의미합니다. 예를 들어, 원본 PDF의 레이아웃을 유지하거나 특정 페이지 범위를 지정하거나 출력 해상도를 설정하는 옵션을 사용할 수 있습니다. 다음 간단한 예제는 소프트웨어 개발자가 먼저 layout 및 r 옵션을 설정하고, 그 다음 f 옵션을 추가하여 PDF의 첫 페이지를 지정하는 방법을 보여줍니다.
PHP API를 통해 PDF 텍스트 추출 옵션을 설정하는 방법?
use Spatie\PdfToText\Pdf;
$text = (new Pdf())
->setPdf('table.pdf')
->setOptions(['layout', 'r 96'])
->addOptions(['f 1'])
->text();
echo $text;