PDF Stamper 電子印鑑 C#サンプル

PDF Stamper 電子印鑑 作成・追加 C#サンプルと解説

PDF Stamperは、PDF文書に電子印鑑や文字列・画像などを追加するライブラリです。 (Stamper 概要はこちらです。)

価格見積り

他の開発言語サンプル: C++のサンプル VB.NETのサンプル
オンライン作成

ダウンロード
PDF Stamperの無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能を試用できます。
利用許諾契約書をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾契約書に同意したものとみなされます。
評価利用では、ライセンスキーが必要です。必ずダウンロードしてください。

インストール

ライブラリは無償でダウンロードおよび試用できます。ダウンロードしてから、適当なフォルダーに解凍してください。以下のようなフォルダーができますので適宜ご利用ください。
docライブラリ説明書、利用許諾契約書
includeC/C++用ヘッダー(.h)ファイル
libDLLライブラリ、Libファイル
sampleC/C++言語、C#/VB.NET言語サンプル
サンプル実行前にlib/PdfStamperNET.dllを参照設定に追加し、lib/PdfStructure.dllを適切なフォルダーにコピーしてください。

PDF文書に電子印鑑を作成・追加するC#サンプルと解説

PDF文書にXMLデータで指定した電子印鑑(検印)を作成追加するC#のサンプルコードです。
(C++VB.NETのサンプルはこちらです。)

using System;
using PDFTools.PdfStructure;

namespace Stamp
{
    class Stamp
    {
        static void Main(string[] args)
        {
            //インスタンス生成
            PdfStamp stmp = new PdfStamp();

            //初期化
            if (stmp.Initialize("ライセンスキー") != 0)
            {
                Console.WriteLine("ライセンスキーが不正です。");
                Environment.Exit(2);
            }

            //オープン
            if (stmp.OpenDoc("in.pdf", null) != err.MLP_NO_ERROR)
            {
                Console.WriteLine("PDFファイルを開けません。");
                Environment.Exit(3);
            }

            //スタンプ(電子印鑑)追加
            stmp.PaintStampFile("電子印鑑.xml");

            //PDFを出力
            stmp.SavePDF("出力.pdf");

            //文書クローズ
            stmp.CloseDoc();

            //後始末
            stmp.Uninitialize();
        }
    }
}
Initialize 初期化
引数にライセンスキーを指定します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
OpenDoc PDFファイルを開く
指定したファイルが画像への変換対象になります。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数:PDFファイル名
第二引数:パスワード(パスワードで暗号化されている場合)、またはNULL
第一引数PDFファイル名
第二引数パスワード(パスワードで暗号化されている場合)、またはNULL
PaintStampFile XMLデータで指定された電子印鑑をPDF文書に追加します。
引数はXMLファイル名を指定します。
SavePDF 電子印鑑が追加された(変更された)PDFデータをファイルに出力します。
引数はPDFファイル名を指定します。
CloseDoc開いたPDFファイルを閉じます。
Uninitialize 終了します。

電子印鑑を追加するためのXMLデータは以下です。
<?xml version="1.0" ?>
<pdfstamp xmlns="http://www.trustss.co.jp/2019/PDFStamp/">
  <stamp pos="195 65" layer="annotation" unlock="true" page="1" BlendMode="Normal"
      creator="田中" subject="検印" >
    <circle size="40" sub="10" line-width="1" stroke-color="0 .75 .75 0" />
    <text value="検" font-name="MS Mincho" font-size="10.5" color="0 .75 .75 0" expand="15 0 0 27" />
    <text value="{Localtime:%Y.%m.%d}" format="true" font-name="Calibri" font-size="7"
      color="0 .75 .75 0" expand="6 0 0 17.5" />
    <text value="田中" font-name="MS Gothic" font-size="10" color="0 .75 .75 0" expand="11 0 0 3" />
  </stamp>
</pdfstamp>
pdfstamp タグスタンプ(電子印鑑)定義
 属性
xmlns(必須)サンプルのとおり指定します。
stamp タグ追加するスタンプの詳細指定
 属性
page(必須)スタンプを追加するページを指定
ページ番号で指定します。数字以外に、
"first"(先頭ページ)、"all"(全てのページ)などを指定できます。
posスタンプを追加する位置
"X座標 Y座標"と指定します。原点は左下です。
layerスタンプを追加するオブジェクトを指定
"annotation":注釈として追加
"foreground":ページの最前面にページコンテンツとして追加
"background":ページの最背面にページコンテンツとして追加
unlock"true"でAnnotationスタンプの場合に変更(移動・回転・拡大縮小)が可能
BlendModeスタンプを表示する際のブレンドモードを指定
"Mornmal"や"Multiply"などを指定できます。
creatorスタンププロパティ「作成者」に表示する文字列 注釈として追加する場合だけ有効
subjectスタンププロパティ「タイトル」に表示する文字列 注釈として追加する場合だけ有効
circle タグ枠線定義
 属性
size(必須)円(外周)の直径
sub日付部分の高さ
line-width線の太さ
stroke-color線の色
text タグ印鑑の文字列
 属性
value(必須)表示する文字列
formatvalue属性の中かっこで囲まれたフォーマットに従って内容を変更します。
フォーマットはstrftime()の指定に準じます。
font-name文字列のフォント
font-size文字列の大きさ
color文字列の色(グレースケール、RGB、CMYKで指定可能)
wmode横書き(horizontal)、縦書き指定(vertical)
expand文字列と境界の間隙を拡張
【結果】

結果PDF

オンライン電子印鑑(日付印)作成

オンラインで電子印鑑(サンプル)を作成します。
設定を変更して「作成」ボタン(設定を変更すると表示されます)で再作成します。
画像は2倍(144DPI)に拡大されています。

画像サイズ:x [mm]
表示位置(左下原点からの移動距離):
  X:、 Y:[mm]

表示文字列:
文字間隔:[倍]
フォント:
フォントサイズ:[mm]
テキスト色:
テキスト拡大/縮小:  横方向[倍]  縦方向[倍]
テキスト移動:  右へ[mm]  上へ[mm]

枠直径:[mm]
日付枠高さ:[mm]
枠線幅:[mm]
枠線色:

  

無償評価版

PDF Stamper の無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要ですので必ずダウンロードしてください。

ご質問、お問い合わせ

メールで support@TrustSS.co.jp 宛てにお送りください。
または、質問のページからお送りいただくようお願いします。ご要望も承っております。

PDF Toolsライト

PDF Stampサンプル

PDF 構文解説

(ISO32000-1より)

PDF Tools C++サンプル