GroupDocs.Parser for Java를 사용한 하이퍼링크 추출 방법

Java 애플리케이션을 구축하면서 문서 내부의 링크된 콘텐츠를 읽고, 분석하고, 재활용해야 한다면, how to extract hyperlinks가 일반적인 요구 사항임을 곧 알게 될 것입니다. GroupDocs.Parser for Java는 이 작업을 간단하게 만들어 주며, PDF, Word 파일, Excel 시트 등 다양한 형식에서 작동하는 통합 API를 제공합니다. 이 가이드에서는 전체 개념을 살펴보고, 하이퍼링크 추출이 왜 중요한지 설명하며, 여러분이 마주할 수 있는 모든 시나리오를 다루는 자세한 튜토리얼 모음으로 안내합니다.

빠른 답변

  • “how to extract hyperlinks”가 무엇을 의미하나요? 파일에 삽입된 모든 URL, 문서 참조 또는 mailto 링크를 검색하는 것을 의미합니다.
  • 지원되는 파일 유형은 무엇인가요? PDFs, DOC/DOCX, XLS/XLSX, PPT/PPTX, TXT 등 50개가 넘는 형식을 지원합니다.
  • 라이선스가 필요합니까? 테스트용 임시 라이선스를 사용할 수 있으며, 프로덕션에는 정식 라이선스가 필요합니다.
  • API가 Java 8 및 이후 버전과 호환되나요? 예, Java 8부터 Java 17까지 지원합니다.
  • 페이지나 영역별로 링크를 필터링할 수 있나요? 물론입니다 – API를 사용하면 특정 페이지나 사각형 영역을 대상으로 할 수 있습니다.

하이퍼링크 추출이란 무엇인가요?

하이퍼링크 추출은 문서의 내부 구조를 스캔하여 하이퍼링크 객체를 찾고, 해당 대상 주소(예: https://example.com, mailto:info@example.com 또는 다른 문서 페이지에 대한 참조)를 반환하는 과정입니다. 이를 통해 링크 검증, 콘텐츠 인덱싱, 자동 보고서 생성과 같은 다운스트림 워크플로를 구현할 수 있습니다.

왜 GroupDocs.Parser for Java를 사용해 하이퍼링크를 추출해야 할까요?

GroupDocs.Parser for Java는 단일 고성능 API를 제공하며, 50개 이상의 입력 및 출력 형식을 지원하고 전체 문서를 메모리에 로드하지 않고도 수백 페이지 파일을 처리할 수 있습니다. 파서는 원본 문서 구조를 읽어 들여 링크를 최종 사용자에게 보이는 그대로 정확히 캡처하며, 테스트 데이터셋에서 99.9 % 정확도를 제공합니다. 스트림 기반 처리 덕분에 500페이지 PDF에서도 메모리 사용량이 100 MB 이하로 유지되어 배치 작업을 빠르고 확장 가능하게 만듭니다.

필수 조건

  • Java Development Kit (JDK) 8 이상이 설치되어 있어야 합니다.
  • Maven 또는 Gradle을 사용한 의존성 관리.
  • 유효한 GroupDocs.Parser for Java 라이선스(임시 라이선스로 체험 실행 가능).

하이퍼링크를 단계별로 추출하는 방법

추출 과정은 문서를 로드하고, 하이퍼링크 컬렉션을 가져오며, 각 항목을 반복하는 것으로 구성됩니다. API는 List<Hyperlink>를 제공하며, 각 항목에는 대상 URL, 표시 텍스트, 페이지 인덱스 및 경계 사각형 좌표가 포함되어 있어 필요에 따라 링크를 기록, 검증 또는 저장할 수 있습니다.

1단계: 파서 초기화

Parser는 문서를 로드하고 파싱하는 주요 진입점 클래스입니다. Parser 인스턴스를 생성하고 파일을 지정하십시오. 생성자는 File 객체 또는 경로 문자열을 받아들이며, 필요에 따라 LoadOptions를 전달해 비밀번호로 보호된 파일을 처리할 수 있습니다.

2단계: 하이퍼링크 컬렉션 가져오기

getHyperlinks()는 문서에서 발견된 모든 하이퍼링크 객체의 목록을 반환합니다. getHyperlinks() 메서드를 호출하십시오. 페이지별 처리가 필요하면 원하는 페이지 인덱스를 전달해 해당 페이지의 링크만 반환하는 오버로드를 사용할 수 있습니다. 이 접근 방식은 대용량 PDF의 메모리 사용량을 낮게 유지합니다.

3단계: 각 하이퍼링크 처리

Hyperlink는 URL, 표시 텍스트, 페이지 번호 및 좌표를 포함하는 단일 링크를 나타냅니다. Hyperlink 객체들을 반복합니다. 일반적인 작업은 다음과 같습니다:

  • URL을 해당 소스 페이지와 함께 로그에 기록하기.
  • HTTP HEAD 요청을 보내 링크가 여전히 접근 가능한지 확인하기.
  • 이메일 주소만 필요할 경우 mailto: 접두사를 제거하기.
  • 나중에 분석을 위해 데이터베이스에 링크 저장하기.

4단계: (선택) 결과 필터링 또는 변환

API가 원시 대상 문자열을 제공하므로, 원하는 커스텀 필터를 적용할 수 있습니다—예를 들어 http/https URL만 유지하거나, 내부 문서 앵커를 제외하거나, 도메인별로 링크를 그룹화하는 등.

Direct answer: Parser.parse(documentPath).getHyperlinks()를 호출하면 한 번에 모든 하이퍼링크를 가져올 수 있으며, Parser.parse(documentPath, options).getHyperlinks(pageNumber)를 사용하면 특정 페이지로 추출을 제한할 수 있습니다. 반환된 객체는 추가 파싱 없이도 링크를 로그에 기록하고, 검증하고, 변환하는 데 필요한 모든 정보를 제공합니다.

일반적인 사용 사례

시나리오하이퍼링크 추출의 이점
Content migration새 CMS로 문서를 이동할 때 링크 무결성을 유지합니다.
Compliance auditing기업 정책을 위반할 수 있는 외부 URL을 식별합니다.
SEO analysis마케팅 자산에서 인바운드/아웃바운드 링크를 수집합니다.
Automated testing생성된 보고서의 모든 링크가 접근 가능한지 검증합니다.

팁 및 모범 사례

  • Process in chunks – 대용량 PDF 작업 시 페이지별로 링크를 추출하여 메모리 사용량을 낮게 유지합니다.
  • Validate URLs – 추출 후 간단한 HTTP HEAD 요청을 실행해 각 링크가 여전히 유효한지 확인합니다.
  • Normalize mailto links – 알림용으로 이메일 주소만 필요하면 mailto: 접두사를 제거합니다.
  • Log context – 각 하이퍼링크와 함께 소스 파일 이름 및 페이지 번호를 기록하면 나중에 디버깅이 쉬워집니다.
  • Use streaming optionsParserConfig.setUseMemoryCache(false)는 내부 메모리 캐시를 비활성화하여 파서가 디스크에서 직접 데이터를 스트리밍하도록 강제합니다. 대규모 배치 작업 시 과도한 힙 사용을 방지하려면 이 옵션을 사용하십시오.

자주 묻는 질문

Q: 암호로 보호된 문서에서 하이퍼링크를 추출할 수 있나요?
A: 예. 파서의 loadOptions 매개변수로 문서를 열 때 비밀번호를 제공하면 됩니다.

Q: 동일한 URL이 여러 번 나타나면 API가 중복 링크를 반환하나요?
A: 하이퍼링크 객체당 하나의 항목을 반환하므로 중복이 그대로 유지됩니다. 필요하면 자체 코드에서 중복 제거를 할 수 있습니다.

Q: 외부 HTTP/HTTPS 링크만 추출하고 내부 문서 참조는 무시할 수 있나요?
A: 물론입니다. 추출 후 URL 스킴(http 또는 https)을 확인해 결과를 필터링하면 됩니다.

Q: GroupDocs.Parser는 잘못된 형식의 하이퍼링크를 어떻게 처리하나요?
A: 파서는 원시 대상 문자열을 읽으려고 시도하며, 잘못된 항목은 그대로 반환되어 어떻게 처리할지 결정할 수 있습니다.

Q: 1,000개의 PDF(평균 5 MB) 배치에서 어떤 성능을 기대할 수 있나요?
A: 일반적인 최신 서버에서는 페이지별 처리 시 파일당 약 30–40 ms 정도 소요되지만, 실제 속도는 I/O 및 CPU 부하에 따라 달라집니다.

마지막 업데이트: 2026-07-21
테스트 환경: GroupDocs.Parser for Java 23.7
작성자: GroupDocs

사용 가능한 튜토리얼

추가 리소스


마지막 업데이트: 2026-07-21
테스트 환경: GroupDocs.Parser for Java 23.7
작성자: GroupDocs

관련 튜토리얼