PDF 파일은 일반적으로 텍스트, 이미지, 제목, 주석 및 기타 요소로 구성됩니다. 그리고 이 형식은 플랫폼(데스크톱/모바일 등)에서 문서 레이아웃을 유지하므로 인터넷을 통해 정보를 공유하는 데 널리 사용됩니다. 그러나 추가 처리를 위해 PDF 문서의 텍스트 콘텐츠를 추출해야 할 수도 있습니다. 따라서 이 기사에서는 Java Cloud SDK를 사용하여 PDF에서 텍스트를 추출하는 방법에 대해 자세히 설명합니다. 작업이 완료되면 출력이 TXT 형식으로 저장됩니다.
PDF에서 TXT로 변환 API
Aspose.PDF Java용 클라우드 SDK는 PDF를 JPG, XPS, HTML, DOCX 및 기타 지원되는 형식으로 생성, 편집 및 변환하는 기능을 제공하는 수상 경력에 빛나는 REST API 솔루션입니다. 이제 Java 응용 프로그램에서 pdf 텍스트 인식 기능을 구현하려면 maven 빌드 유형 프로젝트의 pom.xml에 다음 세부 정보를 추가하십시오.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>http://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf-cloud</artifactId>
<version>21.11.0</version>
</dependency>
</dependencies>
SDK 설치 후 다음으로 중요한 단계는 Aspose Cloud를 통해 무료 계정을 생성하는 것입니다. 따라서 새로 생성된 계정으로 로그인하여 클라우드 대시보드에서 Client ID와 Client Secret을 조회/생성하시기 바랍니다. 이러한 세부 정보는 후속 섹션에서 필요합니다.
자바에서 PDF를 텍스트로
Java Cloud SDK를 사용하여 PDF를 텍스트로 변환하려면 아래 단계를 따르십시오. 따라서 성공적인 변환 후 결과 TXT 파일은 클라우드 저장소에 저장됩니다.
- 먼저 ClientID와 Client secret을 인수로 제공하면서 PdfApi 객체를 생성해야 합니다.
- 둘째, File 인스턴스를 사용하여 입력 PDF 파일을 로드합니다.
- uploadFile(…) 메서드를 사용하여 입력 PDF를 클라우드 스토리지에 업로드합니다.
- 텍스트 추출을 위한 PDF의 페이지 번호를 지정하는 Integer 변수와 텍스트 콘텐츠를 추출해야 하는 페이지의 직사각형 영역을 나타내는 Double 인스턴스를 만듭니다.
- 마지막으로 getPageText(…) 메서드를 호출하여 입력 PDF에서 텍스트 콘텐츠를 가져옵니다.
try
{
// https://dashboard.aspose.cloud/에서 ClientID 및 ClientSecret 가져오기
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// PdfApi 인스턴스 생성
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// 입력 PDF 문서의 이름
String inputFile = "marketing.pdf";
// 입력된 PDF 파일의 내용 읽기
File file = new File("//Users//"+inputFile);
// 클라우드 스토리지에 PDF 업로드
pdfApi.uploadFile("input.pdf", file, null);
// 변환을 위한 PDF의 특정 페이지
int pageNumber =1;
// 아래쪽 - 왼쪽 모서리의 X 좌표
Double LLX = 0.0;
// Y - 왼쪽 하단 모서리의 좌표입니다.
Double LLY = 0.0;
// X - 오른쪽 위 모서리의 좌표입니다.
Double URX = 800.0;
// Y - 오른쪽 위 모서리의 좌표입니다.
Double URY = 800.0;
// PDF를 텍스트로 변환하는 API 호출
TextRectsResponse response = pdfApi.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");
// 결과 TXT 파일 인스턴스
FileWriter myWriter = new FileWriter("filename.txt");
// 이제 개별 Text Occurance를 통과하여 콘솔에서 인쇄 결과를 얻습니다.
for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
{
// 텍스트 내용을 TXT 파일에 쓰기
myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
}
// TXT 처리기 닫기
myWriter.close();
System.out.println("Text successfully extracted from PDF !");
}catch(Exception ex)
{
System.out.println(ex);
}
위 예제에서 사용한 샘플 PDF 파일은 marketing.pdf 및 extracted.txt에서 다운로드할 수 있습니다.
cURL 명령을 사용하여 PDF에서 텍스트 추출
REST API는 cURL 명령을 통해 쉽게 액세스할 수 있으므로 이 섹션에서는 cURL 명령을 사용하여 PDF에서 텍스트 콘텐츠를 추출하는 방법에 대한 옵션을 살펴보겠습니다. 따라서 전제 조건으로 다음 명령을 실행하는 동안 먼저 JWT 액세스 토큰(클라이언트 자격 증명 기반)을 생성해야 합니다.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
JWT 토큰이 있으면 다음 명령을 실행하여 PDF 문서 내에서 발생하는 모든 텍스트를 추출해야 합니다.
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
결론
이 기사에서는 Java Cloud SDK를 사용하여 PDF를 TXT로 변환하는 방법에 대해 자세히 설명했습니다. 동시에 cURL 명령을 사용하여 PDF에서 텍스트를 추출하는 옵션도 탐색했습니다. 따라서 여러 PDF 페이지 사이를 유연하게 이동할 수 있으므로 콘텐츠를 추출할 위치를 제어할 수 있습니다. Java Cloud API에서 제공하는 다른 흥미로운 기능에 대해 자세히 알아보려면 문서 제품을 살펴보는 것이 좋습니다. 또한 모든 Cloud SDK는 MIT 라이선스로 게시되므로 GitHub에서 전체 소스 코드를 다운로드하고 요구 사항에 따라 수정할 수 있습니다. 문제가 있는 경우 무료 제품 지원 포럼을 통해 빠른 해결을 위해 당사에 연락하는 것을 고려할 수 있습니다.
관련 기사
자세한 내용은 다음 링크를 참조하십시오.