losLab 소프트웨어 개발 블로그

PDFium Component

Software Development Blog

PDFium Component

Delphi에서 PDFium Component를 사용하여 PDF 글꼴 속성 읽기

Delphi에서 PDFium Component를 사용하여 PDF 내부의 글꼴을 검사하세요. 글리프의 글꼴군 이름, 기본 이름, 두께, 기울임꼴 각도 및 글꼴의 포함 여부를 읽어옵니다. PDF의 모든 표시되는 문자는 해당 문자를 그린 글꼴에 대한 참조를 전달하며, PDFium

PDFium Component

Delphi에서 PDFium으로 PDF 보안 위험 감사하기

PDF를 신뢰하기 전에 위험 표면을 열거하십시오. Delphi에서 감사를 위해 PDFium이 문서 JavaScript, 실행 작업 및 서명 권한을 어떻게 읽는지 알아보십시오. PDF는 단순한 종이가 아닙니다. 파일을 열 때 실행되는 스크립트, 외부 프로그램을 시작하는 링크, 웹 서버에

PDFium Component

Delphi에서 PDFium Component로 PDF 뷰어 구축하기

Delphi에서 PDFium Component를 사용해 작동하는 PDF 뷰어를 조립하세요: TPdf를 TPdfView에 연결하고 문서를 불러와 렌더링한 다음 페이징, 확대/축소, 맞춤 모드 탐색 기능을 추가합니다. Delphi의 PDF 뷰어는 두 개의 컴포넌트와 이들 사이의 연결로

PDFium Component

Delphi에서 PDFium Component로 PDF 페이지를 JPEG 이미지로 렌더링하기

Delphi에서 PDFium Component를 사용하여 PDF 페이지를 JPEG로 래스터화합니다: DPI를 픽셀 크기로 변환하고, 각 페이지를 비트맵으로 렌더링한 다음, 선택한 품질로 TJPEGImage를 사용해 인코딩합니다. PDF 페이지를 JPEG로 렌더링하는 것은 사람들이 종종

PDFium Component

Delphi에서의 PDFium DLL 배포: 로드 실패 해결 가이드

Delphi에서 pdfium.dll 로드 실패 문제를 해결합니다: 32/64비트 ERROR_BAD_EXE_FORMAT 193 아키텍처 불일치 해결, 구버전 DLL 판별 및 스레드 안정성이 확보된 PDFium 컴포넌트 로드 방식 고객의 로컬 PC 환경에서 pdfium.dll이 정상적으로

PDFium Component

PDFium을 사용한 Delphi에서의 XFA 서식 탐지 및 XML 데이터 추출

PDFium 컴포넌트를 사용하여 Delphi에서 XFA 대화형 서식을 탐지하고 template, datasets 및 config 패킷을 순수 XML 데이터로 추출합니다 — 정적 패킷 추출 시 V8 엔진이 요구되지 않습니다 예 — PDFium은 XFA 서식을 완벽히 지원하지만, 여기에는

PDFium Component

델파이에서 PDFium 컴포넌트로 PDF에서 이미지 추출하기

델파이에서 PDFium 컴포넌트로 PDF 내장 이미지 추출: BitmapCount 읽기, 각 Bitmap[] 가져오기, 무음 열기 실패 처리 및 출력을 JPEG 또는 BMP로 저장. PDF는 이미지를 콘텐츠 스트림 내부에 일급 객체로 저장합니다. 페이지가 사진, 스캔 또는 다이어그램을

PDFium Component

PDFium Component를 사용한 Delphi에서의 PDF 텍스트 추출

PDFium Component를 사용하여 Delphi에서 PDF 텍스트 추출하기: Character[]를 통한 원시 글리프 접근, ReadablePageContent를 통한 단락 구조 분석 및 Active 유효성 체크 적용 방법 PDF 텍스트 추출은 간단해 보이지만, 텍스트 레이어가

PDFium Component

PDFium 컴포넌트 바인딩 강화: ABI 및 메모리 안전성

C 라이브러리를 Pascal로 래핑하면 날카로운 모서리가 숨겨집니다. cdecl 콜백부터 FPC Win64 포인터 너비 잘림까지 PDFium 바인딩의 실제 결함과 그 수정 사항을 확인해 보세요. C 라이브러리 기반의 Pascal 바인딩은 일반적인 Pascal 코드처럼 읽힙니다

PDFium Component

Delphi에서의 PDF 디지털 서명 검사 및 PAdES 레벨 판별

Delphi 및 Lazarus용 PDFium 컴포넌트를 사용하여 PDF 서식을 판독합니다: SubFilter, ByteRange, CMS 구조를 정밀 분석하고 PAdES B-B부터 B-LTA 표준 규격 레벨을 식별합니다 서명이 날인된 PDF 문서를 전달받은 상황에서, 뷰어 프로그램

PDFium Component

Delphi에서의 장기 보존 PDF 디지털 서명: PAdES B-LT 및 B-LTA

Delphi용 PDFium 컴포넌트를 사용하여 장기 보존 PAdES 서명을 작성합니다: B-T, B-LT, B-LTA 레벨 준수를 위한 RFC 3161 타임스탬프, DSS 검증 저장소 및 DocTimeStamp 탑재 서명에 사용된 인증서가 만료되거나 발급 기관(CA)의 키 갱신이

PDFium Component

PDFium을 사용한 N-up 임포지션 및 페이지 재배열

여러 PDF 페이지를 한 장에 배치하거나, 페이지 위치를 재배열하거나, 일부 페이지를 추출합니다. 델파이에서 PDFium의 임포지션 및 페이지 이동 API와 이들이 반환하는 핸들을 확인해 보세요. 병합과 분할은 모든 사람이 가장 먼저 찾는 두 가지 페이지 작업이며, 많은 부분을

PDFium Component

Delphi에서 안전한 PDF 사전 파싱: 이름 토큰

Delphi에서 서브스트링 키 조회가 PDF 사전 파싱을 손상시키는 이유: ISO 32000-1에 따른 전체 이름 토큰 매칭 및 악성 PDF 방지용 리소스 제한 PDF 이름 키는 접두사(prefixes)를 공유하므로 와 같은 부분 문자열(substring) 검색 방식은 PDF 사전을

PDFium Component

PDFium을 사용하여 Delphi에서 접근 가능한 PDF 리더 빌드하기

Delphi PDF 뷰어를 화면 판독기와 함께 작동하도록 만들기: 태그 지정된 읽기 순서 추출, 단어 수준 TTS 강조 표시 및 태그가 없는 PDF에 대한 정직한 대체 기능. 시각 장애인 사용자가 멋진 새 Delphi 뷰어에서 분기별 보고서를 열고, NVDA를 켠 다음 페이지 바닥글,

PDFium Component

PDFium 컴포넌트를 사용한 Delphi PDF 주석 검토

Delphi에서 PDF 주석 검토 패널 빌드: 페이지별로 마크업을 인덱싱하고, 모양 스트림 거부를 처리하며, 잔상 없이 주석 색상을 변경하거나 삭제합니다. PDF 주석은 페이지에 그려진 마크가 아니라 페이지에 첨부된 딕셔너리(dictionary)입니다

PDFium Component

Delphi에서 취소 가능한 Future를 사용한 백그라운드 PDF 렌더링

오래 걸리는 PDF 렌더링은 UI 스레드에서 분리해야 합니다. Delphi에서 PDFium 바인딩이 취소 가능한 Future를 사용하여 백그라운드 스레드에서 어떻게 작동하는지 알아보세요. PDFium에서 페이지를 렌더링하는 작업은 동기식입니다. 라이브러리를 호출하면 전달한 비트맵으로

PDFium Component

델파이에서의 취소 가능한 점진적 PDF 렌더링 (PDFium)

느린 페이지 렌더링으로 인해 UI가 멈추거나 끝까지 실행되어서는 안 됩니다. 델파이에서 IFSDK_PAUSE를 통해 PDFium의 점진적 렌더링을 어떻게 취소 가능하게 만드는지 확인하세요. 대부분의 PDF 페이지는 몇 밀리초 내에 래스터화(rasterise)되므로 여러분은 이를

PDFium Component

Delphi에서 암호화된 PDF를 조용히 패치할 수 없는 이유

PDFiumPas의 여섯 개 적합성 마커 주입기가 기존 /Encrypt 항목을 감지하면 왜 소스를 그대로 통과시키고, PAdES 서명기는 왜 아예 예외를 일으키는지, 그리고 적합성 스탬프·서명·암호화의 올바른 순서를 다룬다

PDFium Component

Delphi에서의 PDF 양식 필드 탐색 (PDFium Component)

Acrobat에서 채워진 PDF 양식이 비어 보이는 이유와 해결 방법: Delphi 뷰어에서의 FormFill 설정, 키보드 필드 이동 및 GenerateFormAppearances. 코드에서 작성한 PDF 양식에서 Tab을 누르면 커서가 있어야 할 곳에서 두 필드 떨어진 곳에

PDFium Component

PDFium을 사용한 Lazarus 및 Free Pascal용 PDF 뷰어

Delphi PDF 뷰어를 Lazarus 및 Free Pascal로 포팅하기: 문자열 인코딩 문제, 런타임 폼 생성, PDFium 바이너리 로드, Windows 외 환경에서의 TTS 지원. Delphi와 Lazarus는 동일한 Object Pascal을 컴파일하며, 바로 이러한

PDFium Component

Delphi 및 PDFium에서의 저시력자용 PDF 색상 필터

Delphi PDF 뷰어에 다크 모드 및 저시력자용 읽기 모드를 추가합니다: 렌더링 후 반전, 두 가지 종류의 그레이스케일, 명확하게 보이는 오버레이 색상. 저시력 독자는 기본 대비에서 흰색 배경의 검은색 텍스트를 알아볼 수 없으므로 다크 모드를 요구합니다

PDFium Component

Delphi의 PDFium VCL로 PDF/A 보관 적합성 만들기

Delphi의 PDFium Component로 veraPDF를 통과하는 PDF/A 아카이브를 만드는 방법을 설명한다. SaveAsPdfA, XMP와 ICC OutputIntent 주입, a/b/u 적합성, 실제 함정을 다룬다. 모든 파일을 PDF/A-1b라고 표시하는 변환기를

PDFium Component

Delphi에서 PDFium VCL로 PDF/A 사전검사 검증하기

PDFium Component로 Delphi에서 PDF/A 사전검사기를 구축합니다. 29개 검증 이슈를 토큰 스캔으로 점검하고, 파트별 게이트와 object stream 처리까지 수행하며, 전체 콘텐츠 파싱은 하지 않습니다. 아카이브 수집 게이트가 데스크 위의 어떤 뷰어에서도 멀쩡히

PDFium Component

Delphi에서 PDFium으로 PDF/UA 구조 트리 검증하기

PDFium VCL로 live PDF tag tree를 순회해 byte-level 스캔이 놓치는 PDF/UA 콘텐츠 오류를 잡습니다. Figure Alt, Formula 텍스트, Note ID 중복을 다룹니다. 사전검사 결과는 파일이 PDF/UA clean 하다고 말합니다

PDFium Component

Delphi에서 PDFium VCL로 PDF/VT 가변 데이터 인쇄 처리하기

PDFium VCL로 Delphi에서 PDF/VT-1 가변 데이터 인쇄 파일을 생성하고 검증합니다. DPart 트리, 필수 PDF/X-4 짝맞춤, ISO 16612-2 함정을 다룹니다. 트랜잭션 인쇄소가 8만 페이지 명세서 작업을 한 줄로 반려합니다

PDFium Component

PDFium Delphi 뷰어: 렌더 캐시 및 부드러운 확대/축소 전략

PDFium을 사용한 Delphi PDF 뷰어에서 확대/축소 및 스크롤을 부드럽게 유지하세요: 올바른 캐시 키, 비트맵 소유권, 점진적 렌더링 및 고해상도 메모리 예산 단순한 PDF 뷰어에서 확대/축소 버튼을 길게 누른 채 CPU 그래프를 살펴보세요

PDFium Component

델파에서 레이아웃 및 자동 줄 바꿈을 위한 PDF 텍스트 측정하기

PDF 텍스트를 배치하려면 그리기 전에 문자열 너비가 필요합니다. 델파이에서 자동 줄 바꿈을 위해 PDFium 바인딩이 페이지를 건드리지 않고 텍스트를 어떻게 측정하는지 확인하세요. PDF 페이지에 텍스트를 배치하는 호출은 간단합니다. 에 문자열, 폰트, 크기 및 위치를 지정하면

PDFium Component

편집 후 낡은 텍스트: PDFium의 FPDF_TEXTPAGE 캐시

PDFiumPas의 TPdf가 캐시된 FPDF_TEXTPAGE 구조체를 어떻게 관리하는지, 그리고 편집 직후 텍스트 조회가 왜 낡은 결과를 돌려주는지, 언제 자동으로 갱신되고 언제 그렇지 않은지를 다룬다

PDFium Component

Delphi PDFium의 이중 회전과 Fit-Zoom 버그

PDFium 컴포넌트의 FPDF_RenderPageBitmap이 페이지의 /Rotate 값에 회전을 추가로 얹는 방식 때문에, 저장된 회전값을 그대로 다시 넘기면 페이지가 두 번 회전하는 문제와 그로 인한 썸네일 fit-zoom 종횡비 오류를 다룬다

PDFium Component

Delphi PDFium 뷰어의 단어별 TTS 하이라이팅

PDFium 단어 상자를 사용하여 Delphi에서 텍스트 음성 변환(TTS)을 페이지 내 단어 하이라이트와 동기화하는 방법: TrackReadingWordAt, 렌더링 순서, 자동 스크롤 및 유니코드 함정 소리 내어 읽기 기능은 음성 외에도 눈에 띄는 한 가지 역할을 합니다

PDFium Component

델파이에서 PDFium 컴포넌트를 사용하여 PDF 문서 인쇄하기

델파이에서 PDFium 컴포넌트를 사용하여 PDF를 인쇄하세요: RenderPage와 rePrinting으로 페이지를 렌더링하고, StretchDIBits를 통해 비트맵을 TPrinter로 전송하며, 용지에 맞추고, 회전을 처리합니다. PDF 좌표는 포인트 단위이고, 프린터 좌표는

PDFium Component

PDFium으로 Form XObject를 통해 재사용 가능한 페이지 스탬프 만들기

워터마크나 로고를 한 번 그리고 모든 페이지에 배치하세요. 델파이에서 PDFium의 Form XObject가 어떻게 재사용 가능한 페이지 스탬프를 만드는지와 핸들 수명 규칙을 알아보세요. 문서의 모든 페이지에 워터마크나 로고를 스탬핑하는 것은 결과물을 파일 크기 검사기에서 열어보기

PDFium Component

PDFium Component를 사용한 Delphi에서의 AcroForm JavaScript 실행

PDFium Component를 사용하여 Delphi에서 AcroForm JavaScript 실행하기: 필드 계산 오작동 원인, V8 DLL 요구 사양 및 위험한 PDF 작업을 감시하는 호스트 이벤트 Acrobat에서는 합계 금액이 자동으로 재계산되는데 자체 개발한 Delphi

PDFium Component

델파이에서 PDFium으로 대용량 PDF 온디맨드 스트리밍하기

수 기가바이트의 PDF를 통째로 로드할 필요가 없습니다. TStream 어댑터가 PDFium의 온디맨드 FPDF_FILEACCESS 콜백에 어떻게 데이터를 제공하는지, 그리고 왜 델파이에서 4 GiB 제한에 대한 방어가 필요한지 알아보세요. 스캔된 아카이브는 단일 PDF에서 수

PDFium Component

델파이에서 PDFium 컴포넌트를 이용한 PDF 문서 나란히 비교

델파이에서 PDFium 컴포넌트를 사용하여 두 개 또는 세 개의 독립 패널, TPdfView.Zoom을 통한 개별 확대/축소, 동기화된 페이지 탐색 기능을 갖춘 병렬 PDF 뷰어를 구축하세요. 한 번에 두 개의 문서를 엽니다. 동일한 페이지 번호를 가리키며 각각 스크롤 가능한 고유

PDFium Component

압축된 PDF 유효성 검사: 객체 및 XRef 스트림

최신 PDF는 압축된 객체와 xref 스트림 안에 구조를 숨깁니다. 델파이 유효성 검사기가 어떻게 ObjStm을 확장하고 PDFium으로 xref-stream 트레일러를 읽는지 알아보세요. 작은 유효성 검사기를 작성합니다. PDF를 열고, 끝으로 이동하여 를 찾고, 오프셋을 읽은 다음