EnumPageContentStatesEx
페이지 조작
설명
선택된 페이지 명령을 추적하고, 각 Do 연산자에서 활성인 그래픽 상태와 리소스 범위를 사용해 선택적으로 Form XObject 콘텐츠로 내려갑니다
구문
Delphi
Function EnumPageContentStatesEx(AfterInstruction: Boolean; MaxFormDepth: Integer; Var States: Array Of TPDFlibContentGraphicsState): Integer;매개변수
AfterInstruction는 true일 때 각 연산자 직후 스냅샷을, false일 때 각 연산자 직전 스냅샷을 고릅니다
MaxFormDepth는 실행할 중첩 폼 수준 개수를 고릅니다. 0은 페이지 수준 명령만 유지하고 64를 넘는 값은 64로 제한됩니다
States는 호출자가 제공한 배열에 들어가는 만큼의 레코드를 받습니다
반환 값
States에 들어가지 않는 레코드를 포함한 스냅샷 총 개수입니다. 선택된 문서가 없거나 페이지 콘텐츠 레이어를 파싱할 수 없으면 0
비고
개수를 얻으려면 빈 배열로 한 번 호출하고, 대상을 할당한 다음 다시 호출하여 채우십시오
폼 실행은 그래픽 상태 격리, 폼 행렬 연결, /BBox 클리핑, 현재 리소스 선택을 따릅니다
자식 상태는 자신의 Do 연산자 시점에 유효했던 실효 UseBlackPtComp 값을 물려받은 다음, 폼 로컬 ExtGState 변경을 호출자에게 새어 나가지 않게 적용합니다
자체 /Resources 사전을 가진 폼은 그 사전만 쓰고, 없는 폼은 이전 PDF 파일과의 호환성을 위해 호출하는 쪽의 리소스 사전을 물려받습니다
반복해서 나타나는 폼 스트림은 열거마다 한 번 디코딩·파싱된 뒤 호출마다 독립적으로 실행됩니다
활성 경계 사이클 검출과 깊이 제한은 별도 호출 브랜치의 정당한 재사용을 막지 않으면서 무한 재귀를 방지합니다
AfterInstruction가 true이면 중첩 스냅샷이 자신을 담는 Do 스냅샷보다 앞섭니다. 연산자는 자손 뒤에 끝나기 때문입니다. 직전 스냅샷은 반대 전위 순서를 씁니다
FormTraversalStatus와 FormDescendantCount는 각 폼이 열거되었는지 건너뛰었는지 보고하고, 호출 및 부모 필드가 호출 트리를 재구성합니다