순수 Object Pascal로 작성된 컴포넌트로 PDF 파일을 만들고, 편집하고, 보고, 렌더링하고, 추출하고, 암호화하고, 서명하고, 가리고, 검증해요. 파서, 라이터, 폰트, 이미지 디코더, 렌더러, 암호화 기능이 모두 애플리케이션에 컴파일되어 들어가므로 배포할 외부 PDF 엔진이 없어요. PDF 1.0부터 2.0까지 읽고 쓸 수 있으며, Delphi 7부터 13, 그리고 C++ Builder까지 지원해요.
sgcPDF는 PDFium, Ghostscript, COM 서버나 그 밖의 어떤 네이티브 라이브러리도 감싸지 않아요. 파싱, 쓰기, 폰트 임베딩과 서브셋, 이미지 디코딩, 렌더링, 암호화, 서명이 모두 sgcPDF_*.pas 유닛에 직접 구현되어 있어서, 실행 파일 하나가 배포의 전부예요.
15팔레트 컴포넌트문서, 편집기, 뷰어, 추출기, 서명까지. 폼 없이도 콘솔 애플리케이션이나 서비스에서 사용할 수 있어요.
0배포할 DLLDLL도, 외부 PDF 엔진도, OpenSSL도 필요 없어요. 파서, 렌더러, 폰트, 암호화 모두 Pascal로 작성되었어요.
처음 작성하는 페이지부터 서명하고 보관하고 가려서 전달하는 최종 파일까지, 모든 단계가 동일한 Object Pascal 코드베이스에서 실행돼요.
생성
코드, HTML, 캔버스로 만드는 문서
페이지, 14종 표준 폰트나 임베드·서브셋된 TrueType 및 OpenType 폰트로 된 텍스트, 이미지(JPEG, PNG, BMP, TIFF), 선, 곡선, 그래디언트, 페이지를 넘어 이어지는 표, 바코드와 QR 코드, 어노테이션, 북마크, 선택적 콘텐츠 레이어까지 만들 수 있어요. TsgcPDFHTMLRenderer는 CSS가 적용된 HTML을 페이지 단위 PDF로 변환하고, TsgcPDFCanvas와 EMF 재생 기능은 기존 드로잉 코드를 그대로 변환해요.
RC4 40/128, AES-128, AES-256 암호를 이용한 비밀번호 암호화, 인증서 암호화, 그리고 TsgcPDFSignatureHandler를 통한 표시 가능한 필드와 타임스탬프가 있는 전자 서명을 제공해요. TsgcPDFSignatureVerifier는 모든 서명의 무결성, 바이트 범위 커버리지, 인증서 체인을 검사하고, TsgcPDFRedactor는 내용을 가리는 대신 실제로 제거하므로 이후에는 지운 텍스트를 추출할 수 없어요.
TsgcPDFViewerControl은 VCL에 썸네일, 개요, 텍스트 선택, 검색, 폼 채우기, 인쇄 기능을 제공하고, TsgcPDFViewerFMX는 Windows, macOS, iOS, Android를 지원하며, TsgcPDFRendererRaster는 GDI 없이 Windows와 Linux 서버에서 페이지를 PNG로 변환해요.
TsgcPDFTextExtractor로 페이지 단위 또는 전체 문서의 일반 텍스트와 좌표, 폰트, 크기가 포함된 조각을 추출하고, TsgcPDFImageExtractor로 페이지 이미지를 PNG, JPEG, BMP로 디코딩해요. Flate, LZW, JPEG 2000, CCITT G3/G4, JBIG2 디코더를 지원해요.
sgcPDF는 PFX 인증서로 PDF 파일에 직접 서명하고 검증할 수 있어요. PAdES 베이스라인 등급 B-B, B-T, B-LT, B-LTA, 그리고 스마트카드, Windows 인증서 저장소, 클라우드 HSM에 보관된 키가 필요할 때는 선택적 TsgcPDFPAdESSigner 브리지가 별도로 라이선스되는 sgcSign의 키 공급자를 사용해요.
Delphi와 C++ Builder
Delphi 7부터 13까지, 그리고 생성된 헤더가 포함된 C++ Builder 2007부터 13까지의 런타임 및 디자인 타임 패키지를 제공해요. 체험판 다운로드는 아직 공개되지 않았으니 체험판을 신청하시면 사용 중인 IDE 버전에 맞는 설치 파일을 받아요.
PDF 1.0부터 2.0까지PDF/A-1, 2, 3PDF/UA-1PAdES B-B부터 B-LTA까지전체 소스