Apache PDFBox 라이브러리는 PDF 문서 작업을 위한 오픈 소스 Java 도구입니다. 이 프로젝트를 통해 새로운 PDF 문서를 생성하고, 기존 문서를 조작하고, 문서에서 콘텐츠를 추출하는 기능을 사용할 수 있습니다. PDFBox에는 여러 명령줄 유틸리티도 포함되어 있습니다. PDFBox는 Apache 라이센스 버전 2.0에 따라 게시됩니다.
PDFBox는 Apache Software Foundation의 프로젝트입니다.
다운로드 페이지에서 현재 개발 중인 릴리스나 이전 릴리스의 바이너리 버전을 다운로드할 수 있습니다.
PDFBox를 빌드하려면 Java 11(또는 그 이상) 및 Maven 3이 필요합니다. 권장되는 빌드 명령은 다음과 같습니다.
mvn clean install
기본 빌드는 Java 소스를 컴파일하고 바이너리 클래스를 jar 패키지로 패키징합니다. 사용 가능한 다른 모든 빌드 옵션은 Maven 문서를 참조하세요.
PDFBox를 개선하는 데 도움이 되는 다양한 방법이 있습니다.
지원 페이지의 지침을 따르십시오.
PDFBox 사용 방법에 대해 질문이 있는 경우 사용자 메일링 리스트에 문의하세요. 그러면 전체 커뮤니티로부터 도움을 받을 수 있습니다.
PDFBox 예제와 소스의 테스트 코드도 추가 정보를 제공합니다.
그리고 Stack Overflow와 같은 사이트에서 사용할 수 있는 추가 리소스가 있습니다.
버그를 발견한 것이 확실하다면 이슈 트래커에 문제를 보고해 주세요.
알려진 문제와 요청된 기능의 전체 목록을 보려면 문제 추적기를 참조하세요. 보다 일반적인 문제 중 일부는 다음과 같습니다.
텍스트를 추출할 때 예상한 것과 달리 "G38G43G36G51G5"와 같은 텍스트가 표시됩니다. 이는 문자가 PDF 문서에 포함된 문자 모양을 가리키는 의미 없는 내부 인코딩이기 때문입니다. 텍스트에 접근하는 유일한 방법은 OCR을 사용하는 것입니다. 이는 향후 개선될 수 있습니다.
java.io.IOException: Can't handle font width
와 같은 오류 메시지가 표시됩니다. 이는 클래스 경로에 org/apache/pdfbox/resources 디렉토리가 없기 때문일 수 있습니다. 가장 쉬운 해결책은 클래스 경로에 apache-pdfbox-xxxjar를 포함시키는 것입니다.
올바른 문자가 포함되어 있지만 순서가 잘못된 텍스트가 표시됩니다. 이는 정렬을 활성화하지 않았기 때문일 수 있습니다. PDF 파일의 텍스트는 청크로 저장되므로 페이지에 표시되는 순서대로 청크를 저장할 필요는 없습니다. 기본적으로 PDFBox는 텍스트를 정렬하지 않습니다.
공동 저작물: 저작권 2015 The Apache Software Foundation.
하나 이상의 기여자 라이센스 계약에 따라 Apache Software Foundation(ASF)에 라이센스가 부여됩니다. 저작권 소유권에 관한 추가 정보는 이 저작물과 함께 배포된 NOTICE 파일을 참조하세요. ASF는 Apache 라이센스 버전 2.0("라이센스")에 따라 귀하에게 이 파일에 대한 라이센스를 부여합니다. 라이센스를 준수하는 경우를 제외하고는 이 파일을 사용할 수 없습니다. 다음에서 라이센스 사본을 얻을 수 있습니다.
https://www.apache.org/licenses/LICENSE-2.0
해당 법률에서 요구하거나 서면으로 동의하지 않는 한, 라이선스에 따라 배포되는 소프트웨어는 명시적이든 묵시적이든 어떠한 종류의 보증이나 조건 없이 "있는 그대로" 배포됩니다. 라이선스에 따른 허가 및 제한 사항을 관리하는 특정 언어는 라이선스를 참조하세요.
이 배포판에는 암호화 소프트웨어가 포함되어 있습니다. 귀하가 현재 거주하고 있는 국가에서는 암호화 소프트웨어를 다른 국가로 수입, 소유, 사용 및/또는 재수출하는 데 제한이 있을 수 있습니다. 암호화 소프트웨어를 사용하기 전에 암호화 소프트웨어의 수입, 소유, 사용 및 재수출에 관한 해당 국가의 법률, 규정 및 정책을 확인하여 이것이 허용되는지 확인하십시오. 자세한 내용은 https://www.wassenaar.org/를 참조하세요.
미국 정부 상무부, 산업안보국(BIS)은 이 소프트웨어를 수출상품통제번호(ECCN) 5D002.C.1로 분류했습니다. 여기에는 비대칭 알고리즘을 사용하거나 암호화 기능을 수행하는 정보 보안 소프트웨어가 포함됩니다. 이 Apache Software Foundation 배포판의 형식과 방식으로 인해 개체 코드와 소스 코드 모두에 대해 라이선스 예외 ENC TSU(Technology Software Unrestricted) 예외(BIS 수출 관리 규정, 섹션 740.13 참조)에 따라 수출할 수 있습니다.
다음은 포함된 암호화 소프트웨어에 대한 자세한 내용을 제공합니다.
Apache PDFBox는 PDF 문서의 암호화를 처리하기 위해 JCA(Java Cryptography Architecture) 및 Bouncy Castle 라이브러리를 사용합니다.