콘텐츠로 이동
getnextpdf.com

Enterprise 에디션

Common — 심층 참조

이 페이지는 NextPDF\Enterprise\Common 네임스페이스에 대한 심층 참조입니다. 이 네임스페이스는 하나의 공개 심볼, 즉 BoundingBox 값 객체를 제공합니다. 이는 페이지에서 해상도에 독립적인 공간 위치 지정을 위한 불변의 정규화된 사각형입니다. Enterprise Intelligence 및 Privacy 표면은 이를 표 셀 기하, 엔터티 위치, 삭제(redaction) 영역에 사용합니다. 이 모듈은 어떠한 I/O도 수행하지 않고, 문서 콘텐츠를 보유하지 않으며, 암호화를 다루지 않습니다. 워크플로 안내는 먼저 Common 기능 페이지를 참조하십시오.

이 기능은 NextPDF Enterprise(nextpdf/enterprise)에 포함되어 있으며 Enterprise 등급 라이선스 봉투로 활성화됩니다. 해당 권한이 없는 배포는 이 기능의 클래스를 로드하지 않습니다. 에디션 비교 및 라이선스 받기.

프리미티브 자체는 어떠한 라이선스 게이팅도 수행하지 않습니다. 게이팅은 이를 소비하는 Enterprise 표면에서 이루어집니다. 이 클래스에 해당하는 Core 등급이나 Pro 등급의 대응물은 없습니다. 이는 nextpdf/enterprise 패키지에만 포함되며 Core 기하 타입을 중복하거나 대체하지 않습니다.

심볼매개변수기본 동작반환예외 또는 실패 조건비고
BoundingBox::__constructfloat $x, float $y, float $width, float $height각 값을 [0.0, 1.0]에 대해 검증한 다음 두 에지 합계를 검증합니다BoundingBox값이 범위를 벗어나거나 에지 합계가 1.0 + 1e-9를 초과하면 InvalidArgumentException네 값 모두 public readonly 속성이 됩니다
BoundingBox::area없음widthheight를 곱합니다float선언된 예외 없음퇴화된 박스에는 0.0을 반환합니다
BoundingBox::containsself $other$other가 이 박스 내부에 완전히 있는지 검사합니다bool선언된 예외 없음오른쪽 및 아래쪽 에지는 +1e-9를 허용하며, 왼쪽 및 위쪽 에지는 정확히 비교합니다
BoundingBox::overlapsself $other엄격한 사각형 교차를 검사합니다bool선언된 예외 없음어느 한쪽이라도 넓이가 0인 피연산자면 false를 반환합니다
final readonly class BoundingBox
{
public function __construct(
public float $x,
public float $y,
public float $width,
public float $height,
)
public function area(): float
public function contains(self $other): bool
public function overlaps(self $other): bool
}
  • 네 값 모두 페이지 크기의 분수이며 [0.0, 1.0] 범위로 정규화됩니다.
  • x는 박스의 왼쪽 에지를, y는 위쪽 에지를 지정합니다. x + widthy + height는 오른쪽 및 아래쪽 에지를 한정합니다.
  • 정규화는 모든 연산을 해상도에 독립적으로 만듭니다. 동일한 박스는 어떤 렌더 크기나 DPI에서도 동일한 페이지 영역을 가리킵니다.
  • 생성자는 단일 검증 지점입니다. [0.0, 1.0]를 벗어난 좌표는 InvalidArgumentException을 발생시키며, 메시지는 문제가 된 구성 요소와 수신된 값을 명시합니다.
  • 1.0 + 1e-9를 초과하는 에지 합계는 InvalidArgumentException을 발생시키며, 메시지는 두 피연산자와 그 합을 보고합니다. 1e-9 허용 오차는 상류 정규화 산술에서 발생하는 부동소수점 반올림을 흡수합니다.
  • 생성된 인스턴스는 불변입니다. 클래스가 final readonly이므로 속성 쓰기는 PHP Error로 실패하며 클래스를 확장할 수 없습니다.
  • area()width * height를 반환합니다. 부작용이 없는 순수 계산입니다.
  • contains()는 다른 박스가 이 박스 내부에 완전히 있을 때 true를 반환합니다. 오른쪽 및 아래쪽 에지 비교는 +1e-9 허용 오차를 가지며, 왼쪽 및 위쪽 에지 비교는 정확합니다. 모든 박스는 자기 자신을 포함하며, 넓이가 0인 박스도 포함될 수 있습니다.
  • overlaps()는 엄격한 사각형 교차에서 true를 반환합니다. 네 에지 비교 모두 허용 오차 없이 엄격합니다. 어느 한쪽 피연산자라도 넓이가 0이면 결과는 false입니다.
  • 따라서 포함은 겹침을 의미하지 않습니다. 다른 박스 안에 있는 퇴화된 박스는 포함되지만 결코 겹치지 않습니다.
  • 어떤 메서드도 I/O, 영속화, 네트워크 접근, 로깅을 수행하지 않으며, 어떤 것도 문서 콘텐츠나 개인 데이터를 보유하지 않습니다. 이 표면에는 운영자 소유 리소스가 없습니다.

Enterprise 모듈은 모듈별 기하를 정의하는 대신 이 프리미티브를 공유합니다. Intelligence에서는 TableExtractor 출력이 TableCellKeyValuePair 값에 이를 담습니다. Privacy에서는 PiiEntity, RedactionFinding, ZoneRedaction이 이를 사용해 콘텐츠 위치를 지정하고, RedactionEngine이 그 위치를 소비합니다. 이러한 표면의 계약은 각자의 참조 페이지에 문서화되어 있습니다.

  • 범위를 벗어난 구성 요소. 네 값 중 0.0 미만이거나 1.0을 초과하는 값이 있으면 생성 시점에 InvalidArgumentException을 발생시킵니다. INF-INF도 동일한 가드에 의해 거부됩니다.
  • 에지 합계 오버플로. x + width 또는 y + height1.0 + 1e-9를 초과하면 InvalidArgumentException을 발생시킵니다. 1e-9 허용 오차 이내의 합계는 성공적으로 생성됩니다.
  • NAN 입력. 범위 가드는 순서 비교를 사용하며 NAN과의 모든 순서 비교는 거짓이므로, NAN 구성 요소는 거부되지 않습니다. 그러한 인스턴스는 NAN 넓이를 보고하고 두 술어 모두에서 false를 반환합니다. 생성 전에 상류 부동소수점 소스를 정제하십시오.
  • 넓이가 0인 박스. 너비 또는 높이가 0인 박스는 자기 자신을 포함해 어떤 것과도 결코 겹치지 않습니다. 그러나 퇴화되지 않은 박스에 포함될 수는 있습니다. 교차 로직에서 이 비대칭을 고려하십시오.
  • 에지가 맞닿은 박스. 에지나 모서리만 공유하는 두 박스는 겹치지 않습니다. 교차 검사는 엄격합니다.
  • 포함 허용 오차 비대칭. 왼쪽 또는 위쪽 에지가 조금이라도 바깥쪽 박스를 벗어난 안쪽 박스는 포함에 실패합니다. 1e-9 허용은 오른쪽 및 아래쪽 에지에만 적용됩니다.
  • FIPS 모드. 이 모듈은 어떠한 암호화 연산도 수행하지 않으므로 FIPS 모드는 그 동작을 변경하지 않습니다.

이 모듈은 어떠한 규범 표준도 구현하지 않으며 어떠한 적합성 주장도 하지 않습니다. 검증된 기하 프리미티브입니다. 이를 소비하는 기능의 PDF 좌표 공간 의미론은 해당 기능의 페이지에 문서화되어 있습니다. NextPDF는 어떠한 인증도 보유하지 않으며 부여하지도 않습니다. 지원은 적합성이 아니고, 적합성은 인증이 아닙니다. 이 표면에는 어떠한 수출 통제 제한도 적용되지 않으며, 이 참조는 법률 의견이 아닙니다.

  • 이 클래스는 nextpdf/enterprise 2.2.0부터 제공되며, 그 공개 표면은 3.1.0에서도 변경되지 않았습니다.
  • 생성 전에 절대 페이지 공간 좌표를 페이지 상대 분수로 변환하십시오. 이 클래스는 의미가 아니라 범위를 검증하므로, 그럴듯하지만 잘못된 영역을 감지할 수 없습니다.
  • 인스턴스는 평범한 값 객체이며 생성 비용이 저렴합니다. 풀링하거나 캐시하지 마십시오.
  • 동일한 좌표를 가진 두 인스턴스는 느슨한 동등성(==)에서 같다고 비교되지만, 엄격한 동일성(===)은 이들을 구별합니다. 테스트에서는 좌표 비교를 선호하십시오.
  • 불리언 술어를 넘어서는 기하가 필요하면 공개 속성에서 에지를 유도하십시오. 오른쪽 에지는 x + width, 아래쪽 에지는 y + height입니다.
  • 허용 오차 경계를 테스트할 때는 에지 합계 가드와 포함의 오른쪽/아래쪽 비교 모두에서 1e-9의 양쪽을 탐색하십시오.

이 페이지는 외부에서 관찰 가능한 동작과 지원되는 공개 API 표면만을 문서화합니다. 내부 네임스페이스 경로, 헬퍼 클래스, 메커니즘 표, 런북 파일명, 티켓 접두사는 범위를 벗어납니다.