2011-02-09 5 views
5

PDF로 저장된 이미지를 스트림으로 추출하려고합니다. 이렇게 쉽게 할 수는 있지만 정확한 이미지 회전 정보를 얻을 수는 없습니다. MediaBox, 회전 및 가로/세로 모드와 같은 특정 정보를 찾고 있습니다.PDF 이미지 회전 정보는 어디에 저장됩니까?

이미지를 추출 할 때 최종 사용자가 pdf 판독기 도구에서 보는 것과 일치하지 않습니다.

바이너리를 2 개의 PDF와 비교했을 때 (이미지가 90도 회전하고 동일한 이미지가 후자의 경우 270도 회전 함) 특정 스트림 객체에서 차이점을 발견했습니다. 그러나 스트림 정보가 무엇인지 알 수는 없습니다.

http://bit.ly/eQZGKJ http://bit.ly/g43Whb

답변

1

저장 거의 모든 이미지가 너무이라고 CTM (현재의 변환 행렬 일) : 여기

내가 무슨 말을하고있는 두 개의 문서입니다. 그것은 이미지의 위치, 회전 및 비뚤어 짐에 관한 정보를 독자에게 제공합니다.

4

페이지에 표시 될 때 이미지의 위치, 크기 및 방향은 현재 변환 행렬 (CTM)에 의해 결정됩니다. 이미지가 표시 될 때 제자리에있는 CTM을 결정하려면 전체 페이지 내용 스트림을 실행해야합니다. 마치 PDF 페이지의 가상 렌더링과 같습니다.

+0

각 페이지는 사용자가 고려해야 할 페이지 객체의 페이지 회전 값을 가질 수도 있습니다. –

+0

페이지 좌표의 이미지 위치는 페이지 회전에 따라 바뀌지 않지만 화면의 이미지 위치를 원할 경우 좌표 (페이지를 표시하고 화면에 이미지가 나타나는 위치를 알고 싶을 때) 페이지 회전을 고려해야합니다. – iPDFdev

+0

@iPDFdev PDF 파일에서 CTM 정보를 얻으려면 어떻게해야합니까? 거기에 사용할 수있는 Linux 유틸리티가 있습니까? –

0

클립이있어 이미지의 일부만 볼 수도 있습니다. MediaBox 및 회전은 전체 페이지와 관련됩니다. PDF를 기준으로 설명

1

체크 cm 연산자 "지정된 매트릭스를 연결함으로써, 현재의 변환 행렬 (CTM)을 수정 (4.2.1 절 참조", "공간 좌표)는 피연산자들이 행렬을 지정했지만., 그들은 배열이 아닌 여섯 개의 별도 숫자로 기록됩니다. " PDF 문서에서 :

  1. rotated1.pdf는 "0 550.08 -743.04 0 743.04 0 cm"
  2. rotated2.pdf이 "0 -550.08 743.04 0 0 550.08 cm"

을 포함 포함 그래서 우리 이미지가 90도 시계 방향으로 또는 90도 반대 방향으로 회전한다고 말할 수 있습니다.

+0

CTM 좌표는 어떻게 얻었습니까? –

관련 문제