PDF Library for Delphi의 CJK 및 이모지 텍스트 자동 폰트 폴백
PDF Library for Delphi 자동 폰트 폴백과 클러스터 인식 셰이핑, JSON 누락 글리프 리포트로 Delphi PDF에서 CJK, 기호, 이모지 글리프 누락을 해결합니다
losLab 소프트웨어 개발 블로그
Software Development Blog
PDF Library for Delphi 자동 폰트 폴백과 클러스터 인식 셰이핑, JSON 누락 글리프 리포트로 Delphi PDF에서 CJK, 기호, 이모지 글리프 누락을 해결합니다
SetAutoTagMode 하나로 PDF Library for Delphi가 DrawText와 이미지, DrawTableRows를 그리는 즉시 태깅해 구조 트리를 세운다. 수동 BeginTag와 섞어 쓰는 방법과 한계도 함께 짚는다
PDF Library for Delphi는 PDF에 AVIF, HEIF, JPEG XL 이미지를 임베드하며, 비트맵 변환에서는 사라지는 알파, ICC 프로파일, 16비트 채널을 그대로 유지합니다
벡터 바코드는 어떤 크기로도 선명하게 인쇄됩니다. PDF Library for Delphi가 Delphi에서 QR, PDF417, DataMatrix, Code128 심볼을 오류 정정과 함께 그리는 방법을 살펴봅니다
PDFlibPas가 내장 델파이 TIFF 디코더를 강화한 방법을 설명합니다. BigTIFF 매직 43을 이름으로 거부하고, 태그 파싱 단계에서 타일 TIFF를 막으며, 디코드 상한을 256 MiB로 제한합니다
PDF Library for Delphi의 AddWebCaptureCommand로 PDF Catalog의 /SpiderInfo 딕셔너리에 Web Capture 명령 메타데이터를 기록합니다. 간접 명령 딕셔너리, URL, 크롤링 깊이, 플래그 화이트리스트를 다룹니다
SendDocumentByMail이 Windows CDO로 PDF를 보낼 때 배치 발송을 깨뜨리는 것은 SMTP가 아니라 COM 아파트먼트다. 워커 풀에서 CoInitializeEx의 S_FALSE와 RPC_E_CHANGED_MODE를 다루는 법
Delphi에서 PDF Library for Delphi CollateDocumentsEx로 앞면과 뒤집힌 뒷면 스캔 PDF를 읽는 순서로 병합하고, 공유 폰트를 중복시키지 않고 페이지를 인터리빙합니다
PDF Library for Delphi로 PDF/A 프리플라이트, PAdES 서명, ByteRange 감사를 하나의 Delphi 워크벤치에 통합해, 검증한 리비전과 서명하는 리비전이 항상 일치하도록 합니다
TPDFContentStateTracker로 콘텐츠 스트림을 렌더링 없이 재생하며 CTM과 텍스트 행렬, 클립 경계, q/Q 스택을 오퍼레이터마다 추적해 텍스트의 실제 페이지 좌표를 얻는 방법
ConvertToPDFA가 문서를 복구하고 선언하는 파트를 명시한 뒤 결과를 검증하며 RepairDocumentMetadata는 Delphi에서 Info 딕셔너리와 XMP 패킷이 서로 일치하도록 정리하여 PDF/A 변환의 신뢰성을 한 번의 호출로 보장합니다
PDFlibPas의 CopyForeignObject가 문서 경계를 넘어 PDF 객체 클로저를 깊은 복사하는 방법과, 진행 중 상태 가드가 없던 시절 /Parent 순환 참조가 접근 위반을 일으킨 이유를 설명합니다
losLab PDF Library를 사용하여 Delphi에서 모든 TDataSet, FastReport, QuickReport 또는 ReportBuilder 보고서를 페이지가 매겨진 표와 헤드리스 출력으로 PDF로 내보냅니다. Delphi에서 TDataSet 또는 보고서를 PDF로
결정론적 트레일러 ID로 Delphi PDF 출력을 바이트 단위로 동일하게 만들기: 시드 유도 방식, 암호화된 파일이 자신의 ID를 유지하는 이유, 함께 고정해야 할 것들 losLab PDF Library는 을 호출하면 동일한 입력에 대해 바이트 단위로 동일한 PDF 출력을 만들어낼
PDF Library for Delphi가 하나의 PDF API를 Stdcall DLL, Safecall ActiveX 객체, Cdecl dylib로 노출하는 방법과, 각 바인딩에 숨은 문자열·핸들 함정을 다룹니다
PDF Library for Delphi가 문서 수준 생명주기 액션(카탈로그 /AA)과 페이지 수준 생명주기 액션(페이지 /AA)을 어떻게 서로 다른 컨테이너로 다루는지, 그리고 이 둘을 혼동하는 것이 왜 액션이 조용히 아무 일도 하지 않게 만드는 가장 흔한 원인인지 다룬다
PDFlibPas가 외부 암호화 라이브러리 없이 RFC 8032 Ed448과 RFC 5639의 세 가지 Brainpool 곡선을 순수 Object Pascal로 구현하는 방법과 개발 과정에서 발견된 여섯 가지 근본 원인
PDF/A 준수가 곧 송장 준수는 아닙니다. Delphi에서 PDF Library for Delphi 전자 송장이 veraPDF 컨테이너 검사와 Mustang 비즈니스 규칙을 모두 통과하는 방법을 살펴봅니다
Delphi에서 PDF/A 프리플라이트 오류 00030 해결하기: losLab PDF Library의 EmbedMissingFonts는 글꼴 사전을 재구축하지 않고 기존 PDF에 글꼴 프로그램을 추가합니다
6500줄짜리 EMF to PDF 변환기가 재작성이 아니라 조건문 하나 변경으로 해결된 이유와, ULONG_PTR hatch 필드가 Win64에서 메타파일 레코드를 어긋나게 만드는 과정
PDF Library for Delphi는 Delphi에서 잘못된 PDF 비밀번호를 재시도할 때 TPDFDocument를 제자리에서 재설정하지 않고 매 시도마다 새로 생성하며, 최대 16회까지 시도합니다
감사관처럼 PDF /Encrypt 딕셔너리를 읽는 법: PDF Library for Delphi로 암호화 알고리즘, 키 길이, AES-256 R5와 R6 차이, 권한 비트, Identity 필터 함정을 확인합니다
전자 송장은 송장 XML이 내장된 PDF/A-3 파일입니다. Delphi에서 PDF Library for Delphi가 여러 프로파일에 걸쳐 Factur-X 및 ZUGFeRD 하이브리드 송장을 구축하는 방법을 알아봅니다
PDF Library for Delphi의 fast merge는 수정되지 않은 source byte를 그대로 재사용하고 indirect reference만 객체 단위로 옮겨 parse-serialize 왕복을 건너뛴다. 안전 조건과 edge case 정리
losLab PDF Library를 사용하여 Delphi에서 AcroForm과 비즈니스 시스템 간에 PDF 양식 데이터를 이동합니다: FDF 및 XFDF 값, 계층적 필드, 서식 있는 텍스트(Rich text) 및 XFA XDP losLab PDF Library는 세 가지 방법으로
losLab PDF Library의 AuditDocumentSpace가 Delphi에서 PDF 파일 크기를 12개 객체 카테고리로 분류하는 방법으로, 압축 전에 부풀림을 먼저 측정할 수 있습니다
EnumPageContentStatesEx는 전역 방문 집합이 아니라 활성 호출 체인으로 Form XObject 순환을 잡아낸다. 재귀 깊이 제한과 호출마다 리소스 이름을 격리하는 스코핑을 함께 다룬다
Free Pascal은 Win32에서 COFF 오브젝트를 요구하기에 PDFlibPas는 별도의 오브젝트 셋을 유지하고 섹션 이름을 정규화하며 Delphi 64비트 정수 헬퍼 ABI는 제외합니다
PDF 페이지에 담긴 지도 좌표계를 Delphi에서 읽는 법: GeoPDF 뷰포트와 측정 사전, GPTS와 LPTS 매핑, WKT 대 EPSG 확인, 레거시 LGIDict와 ISO 32000-1 방식의 차이
Delphi에서 PDF Library for Delphi GoToR, GoToE, Launch 액션 구현하기: 원격 페이지 이동, 임베디드 PDF 대상, 외부 실행, 0부터 시작하는 페이지 번호 함정까지 다룹니다
PDF Library for Delphi는 PDF 페이지 안에서 display flex와 grid로 HTML을 배치하고, 각주를 열과 페이지에 걸쳐 연속된 번호 매김으로 페이지 나눔 처리합니다
PDF Library for Delphi DrawTextFlowColumns와 SetTextFlowHyphenation으로 Delphi에서 언어 인식 하이픈 처리를 갖춘 균형 잡힌 열로 PDF 텍스트를 흘려보냅니다
losLab PDF Library의 AppendToStream으로 Delphi에서 ISO 32000-1 증분 업데이트를 작성해 전자 서명을 보존하고 대용량 PDF의 전체 재작성을 건너뛰는 방법입니다
PDF Library for Delphi TPDFlibViewer는 OnExit로 인플레이스 폼 필드 편집을 커밋하는데, FInplaceEditor를 먼저 nil로 만들지 않으면 포커스 상실이 커밋을 재진입시켜 데이터가 손상됩니다
PDF 폼 액션은 정적 페이지를 앱처럼 동작하게 합니다. Delphi에서 PDF Library for Delphi로 Hide, ImportData, Named 및 JavaScript 액션을 필드와 링크에 연결하는 방법을 설명합니다. FDF와 문서 수준 스크립트의 차이도 비교합니다
TPDFlibViewer로 Delphi VCL에서 대화형 PDF 뷰어 구축하기: 5가지 마우스 도구, 즉시 사용 가능한 액션, 검색 결과 하이라이트, 주석 클릭과 인쇄 기능을 제공합니다
PDFlibPas는 네이티브 Pascal JBIG2 인코더와 선택적 외부 인코더를 함께 제공하며, 외부 백엔드를 Free Pascal로 옮기는 일은 오브젝트가 아니라 DLL이 필요한 이유
PDFlibPas 3.538.0은 ObjConv로 COMDAT와 CRT 심볼을 정리해 외부 JBIG2 인코더를 Free Pascal 실행 파일에 정적으로 링크하고 추가 DLL 없이 배포하게 합니다
PDF Library for Delphi 직접 액세스로 기가바이트급 PDF를 밀리초 단위로 열기: 페이지 핸들, 스트리밍 병합 목록, 범위 추출, 손상 파일의 xref 복구까지 지원합니다
LZW 인코더 딕셔너리는 디코더보다 항상 한 항목 앞서므로 양쪽은 서로 다른 코드 폭 임계값을 써야 합니다. PDFlibPas가 EarlyChange를 올바르게 처리하는 방법을 설명합니다
PDF 페이지를 삭제해도 파일 크기가 줄지 않는 이유와, losLab PDF Library의 마크 스윕 가비지 컬렉션이 Delphi에서 트레일러 루트 집합만으로 고아 객체를 찾아 제거하는 방법을 다룹니다
PDFlibPas는 하나의 읽기 전용 슬라이딩 윈도우로 대용량 PDF를 읽어 주소 공간 사용량을 일정하게 유지하고 Delphi 객체 조각을 직접 오프셋으로 제공합니다
PDF Library for Delphi는 명시적인 중복 필드 정책으로 AcroForm 문서를 병합하며, 같은 이름의 필드를 거부하거나 공유하거나 안전하게 이름을 바꿉니다
PDFlibPas가 델파이와 FPC를 위해 순수 Object Pascal로 FIPS 204 ML-DSA 44, 65, 87을 구현한 이야기. 세 파라미터 셋이 하나의 엔진을 공유하는 방식과 KAT를 깨뜨린 샘플링 버그를 다룹니다
PDFlibPas는 문서를 이전 리비전과 비교해 모든 차이를 화이트리스트로 분류하므로, DocMDP 정책 강제가 계산된 수정 레벨과 허용 레벨의 단 한 번 비교로 끝나는 방식
PDF Library for Delphi로 페이지를 1비트 흑백 BMP로 렌더링하고 원하는 영역만 잘라낸다. renderer는 그대로 둔 채 GDI halftone으로 down-convert하는 이유와 clip 매개변수 함정
PDF Library for Delphi에서 파일별로 내장, Cairo, PDFium 렌더러를 전환하는 방법: 런타임 엔진 탐지, DPI 스케일링 함정, 스스로 기록되는 폴백 체인을 다룹니다
losLab PDF Library가 Delphi에서 PDF 1.5 객체 스트림과 xref 스트림을 쓰는 방법: ObjStm 레이아웃, 타입 2 항목, W 필드 폭, 암호화 규칙을 설명합니다
PDF 레이어는 지도, CAD 도면 및 다국어 변형을 제어합니다. Delphi에서 PDF Library for Delphi로 Optional Content Groups와 표시 설정을 만들고 읽는 방법을 설명합니다. OCG, OCMD, 카탈로그 설정과 컴플라이언스 모드도 다룹니다
대부분의 Delphi PDF 라이브러리는 북마크와 주석 액션을 쓸 수는 있어도 다시 읽지는 못합니다. PDF Library for Delphi로 GoTo, URI, Launch, JavaScript 액션을 해석하는 법을 다룹니다
Delphi에서 PDF Library for Delphi로 PAdES-B-B, B-T, B-LT 서명 생성하기: 타임스탬프 예약, DSS 조립, 서명된 파일을 신뢰하기 전 ByteRange 감사를 다룹니다
PDFlibPas는 문서 전체가 아닌 특정 페이지에 임베디드 파일을 붙입니다. /AF 배열은 페이지 딕셔너리에, 페이로드는 EmbeddedFiles 이름 트리에 두는 PDF 2.0 구조를 다룹니다
losLab PDF Library의 Form XObject 캡처와 조합 가능한 워터마크 템플릿으로 Delphi에서 PDF 페이지를 나란히 스티칭하거나 벡터 정밀도로 오버레이합니다
losLab PDF Library로 Delphi에서 PDF 페이지를 병렬 렌더링하기: 작업 스레드당 TPDFlib 인스턴스가 하나씩 필요한 이유, GDI+용 CoInitialize, 안전한 로깅을 다룹니다
losLab PDF Library로 Delphi에서 PDF 크기를 줄이는 방법입니다. 임베드 폰트 서브셋화, 과대 이미지 다운샘플링, 오래된 LZW 스트림의 Flate 변환을 한 번에 처리합니다
PDF Library for Delphi로 Delphi에서 PDF 페이지를 시맨틱 Markdown이나 편집 가능한 DOCX로 내보냅니다: 추론된 제목, 목록, 표, Office 없이 스트리밍 쓰기를 지원합니다
Delphi에서 PDF Library for Delphi 내장 PDF/A 및 PDF/UA 프리플라이트 실행하기: 구조화된 결과, 비교 가능한 보고서, 저장 시점 수정, veraPDF 교차 검증을 다룹니다
XMP 속성을 선언하지 않은 Factur-X 인보이스는 veraPDF에서 실패합니다. PDF Library for Delphi가 fx 메타데이터용 PDF/A-3 확장 스키마를 추가하는 방법을 살펴봅니다
PDF/E-1은 엔지니어링 문서용 아카이브 프로파일입니다. SetPDFEMode author 모드, 콘텐츠 스트림을 연산자 단위로 읽는 상한 있는 프리플라이트, 저장 게이트의 수리와 거부 기준을 다룹니다
PDFlibPas가 델파이에서 PDF/UA 폰트 계층을 감사하는 방법. cmap과 CIDToGIDMap으로 글리프 폭을 해석하고, 보수적인 CharSet과 CIDSet 규칙을 적용하며, 콘텐츠 스트림을 스캔하는 과정을 설명합니다
PDFlibPas는 PDF/VCR-1 교체 템플릿을 StructTreeRoot의 자식 브랜치로 만듭니다. 저장 게이트와 매니페스트가 첫 브랜치만이 아니라 모든 최상위 브랜치를 순회하는 이유를 설명합니다
PDF Library for Delphi는 인코딩만 다를 뿐 시각적으로 동일한 PDF 이미지를 지각 해시와 세 가지 오차 임계값, 그리고 드라이 런을 이용해 병합합니다
인쇄된 페이지와 정확히 일치하는 Delphi 인쇄 미리보기 구현하기: PDF Library for Delphi의 디바이스 컨텍스트 렌더링, 가상 프린터, 배율 조정, DevMode 유지 방식을 다룹니다
지연 해시 인덱스, sRGB 감마 LUT, 첫 바이트 기반 오퍼레이터 디스패치, TStringBuilder까지 PDF Library for Delphi 렌더러의 반복 비용을 상각 패턴으로 바꾼 프로파일링 결과
PDFlibPas가 HTTP 범위 서버와 오브젝트 스토리지에서 수 기가바이트 PDF를 여는 방법. 읽기 콜백, 청크 정렬 캐싱, 요청 병합과 프리페치가 어떻게 맞물리는지 설명합니다
PDF Library for Delphi는 비밀번호가 없어도 원시 파일 암호화 키를 검증해 암호화 PDF를 읽기 전용으로 열고 Direct Access로 증거 무결성을 보존합니다
PDF Library for Delphi Delphi PDF 라이브러리가 문자열, 주석, 스트림 바이트를 무시하는 단일 패스 토큰 스캐너로 손상된 xref 테이블을 재구축하는 방법을 다룹니다
RecolorDocument가 PDF를 다시 그리지 않고 그레이나 RGB, CMYK 단일 색 공간으로 옮기며 색 연산자와 래스터 이미지, 인덱스 팔레트, 그라데이션 스톱을 함께 변환하여 인쇄기 제출 전 단일 색 공간 정규화를 Delphi에서 한 번의 호출로 완성합니다
PDF Library for Delphi로 PDF 페이지를 제자리에서 교체해 북마크, 링크, 폼 위젯이 깨지지 않게 하는 방법: 대상 페이지 객체는 그대로 유지하고 시각적 키만 이동시킵니다
비ASCII AES-256 PDF 비밀번호는 SASLprep 없이는 다른 리더에서 실패합니다. PDF Library for Delphi가 Delphi에서 ISO 32000-2와 RFC 4013에 따라 비밀번호를 준비하는 방법을 다룹니다
PLCreateSelfSignedCertificate는 Win32 CryptoAPI만으로 RSA/SHA-256 자체 서명 인증서와 PFX를 만든다. CryptGenKey 키 길이 flags와 CRYPT_EXPORTABLE, ProvType 일치까지 다룬다
PDFlibPas는 SHA-3과 SHAKE256을 단일 Keccak-f[1600] 코어에서 실행하며, pad10*1 도메인 바이트와 rate 규칙만으로 구분합니다. Delphi용 스트리밍 XOF도 함께 다룹니다
Pascal PDF 라이브러리의 빈 대체 구현 세 가지 형태, 성공을 보고하는 형태가 가장 찾기 어려운 이유, 그리고 출력 바이트를 들여다보아 찾아내는 진단 방법
PDF Library for Delphi는 알파 및 루미노시티 소프트 마스크를 작성하고, 이미지 Matte 항목을 설정하며, 투명도를 인쇄 가능한 PDF 1.3 파일로 평탄화합니다
PDF Library for Delphi로 Delphi에서 태그드 PDF를 생성하는 방법입니다. 그리면서 구조 트리를 만들고 표 헤더 의미, 아티팩트, 저장 시 PDF/UA 진단까지 다룹니다
PDF Library for Delphi는 추출한 UTF-16 문자 위치를 원본 content-stream byte 범위로 되돌려 매핑하고 kerning을 보존한 채 한 문자만 교체합니다
PDF Library for Delphi로 PDF에서 위치 정보가 있는 텍스트, 원본 이미지 스트림, 폰트 메타데이터를 추출하는 방법과 검색 및 감사 작업을 위한 추출 옵션을 살펴봅니다
SearchText로 페이지 범위를 훑으면 각 hit의 페이지와 bounding rectangle이 함께 돌아온다. 텍스트 블록과 이미지 열거, X/Y 교차 bound 배열, CJK 단어 단위 검색까지 정리
losLab PDF Library를 사용하여 Delphi에서 실제 PDF 리댁션을 수행합니다: RedactRegion은 콘텐츠 스트림 바이트를 삭제하고 SanitizeDocument는 메타데이터, 스크립트 및 작업을 제거합니다 Delphi에서 실제 PDF 리댁션(Redaction,
PDF Library for Delphi는 정준 동치인 텍스트를 매칭해 NFC 쿼리로 NFD 콘텐츠를 찾아내며, 모든 히트를 그래프힘 클러스터 경계 안에 유지합니다
PDF 파서는 공격 표면입니다. Delphi의 폰트와 이미지 디코더에서 정수 오버플로, 범위를 벗어난 쓰기, 무제한 재귀를 방어하는 방법을 설명합니다. 범위 검사와 메모리 초기화까지 실제 감사에서 확인할 방어 원칙을 정리합니다. 다섯 결함 범주와 최신 파서 설계 원칙을 함께 확인합니다
PDF는 완전한 2D 벡터 캔버스입니다. Delphi에서 PDF Library for Delphi로 패스와 Bézier 곡선, 축형 그라데이션을 그리고 even-odd와 nonzero 채우기를 처리하는 방법을 설명합니다. 타일링 패턴과 실무 조합, 출력 검증까지 함께 다룹니다
SetVerticalWritingMode를 켜면 Type0 폰트의 세로쓰기 글리프와 메트릭으로 일본어와 중국어가 페이지 아래로 흐른다. 괄호가 이상해 보이는 이유와 폰트 준비 요령
losLab PDF Library의 세션 간 디스크 페이지 캐시와 모니터별 DPI로 Delphi PDF 뷰어 속도 높이기: FNV-1a 핑거프린트, LRU 정리, WM_DPICHANGED를 다룹니다
PDF Library for Delphi는 WOFF2 웹 폰트를 가져오고, TrueType과 CFF2 가변 축을 일반적인 임베딩, 서브셋팅, 추출 경로가 처리할 수 있는 정적 폰트로 인스턴스화합니다
losLab PDF Library의 XFA 3.3 SOM 경로 표현식으로 Delphi에서 동적 XFA 양식의 반복 행 채우기: $record 루트, [*] 항목, 조건자를 다룹니다