Java에서 콘텐츠 스트림 연산자를 사용하는 방법

Java에서 콘텐츠 스트림 연산자를 사용하는 방법

이 가이드는 Aspose.PDF FOSS for Java에서 페이지 콘텐츠 스트림을 파싱하고 구축하는 방법을 보여줍니다. 원시 페이지 바이트를 읽고, ContentStreamParser으로 파싱하며, ContentStreamBuilder을 사용해 새로운 콘텐츠를 만드는 방법을 배우게 됩니다.

콘텐츠 스트림에 접근하기

각 Page은 Document 내에서 그래픽 콘텐츠를 콘텐츠 스트림에 보관합니다. 이 스트림은 텍스트 위치 지정, 그리기 명령 및 리소스 참조를 정의하는 PDF 연산자들의 시퀀스를 포함합니다. 페이지에서 원시 콘텐츠 스트림 바이트를 읽어보세요:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    byte[] contentBytes = page.getContents().toByteArray();
    System.out.println("Content stream size: " + contentBytes.length + " bytes");
}

ContentStreamParser으로 파싱하기

ContentStreamParser은(는) 콘텐츠 스트림을 토큰화하고 연산자 객체로 파싱하여 스트림 내 각 그리기 명령을 검사할 수 있게 합니다:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    byte[] contentBytes = page.getContents().toByteArray();
    ContentStreamParser parser = new ContentStreamParser(contentBytes);
    // Iterate over parsed operators
}

ContentStreamBuilder으로 구축하기

ContentStreamBuilder은(는) Page에 삽입하기 위한 새로운 콘텐츠 스트림을 생성합니다. 기존 스트림을 수정하는 대신 페이지 콘텐츠를 프로그래밍 방식으로 구성할 때는 ContentStreamBuilder를 사용하십시오. 스트림을 만든 후에는 페이지에 다시 할당하고 문서를 저장합니다.

연산자 참조

PDF 콘텐츠 스트림 연산자는 ISO 32000-1:2008, 표 A.1에 정의되어 있습니다. 일반적인 연산자는 다음과 같습니다:

  • 텍스트 연산자: BT, ET, Tf, Tj
  • 그래픽 상태 연산자: q, Q, cm
  • 경로 연산자: m, l, h, f, S

참조

 한국어