losLab 소프트웨어 개발 블로그

Delphi PDF Library

Software Development Blog

Delphi PDF Library

Delphi에서 접근성 PDF를 위한 자동 구조 태깅

SetAutoTagMode 하나로 PDF Library for Delphi가 DrawText와 이미지, DrawTableRows를 그리는 즉시 태깅해 구조 트리를 세운다. 수동 BeginTag와 섞어 쓰는 방법과 한계도 함께 짚는다

Delphi PDF Library

Delphi PDF 바코드: QR, PDF417, DataMatrix

벡터 바코드는 어떤 크기로도 선명하게 인쇄됩니다. PDF Library for Delphi가 Delphi에서 QR, PDF417, DataMatrix, Code128 심볼을 오류 정정과 함께 그리는 방법을 살펴봅니다

Delphi PDF Library

델파이 TIFF 디코더 강화: BigTIFF와 타일 TIFF

PDFlibPas가 내장 델파이 TIFF 디코더를 강화한 방법을 설명합니다. BigTIFF 매직 43을 이름으로 거부하고, 태그 파싱 단계에서 타일 TIFF를 막으며, 디코드 상한을 256 MiB로 제한합니다

Delphi PDF Library

Delphi PDF의 SpiderInfo Web Capture 명령

PDF Library for Delphi의 AddWebCaptureCommand로 PDF Catalog의 /SpiderInfo 딕셔너리에 Web Capture 명령 메타데이터를 기록합니다. 간접 명령 딕셔너리, URL, 크롤링 깊이, 플래그 화이트리스트를 다룹니다

Delphi PDF Library

PDF를 PDF/A로 변환하고 메타데이터 복구하기

ConvertToPDFA가 문서를 복구하고 선언하는 파트를 명시한 뒤 결과를 검증하며 RepairDocumentMetadata는 Delphi에서 Info 딕셔너리와 XMP 패킷이 서로 일치하도록 정리하여 PDF/A 변환의 신뢰성을 한 번의 호출로 보장합니다

Delphi PDF Library

델파이 문서 간 PDF 객체 복사: 순환 크래시

PDFlibPas의 CopyForeignObject가 문서 경계를 넘어 PDF 객체 클로저를 깊은 복사하는 방법과, 진행 중 상태 가드가 없던 시절 /Parent 순환 참조가 접근 위반을 일으킨 이유를 설명합니다

Delphi PDF Library

Delphi에서 TDataSet 및 보고서를 PDF로 내보내기

losLab PDF Library를 사용하여 Delphi에서 모든 TDataSet, FastReport, QuickReport 또는 ReportBuilder 보고서를 페이지가 매겨진 표와 헤드리스 출력으로 PDF로 내보냅니다. Delphi에서 TDataSet 또는 보고서를 PDF로

Delphi PDF Library

재현 가능한 빌드를 위한 Delphi 결정론적 PDF ID

결정론적 트레일러 ID로 Delphi PDF 출력을 바이트 단위로 동일하게 만들기: 시드 유도 방식, 암호화된 파일이 자신의 ID를 유지하는 이유, 함께 고정해야 할 것들 losLab PDF Library는 을 호출하면 동일한 입력에 대해 바이트 단위로 동일한 PDF 출력을 만들어낼

Delphi PDF Library

PDF 생명주기 액션: Delphi에서 카탈로그 /AA 대 페이지 /AA

PDF Library for Delphi가 문서 수준 생명주기 액션(카탈로그 /AA)과 페이지 수준 생명주기 액션(페이지 /AA)을 어떻게 서로 다른 컨테이너로 다루는지, 그리고 이 둘을 혼동하는 것이 왜 액션이 조용히 아무 일도 하지 않게 만드는 가장 흔한 원인인지 다룬다

Delphi PDF Library

PDF용 순수 Pascal Ed448 및 Brainpool ECDSA

PDFlibPas가 외부 암호화 라이브러리 없이 RFC 8032 Ed448과 RFC 5639의 세 가지 Brainpool 곡선을 순수 Object Pascal로 구현하는 방법과 개발 과정에서 발견된 여섯 가지 근본 원인

Delphi PDF Library

전자 송장 검증: Delphi에서의 veraPDF 및 Mustang

PDF/A 준수가 곧 송장 준수는 아닙니다. Delphi에서 PDF Library for Delphi 전자 송장이 veraPDF 컨테이너 검사와 Mustang 비즈니스 규칙을 모두 통과하는 방법을 살펴봅니다

Delphi PDF Library

PDFlibPas의 Free Pascal EMF 벡터 가져오기

6500줄짜리 EMF to PDF 변환기가 재작성이 아니라 조건문 하나 변경으로 해결된 이유와, ULONG_PTR hatch 필드가 Win64에서 메타파일 레코드를 어긋나게 만드는 과정

Delphi PDF Library

Delphi에서의 Factur-X 및 ZUGFeRD 하이브리드 송장

전자 송장은 송장 XML이 내장된 PDF/A-3 파일입니다. Delphi에서 PDF Library for Delphi가 여러 프로파일에 걸쳐 Factur-X 및 ZUGFeRD 하이브리드 송장을 구축하는 방법을 알아봅니다

Delphi PDF Library

Delphi에서 빠른 PDF 병합: 바이트 수준 Ref 이동

PDF Library for Delphi의 fast merge는 수정되지 않은 source byte를 그대로 재사용하고 indirect reference만 객체 단위로 옮겨 parse-serialize 왕복을 건너뛴다. 안전 조건과 edge case 정리

Delphi PDF Library

Delphi에서 FDF, XFDF 및 XFA 양식 데이터 상호 교환

losLab PDF Library를 사용하여 Delphi에서 AcroForm과 비즈니스 시스템 간에 PDF 양식 데이터를 이동합니다: FDF 및 XFDF 값, 계층적 필드, 서식 있는 텍스트(Rich text) 및 XFA XDP losLab PDF Library는 세 가지 방법으로

Delphi PDF Library

PDFlibPas의 FPC Win32 OMF-COFF 오브젝트 링킹

Free Pascal은 Win32에서 COFF 오브젝트를 요구하기에 PDFlibPas는 별도의 오브젝트 셋을 유지하고 섹션 이름을 정규화하며 Delphi 64비트 정수 헬퍼 ABI는 제외합니다

Delphi PDF Library

Delphi PDF의 GoToR, GoToE, Launch 액션

Delphi에서 PDF Library for Delphi GoToR, GoToE, Launch 액션 구현하기: 원격 페이지 이동, 임베디드 PDF 대상, 외부 실행, 0부터 시작하는 페이지 번호 함정까지 다룹니다

Delphi PDF Library

Delphi 인플레이스 폼 필드 에디터의 OnExit 재진입

PDF Library for Delphi TPDFlibViewer는 OnExit로 인플레이스 폼 필드 편집을 커밋하는데, FInplaceEditor를 먼저 nil로 만들지 않으면 포커스 상실이 커밋을 재진입시켜 데이터가 손상됩니다

Delphi PDF Library

Delphi의 대화형 PDF 폼: 액션 및 JavaScript

PDF 폼 액션은 정적 페이지를 앱처럼 동작하게 합니다. Delphi에서 PDF Library for Delphi로 Hide, ImportData, Named 및 JavaScript 액션을 필드와 링크에 연결하는 방법을 설명합니다. FDF와 문서 수준 스크립트의 차이도 비교합니다

Delphi PDF Library

JBIG2 인코더 백엔드와 Free Pascal 링커

PDFlibPas는 네이티브 Pascal JBIG2 인코더와 선택적 외부 인코더를 함께 제공하며, 외부 백엔드를 Free Pascal로 옮기는 일은 오브젝트가 아니라 DLL이 필요한 이유

Delphi PDF Library

델파이의 PDF 가비지 컬렉션: 마크 앤 스윕

PDF 페이지를 삭제해도 파일 크기가 줄지 않는 이유와, losLab PDF Library의 마크 스윕 가비지 컬렉션이 Delphi에서 트레일러 루트 집합만으로 고아 객체를 찾아 제거하는 방법을 다룹니다

Delphi PDF Library

델파이 ML-DSA: PDFlibPas의 FIPS 204 포스트 양자

PDFlibPas가 델파이와 FPC를 위해 순수 Object Pascal로 FIPS 204 ML-DSA 44, 65, 87을 구현한 이야기. 세 파라미터 셋이 하나의 엔진을 공유하는 방식과 KAT를 깨뜨린 샘플링 버그를 다룹니다

Delphi PDF Library

PDF 서명 후 무엇이 바뀌었는지 분류하기

PDFlibPas는 문서를 이전 리비전과 비교해 모든 차이를 화이트리스트로 분류하므로, DocMDP 정책 강제가 계산된 수정 레벨과 허용 레벨의 단 한 번 비교로 끝나는 방식

Delphi PDF Library

Delphi의 PDF 레이어: Optional Content Groups (OCG)

PDF 레이어는 지도, CAD 도면 및 다국어 변형을 제어합니다. Delphi에서 PDF Library for Delphi로 Optional Content Groups와 표시 설정을 만들고 읽는 방법을 설명합니다. OCG, OCMD, 카탈로그 설정과 컴플라이언스 모드도 다룹니다

Delphi PDF Library

Delphi에서 PDF 북마크와 주석 Action 읽기

대부분의 Delphi PDF 라이브러리는 북마크와 주석 액션을 쓸 수는 있어도 다시 읽지는 못합니다. PDF Library for Delphi로 GoTo, URI, Launch, JavaScript 액션을 해석하는 법을 다룹니다

Delphi PDF Library

PDFlibPas로 보는 PDF 2.0 페이지 수준 연관 파일

PDFlibPas는 문서 전체가 아닌 특정 페이지에 임베디드 파일을 붙입니다. /AF 배열은 페이지 딕셔너리에, 페이로드는 EmbeddedFiles 이름 트리에 두는 PDF 2.0 구조를 다룹니다

Delphi PDF Library

Delphi PDF 파일 크기 줄이기: 폰트, 이미지, LZW

losLab PDF Library로 Delphi에서 PDF 크기를 줄이는 방법입니다. 임베드 폰트 서브셋화, 과대 이미지 다운샘플링, 오래된 LZW 스트림의 Flate 변환을 한 번에 처리합니다

Delphi PDF Library

Delphi Factur-X XMP용 PDF/A-3 확장 스키마

XMP 속성을 선언하지 않은 Factur-X 인보이스는 veraPDF에서 실패합니다. PDF Library for Delphi가 fx 메타데이터용 PDF/A-3 확장 스키마를 추가하는 방법을 살펴봅니다

Delphi PDF Library

PDFlibPas로 만드는 Delphi PDF/E-1 엔지니어링 문서

PDF/E-1은 엔지니어링 문서용 아카이브 프로파일입니다. SetPDFEMode author 모드, 콘텐츠 스트림을 연산자 단위로 읽는 상한 있는 프리플라이트, 저장 게이트의 수리와 거부 기준을 다룹니다

Delphi PDF Library

델파이 PDF/UA 폰트 감사: Widths, CharSet, CIDSet

PDFlibPas가 델파이에서 PDF/UA 폰트 계층을 감사하는 방법. cmap과 CIDToGIDMap으로 글리프 폭을 해석하고, 보수적인 CharSet과 CIDSet 규칙을 적용하며, 콘텐츠 스트림을 스캔하는 과정을 설명합니다

Delphi PDF Library

PDFlibPas로 하는 델파이 점진적 PDF 범위 로딩

PDFlibPas가 HTTP 범위 서버와 오브젝트 스토리지에서 수 기가바이트 PDF를 여는 방법. 읽기 콜백, 청크 정렬 캐싱, 요청 병합과 프리페치가 어떻게 맞물리는지 설명합니다

Delphi PDF Library

Delphi에서 PDF를 단일 색 공간으로 변환하기

RecolorDocument가 PDF를 다시 그리지 않고 그레이나 RGB, CMYK 단일 색 공간으로 옮기며 색 연산자와 래스터 이미지, 인덱스 팔레트, 그라데이션 스톱을 함께 변환하여 인쇄기 제출 전 단일 색 공간 정규화를 Delphi에서 한 번의 호출로 완성합니다

Delphi PDF Library

Delphi의 SHAKE256 XOF: Keccak 도메인 분리

PDFlibPas는 SHA-3과 SHAKE256을 단일 Keccak-f[1600] 코어에서 실행하며, pad10*1 도메인 바이트와 rate 규칙만으로 구분합니다. Delphi용 스트리밍 XOF도 함께 다룹니다

Delphi PDF Library

Delphi의 태그드 PDF 구조 트리

PDF Library for Delphi로 Delphi에서 태그드 PDF를 생성하는 방법입니다. 그리면서 구조 트리를 만들고 표 헤더 의미, 아티팩트, 저장 시 PDF/UA 진단까지 다룹니다

Delphi PDF Library

Delphi PDF 텍스트, 이미지, 폰트 추출

PDF Library for Delphi로 PDF에서 위치 정보가 있는 텍스트, 원본 이미지 스트림, 폰트 메타데이터를 추출하는 방법과 검색 및 감사 작업을 위한 추출 옵션을 살펴봅니다

Delphi PDF Library

악성 파일로부터 Pascal PDF 파서 강화하기

PDF 파서는 공격 표면입니다. Delphi의 폰트와 이미지 디코더에서 정수 오버플로, 범위를 벗어난 쓰기, 무제한 재귀를 방어하는 방법을 설명합니다. 범위 검사와 메모리 초기화까지 실제 감사에서 확인할 방어 원칙을 정리합니다. 다섯 결함 범주와 최신 파서 설계 원칙을 함께 확인합니다

Delphi PDF Library

Delphi를 사용한 PDF 벡터 그래픽: 패스 및 그라데이션

PDF는 완전한 2D 벡터 캔버스입니다. Delphi에서 PDF Library for Delphi로 패스와 Bézier 곡선, 축형 그라데이션을 그리고 even-odd와 nonzero 채우기를 처리하는 방법을 설명합니다. 타일링 패턴과 실무 조합, 출력 검증까지 함께 다룹니다