콘텐츠로 이동

NextPDF를 사용하지 말아야 할 때

Spec: ISO/IEC 25010, §3.26 Spec: ISO 24495-1 Evidence: Editorial

이 페이지는 보통 벤더가 쓰지 않는 종류의 페이지입니다. NextPDF가 적합한 도구가 아닌 경우와, 대신 어떤 종류의 도구가 맞는지를 밝힙니다. 적합하지 않은 경우를 솔직하게 짚어, 엔진을 제외해야 마땅한 때에는 빠르게 제외할 수 있도록 합니다.

이것은 솔직한 경계 표명이며, 기능 목록 앞에 “아니다”라는 말을 붙인 것이 아닙니다.

가장 비용이 큰 통합은 애초에 시작하지 말았어야 할 통합입니다. 도구 선택은 평가 단계에서 제대로 하면 비용이 적게 듭니다. 계약이 체결되고 파이프라인이 운영 환경에 들어간 뒤에 바로잡으려면 매우 큰 비용이 듭니다.

좋은 엔진은 그 판단을 일찍 내릴 수 있게 돕습니다. 소프트웨어 품질 지침은 이를 적절성 인식 가능성이라고 부릅니다. 제품이 자신의 필요에 맞는지를 그 문서와 첫인상으로 판단할 수 있는 능력입니다( Spec: ISO/IEC 25010, §3.26 ). 언제나 “예”라고만 말하는 페이지는 그 시험에 의도적으로 통과하지 못합니다. 이 페이지는 “아니오”가 솔직한 답인 경우에는 “아니오”라고 말합니다.

다음과 같은 경우에는 NextPDF가 아닌 다른 것을 선택하십시오.

  • 임의의 모던 웹 페이지를 픽셀 단위로 충실하게 렌더링해야 하는 경우 — 완전한 CSS, 웹 폰트, JavaScript 기반 레이아웃이 필요한 경우입니다. 그것은 브라우저의 일입니다.
  • 스캔되거나 이미지로만 이루어진 PDF를 OCR하거나 재구성하여 구조화된 텍스트로 만들어야 하는 경우. 그것은 생성의 문제가 아니라 OCR/문서 이해의 문제입니다.
  • 권위 있는 답으로서의 적합성 판정(PDF/A, PDF/UA, PAdES)이 필요한 경우. NextPDF는 적합을 의도한 구조를 생성하지만, 실제로 적합했는지는 독립적인 검증기가 판단합니다.
  • PDF를 생성하거나 검사하는 것이 아니라, **서드파티 PDF의 대규모 인터랙티브 편집이나 마스킹(redaction)**을 핵심 작업 부하로 필요로 하는 경우.
  • 지원되는 PHP 하한보다 오래된 런타임을 사용하고 있고, 백포트 경로를 이용할 수 없는 경우.

어느 경우든 문제는 품질이 아니라 분류입니다. 다른 종류의 도구가 올바른 답입니다.

NextPDF는 PDF 2.0 문서를 생성하고, 구조적 사실에 대해 검사하기 위한 PHP 엔진입니다. 그 설계 — 명시적 의도, 빠르게 실패하는 입력, 프로세스 내(in-process)에서 결정적으로 동작 — 는 그 일에 맞게 조율되어 있습니다. 솔직한 경계는 과제가 근본적으로 다른 형태인 지점에 있습니다.

이 표는 적합하지 않은 각 경우에 대해 왜 형태가 맞지 않는지, 그리고 어떤 분류의 도구가 맞는지를 대응시킵니다. 특정 제품명은 언급하지 않습니다. 핵심은 분류입니다.

당신의 과제가…NextPDF의 형태가 맞지 않는 이유대신 맞는 것
임의의 모던 웹 페이지를 픽셀 단위로 충실하게 렌더링프로세스 내 HTML/CSS 엔진은 예측 가능하고 결정적인 출력을 위해 정의되고 문서화된 부분집합을 대상으로 하며, 스크립팅을 포함해 끊임없이 진화하는 웹 플랫폼 전체를 대상으로 하지 않음실제 브라우저 엔진(헤드리스 브라우저 렌더러). 에코시스템의 브라우저 브리지를 통해 구동
스캔되거나 이미지로만 이루어진 PDF를 구조화된 텍스트로 변환NextPDF는 OCR나 문서 이해를 수행하지 않음. 생성하고 구조적으로 검사할 뿐, 픽셀을 의미로 해석하지 않음전용 OCR / 문서 이해 파이프라인. 그 출력을 받아 이후 PDF를 생성해야 한다면 NextPDF에 넘김
권위 있는 적합성 판정프로세스 내 검사는 필요하지만 충분하지는 않음 — 설계상 구조적 사실을 보고할 뿐, 통과/실패 판정을 내리지 않음독립적인 검증기(예: 인정된 PDF/A 또는 접근성 검사기)를 게이트로 사용
임의의 PDF에 대한 대규모 인터랙티브 편집/마스킹을 핵심 작업으로 삼기엔진은 생성과 구조적 검사에 최적화되어 있으며, 신뢰할 수 없는 서드파티 파일을 범용으로 왕복 편집하는 도구가 아님편집/마스킹 워크플로를 위해 만들어진 도구 분류. 생성/검사 부분에는 NextPDF를 사용
지원되는 PHP 하한 미만의 런타임엔진은 의도적으로 모던 PHP 언어 기능 위에 구축됨해당하는 경우 문서화된 백포트 경로. 그렇지 않으면 다른 툴체인

반복해서 나타나는 주제는 엔진 자신의 정직함입니다. 프로세스 내 적합성 검사는 그 출력 안에서 같은 말을 합니다. 즉 그것들은 필요하지만 충분하지는 않습니다. 깨끗한 결과는 “ISO 적합성을 확립하지 않으며”, 판정은 “독립적인 검증기에 속한다”고 합니다. 빠른 PDF 인스펙터도 자신에 대해 같은 말을 합니다. 그것은 “빠른 구조적 분류이며 검증기가 아니다… 서명을 검증하거나 콘텐츠를 복호화하거나 적합성을 주장하지 않는다. 그 결과는 신뢰 판정이 아니라 라우팅 입력으로 다루라”고 합니다. 엔진은 자신에 대해 과도하게 주장하기를 거부합니다. 바로 그래서 엔진을 과대 판매하기를 거부하는 페이지가 엔진과 일관됩니다.

어떤 경계는 고정된 선이 아니라 에디션 경계입니다. 예를 들어 보존용(PDF/A) 생성은 빠진 기능이 아니라 상위 티어의 기능입니다. 엔진은 거부가 아니라 실행 가능한 업그레이드 경로를 제시합니다.

PDF/A archival production — edition availability
Edition Availability
Core

Core에는 없습니다 — 보존용 API를 호출하면 불명확하게 실패하는 대신, 그것을 활성화하는 패키지명을 알려 주는 실행 가능한 메시지가 반환됩니다. 일반 PDF 2.0 출력은 완전히 사용할 수 있습니다.

Pro

사용 가능합니다 — PDF/A 보존용 적합성 생성은 Pro 티어 기능입니다.

Enterprise

사용 가능합니다 — 상위 티어에 포함됩니다.

따라서 “NextPDF는 보존용을 할 수 없다”는 것은 Core에서 잘못된 읽기입니다. 적절한 에디션에서는 할 수 있으며, 추측하거나 조용히 실패하는 대신 그 사실을 명시적으로 알려 줍니다. 진짜 경계는 여전히 위의 것입니다. 적합성 판정은 모든 에디션에서 언제나 독립적인 검증기에 속합니다.

이 페이지는 Evidence: Editorial 입니다. 이것은 코드나 벤치마크 주장이 아니라 논거에 기반한 경계 판단이며, 그 사실을 솔직하게 표시합니다. 이를 단순한 의견에 그치지 않게 하는 요소가 두 가지 있습니다.

  • 엔진 자신의 산출물도 자기 말로 같은 것을 인정합니다. 적합성 경로는 자신을 “필요하지만 충분하지는 않다”고 선언하고 판정을 독립적인 검증기에 맡깁니다. 빠른 인스펙터는 자신을 “구조적 분류이며 검증기가 아니다”라고 선언합니다. 여기서의 경계 표명은 엔진이 자신을 설명하는 방식과 일관되며, 그보다 과장되지 않았습니다.
  • 경계를 명시하는 규율은 Spec: ISO/IEC 25010, §3.26 (적절성 인식 가능성 — 문서로 적합성을 판단하기)과 Spec: ISO 24495-1, §5 (독자가 필요로 하는 것과 주의 사항을 먼저 제시하기)에 근거를 둡니다.

코드가 경계를 정의하는 경우 — 예를 들어 프로세스 내 적합성 검사가 권위를 갖지 않거나, 보존용이 에디션 기능인 경우 — 그것을 소유한 페이지가 그 동작을 Evidence: Code-backed 증거와 함께 보여 줍니다. 이 페이지의 역할은 솔직한 지도이지, 각 논점의 증명이 아닙니다.

솔직하게 읽으면 이것은 짧은 체크리스트입니다. 어느 한 줄이라도 참이라면 NextPDF는 일에는 잘못된 도구일 가능성이 높습니다. 그래도 같은 시스템의 다른 부분을 담당할 수는 있습니다.

Decision check — is NextPDF the wrong shape here?
[ ] You must render arbitrary modern web pages pixel-for-pixel,
including JavaScript-driven layout. → use a browser renderer
[ ] Your input is scanned/image-only PDFs you must
turn into structured, searchable text. → use an OCR pipeline
[ ] You need a binding PDF/A or PDF/UA pass/fail
as the authoritative answer. → use an independent validator
[ ] The core workload is editing/redacting
untrusted third-party PDFs. → use an editing/redaction tool
[ ] Your runtime is below the supported PHP floor
and the backport path does not apply. → use a different toolchain
None of the above ticked?
→ NextPDF is plausibly a good fit. Confirm against
the design philosophy and the integration decision guide.

비대칭성에 주목하십시오. 박스에 체크가 들어가는 것은 NextPDF를 일에서 제외한다는 뜻이지, 시스템 전체에서 제외한다는 뜻이 아닙니다. 파이프라인은 흔히 어떤 도구로 OCR를 실행하고, NextPDF로 최종 PDF를 생성하며, 세 번째 도구로 적합성을 검증합니다. 적절한 도구를, 적절한 단계에서 쓰는 것입니다.

흔한 오독은 “사용하지 말아야 할 때” 페이지를 약점의 인정으로 받아들이는 것입니다. 오히려 그 반대입니다. 자신의 경계를 그을 만큼 자신 있는 엔진이야말로 계획을 세우기 좋은 엔진입니다. 위험은 결코 알려 준 한계에 있지 않습니다. 위험은 아무도 적어 두지 않아 운영 환경에서 비로소 발견하게 되는 한계에 있습니다.

두 번째 오독은 이것을 시스템 전체에 대한 영구적 판정으로 다루는 것입니다. 그렇지 않습니다. “임의의 웹 페이지를 렌더링하기에 적합한 도구가 아니다”가 “차트를 마침 포함하는 청구 서비스에 적합한 도구가 아니다”를 뜻하지는 않습니다. 그것은 렌더링은 위임하고 생성은 보유하라는 뜻입니다. 경계는 프로젝트 단위가 아니라 작업 단위입니다.

이 페이지 자체에도 경계가 있습니다. 여기서는 적합하지 않은 분류를 밝힐 뿐, 이름을 붙인 대안의 순위 목록을 제시하지 않습니다. 특정 제품을 거명하고 비교하는 것은 방침상 여기서는 범위 밖입니다. 올바른 구체적 선택은 당신의 제약 조건에 따라 달라집니다. 동반 페이지인 통합 결정 가이드는 그러한 비교 없이 사용 사례를 에코시스템 자체의 컴포넌트에 대응시킵니다.

이것은 또한 이 검토 시점의 한 시점 판단이기도 합니다. 기능 경계 — 특히 에디션 경계 — 는 엔진이 진화하면서 옮겨질 수 있습니다. 반면 적합성 판정 경계는 구조적인 것이며 옮겨질 것으로 예상되지 않습니다. 생성 기능이 아무리 강력해지더라도 적합성은 독립적인 검증기가 판단합니다.

끝으로 “editorial”은 솔직한 증거 수준입니다. 이 페이지는 논증합니다. 벤치마크하거나 코드를 인용하지 않습니다. 경계가 진정으로 코드 동작인 경우, 그 증거는 그것을 소유한 페이지에 그 페이지의 증거 수준과 함께 있습니다.

  • NextPDF 디자인 철학 — 엔진이 왜 당신에게 찾게 하지 않고 스스로 경계를 명시하는지.
  • HTML 파이프라인 — 프로세스 내 HTML/CSS 엔진이 무엇을 다루고 무엇을 다루지 않는지, 그리고 언제 브라우저 렌더러에 위임해야 하는지.
  • 통합 결정 가이드 — NextPDF 에코시스템 전반의 사용 사례 대 컴포넌트 지도. 선택이 암시되는 것이 아니라 당신의 것이 되도록.
  • Editorial(증거 수준) — 측정하거나 코드에서 인용한 것이 아니라 논증으로 제시한, 의도적이고 논거에 기반한 판단을 밝히는 페이지입니다.
  • 필요하지만 충분하지는 않다 — 실제 신호이기는 하지만 적합성 판정은 아닌 프로세스 내 검사를 위한 의도적인 표현입니다. 권위 있는 판정은 독립적인 검증기에 속합니다.
  • 적합성 대 지원 — 적합성은 산출된 문서의 이진적 속성입니다(명명된 프로파일을 만족하거나 만족하지 않거나). 지원은 엔진의 속성입니다(어떤 기능을 선언된 수준으로 구현하는 것). 검증기는 전자를 측정하고, 엔진은 후자를 제공합니다.
  • PDF/A — 장기 보존용 PDF를 위한 ISO 19005 계열 프로파일입니다. 그 생성은 에디션 기능이며, 적합성 판정은 언제나 독립적인 검증기의 몫입니다.
  • OCR — 광학 문자 인식(Optical Character Recognition). 페이지 이미지를 텍스트로 바꾸는 것입니다. PDF 생성과는 별개의 문제 분류이며, 처음 사용할 때 여기서 풀어 적습니다.