Delphi 7~13 と C++ Builder DLL不要

sgcPDF、Delphi と C++ Builder 向けの純粋 Pascal 製 PDF ライブラリ

すべて Object Pascal で書かれたコンポーネントで、PDF ファイルの作成、編集、表示、レンダリング、抽出、暗号化、署名、黒塗り、検証を行えます。配布する DLL や外部 PDF エンジンは必要ありません。パーサー、ライター、フォント、画像デコーダ、レンダラー、暗号化処理はすべてアプリケーションにコンパイルされます。コア部分は Windows、Linux、macOS、iOS、Android で動作し、VCL ビューアコントロール、FireMonkey ビューア、サーバー向けのラスタレンダラーも用意しています。ソースコード一式が付属します。

ソースコード一式
Windows, Linux, macOS, iOS & Android
Delphi 7 → 13, C++ Builder
外部依存ゼロ
15 コンポーネント sgcPDF_*.pas PDF 1.0~2.0、読み書き対応、純粋 Object Pascal 。
作成 TsgcPDFDocument
編集 TsgcPDFEditor
表示 TsgcPDFViewerControl
抽出 TsgcPDFTextExtractor
署名 PAdES B-B to B-LTA
PDF/A & PDF/UA TsgcPDFAValidator
黒塗り TsgcPDFRedactor
15 パレットコンポーネント ドキュメント、エディタ、ビューア、抽出、署名
0 配布が必要な DLL パーサー、レンダラー、フォント、暗号化も Pascal で
5 オペレーティングシステム Windows, Linux, macOS, iOS, Android
6 PDF/A 適合レベル PDF/A-1、2、3、レベル a と b、さらに PDF/UA-1

最初に知っておきたい、3つのこと

対象マシンにインストールするものは何もありません

sgcPDF は PDFiumや Ghostscript、COM サーバー、その他のネイティブライブラリをラップしません。解析、書き込み、フォントの埋め込みとサブセット化、画像デコード、レンダリング、暗号化、署名はすべて sgcPDF_*.pas ユニット内で実装されているため、実行ファイルそのものが展開一式となります。

コアユニットは VCL や FMX に依存しないため、同じコードがコンソールツール、Windows サービス、Linux デーモン、Web サーバーのいずれでも動作します。

対応プラットフォーム

どの部分がどこで動くか

作成、編集、テキストと画像の抽出、フォーム、暗号化、署名、黒塗り、PDF/A、ラスタレンダラーは Windows と Linux64、および macOS、iOS、Android 向けにコンパイルされます。GDI レンダラー、エクスポーター、VCL ビューアコントロールは Windows 専用であり、TsgcPDFViewerFMX は Windows、macOS、iOS、Android をカバーします。

高度な署名

sgcSign 経由の PAdES、基本的な署名は標準搭載

sgcPDF は単体で PFX 証明書を使って PDF ファイルの署名と検証を行えます。PAdES ベースラインレベル(B-B、B-T、B-LT、B-LTA)や、スマートカード、Windows 証明書ストア、クラウド HSM に保持された鍵には、オプションの TsgcPDFPAdESSigner ブリッジが別途ライセンスの sgcSign の鍵プロバイダーを利用します。

PDF ライフサイクル全体をカバーする単一ライブラリ

最初のページ作成から、署名されアーカイブされ黒塗りされた最終ファイルの引き渡しまで、すべてのステップが同じ Object Pascal コードベースで実行されます。

作成:コード、HTML、キャンバスからのドキュメント作成

ページ、14種の標準フォントまたは埋め込み・サブセット化された TrueType/OpenType フォントによるテキスト、画像(JPEG、PNG、BMP、TIFF)、線、曲線、グラデーション、ページをまたいで流し込む表、バーコードと QR コード、注釈、ブックマーク、オプションのコンテンツレイヤー。TsgcPDFHTMLRenderer は CSS 付き HTML をページ分割された PDF に変換し、TsgcPDFCanvas と EMF 再生は既存の描画コードを変換します。

機能を見る →

編集:自分で作成していないファイルを変更

透かし模様、ヘッダーとフッター、ページ番号やスタンプ、マージと分割、抽出、挿入、削除、回転、ページの並べ替え。増分保存は元ファイルに新しいリビジョンを追加するため、以前の署名は有効なまま保たれます。

機能を見る →

表示とレンダリング:VCL/FMX ビューアとサーバー向けレンダラー

サムネイル、アウトライン、テキスト選択、検索、フォーム入力、印刷に対応した VCL ビューアコントロール、Windows/macOS/iOS/Android 向け FireMonkey ビューア、そして GDI 不要で Windows と Linux サーバー上でページを PNG に変換する純粋 Pascal 製ラスタレンダラー。

機能を見る →

抽出:テキスト、座標、画像

ページ単位または文書全体のプレーンテキスト、座標・フォント名・サイズ付きのテキスト断片、およびページ内の画像を PNG、JPEG、BMP にデコードします。デコーダーは Flate、LZW、ASCII85、RunLength、JPEG(ベースライン/プログレッシブ)、JPEG 2000、CCITT G3/G4、JBIG2 に対応します。

機能を見る →

保護と署名:暗号化、署名、黒塗り

RC4 40/128、AES-128、AES-256 によるパスワード暗号化、証明書(公開鍵)暗号化、表示フィールドとタイムスタンプ付きの電子署名、sgcSign ブリッジ経由の PAdES B-B/B-T/B-LT/B-LTA、署名検証、そして覆うだけではなくコンテンツを削除する真の黒塗り。

機能を見る →

コンプライアンス:PDF/A、PDF/UA、タグ付き PDF、Factur-X

内蔵バリデータを備えたレベル a/b の PDF/A-1・PDF/A-2・PDF/A-3 出力、構造ツリーと代替テキスト付きタグ付き PDF、PDF/UA-1 チェック、PDF/A-3 関係付きの埋め込みファイル、Factur-X・ZUGFeRD・XRechnung 電子請求書の埋め込みに対応。

機能を見る →

数行の Delphi コード

このページの各サンプルは、sgcPDF のソースに対してコンパイル・実行されたプログラムから抜粋しています。座標は PDF ポイント(1/72 インチ)単位で、原点はページ左下にあります。

procedure CreateHelloPDF(const AFileName: string);
var
  oPDF: TsgcPDFDocument;
  oPage: TsgcPDFPage;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.Info.Title := 'Hello sgcPDF';
    // A4 portrait: 595 x 842 points, origin at the bottom left corner
    oPage := oPDF.AddPage(595, 842);
    oPage.DrawTextColor('Hello sgcPDF', 50, 780, sfHelveticaBold, 24, 0, 0.2, 0.6);
    oPage.DrawLine(50, 770, 545, 770, 1.5);
    oPage.DrawText('A PDF written in pure Pascal.', 50, 740, sfHelvetica, 12);
    oPDF.SaveToFile(AFileName);
  finally
    oPDF.Free;
  end;
end;
procedure StampExistingPDF(const AInput, AOutput: string);
var
  oEditor: TsgcPDFEditor;
  oWatermark: TsgcPDFWatermarkOptions;
begin
  oEditor := TsgcPDFEditor.Create;
  try
    oEditor.LoadFromFile(AInput);
    oWatermark.Text := 'CONFIDENTIAL';
    oWatermark.Font := sfHelveticaBold;
    oWatermark.FontSize := 48;
    oWatermark.Rotation := 45;
    oWatermark.Opacity := 0.3;
    oWatermark.R := 0.5;
    oWatermark.G := 0.5;
    oWatermark.B := 0.5;
    oEditor.AddWatermarkAllPages(oWatermark);
    oEditor.AddPageNumbers(sfHelvetica, 10, 'Page %d of %d');
    oEditor.SaveToFile(AOutput);
  finally
    oEditor.Free;
  end;
end;
procedure PrintAllText(const AFileName: string);
var
  oPDF: TsgcPDFDocument;
  i: Integer;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.LoadFromFile(AFileName);
    for i := 0 to oPDF.PageCount - 1 do
      WriteLn(string(oPDF.ExtractTextW(i)));
  finally
    oPDF.Free;
  end;
end;
procedure RenderPageToPNG(const APDFFile, APNGFile: string; ADPI: Integer);
var
  oPDF: TsgcPDFDocument;
  oRenderer: TsgcPDFRendererRaster;
  oPage: TsgcPDFPage;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.LoadFromFile(APDFFile);
    oPage := oPDF.Pages[0];
    // pure Pascal rasterizer: no GDI, runs on Windows and Linux servers
    oRenderer := TsgcPDFRendererRaster.Create;
    try
      oRenderer.RenderPageToPNG(oPDF.Parser, oPage.PageDict,
        Round(oPage.Width * ADPI / 72), Round(oPage.Height * ADPI / 72),
        APNGFile);
    finally
      oRenderer.Free;
    end;
  finally
    oPDF.Free;
  end;
end;

sgcPDF パレットの 15 のコンポーネント

フォームやデータモジュールにドロップするか、コードで作成します。どのコンポーネントもフォームなしでコンソールアプリやサービスから利用できます。

すべてのコンポーネント

トライアルとライセンス

sgcPDF は新製品です。トライアルや見積もりをご希望の場合は eSeGeCe までお問い合わせください。他の eSeGeCe 製ライブラリと同様、ライセンスにはソースコード一式が含まれます。

sgcPDF

  • 15 のコンポーネントすべてと sgcPDF_*.pas ユニット
  • Delphi 7~13 と C++ Builder
  • Windows、Linux、macOS、iOS、Android
  • ソースコード一式

eSeGeCe のその他の製品

sgcPDF を他の Delphi ・ C++ Builder 向けコンポーネントライブラリと組み合わせてご利用いただけます。

sgcSign

エンタープライズ向け電子署名。XAdES、PAdES、CAdES、ASiC に対応し、10 の鍵プロバイダーと 21 の EU 国別プロファイルを備えます。

詳しく見る →

sgcWebSockets

Delphi、C++ Builder、.NET 向けのエンタープライズ WebSocket、HTTP/2、MQTT、AMQP、WebRTC コンポーネント。

詳しく見る →

sgcHTML

Bootstrap と htmx を基盤とする、Delphi と C++ Builder 向けのサーバーサイド HTML/UI コンポーネント。

詳しく見る →

sgcCrypto

純粋 Object Pascal によるモダンな暗号学:AES-GCM、SHA-3、Ed25519、X.509、耐量子の ML-KEM と ML-DSA。

詳しく見る →
3,000+開発者
20+年
761+コンポーネント
30+API 連携
5プラットフォーム
30日間返金保証ご満足いただけない場合は、ご購入から30日以内に全額返金をリクエストできます。 返金ポリシーを見る

DLL 不要の PDF

既存の Delphi または C++ Builder コードから、PDF ファイルの作成、表示、署名、アーカイブを行えます。