ホーム | PDF Toolsホーム | お問い合わせ | 会社案内 |
bin | ライブラリやライセンスマネージャーなど |
doc | 使用説明書やjavadocなど |
include | C/C++用のヘッダー(.h)ファイル |
jar | SECA.jar(Javaのラッパー) |
lib | C/C++用のlibファイル |
samples | 各種開発言語のサンプル |
#include <stdio.h> #include "pdfsecureapi_c.h" #include "pdfsecuritydecl.h" int main() { PdfSecureInitialize(); // インスタンス生成 TPdfSecure* pDocument; pDocument = PdfSecureCreateObject(); // PDF文書を開く if(!PdfSecureOpen(pDocument, "Receipt2a.pdf", "")){ printf("Error opening PDF file %s.\n", "Receipt2a.pdf"); printf("Error 0x%X\n", PdfSecureGetErrorCode(pDocument)); return 1; } // 署名追加 TPdfSignature* pSignature; TPDFRect rect; int x,y, w,h; pSignature = PdfSignatureCreateObject(); PdfSignatureSetFontName1A (pSignature, "C:\\Windows\\Fonts\\msgothic.ttc"); PdfSignatureSetFontName2A (pSignature, "C:\\Windows\\Fonts\\msmincho.ttc"); PdfSignatureSetName(pSignature, "山田 太郎"); PdfSignatureSetIssuer(pSignature, "CA21-5"); PdfSignatureSetSerialNumber(pSignature, "15 A3"); PdfSignatureSetReason(pSignature, "受領済"); PdfSignatureSetLocation(pSignature, "東京"); x=470, y=590, w=h=30; rect.m_fRect[0]=(float)x, rect.m_fRect[1]=(float)y, rect.m_fRect[2]=(float)(x+w), rect.m_fRect[3]=(float)(y+h); PdfSignatureSetRect(pSignature, &rect); if(!PdfSecureAddSignature(pDocument, pSignature)){ printf("Error setting signature.\n"); printf("Error 0x%X\n", PdfSecureGetErrorCode(pDocument)); return 2; } if(!PdfSecureSaveAs(pDocument, "Receipt2pi.pdf", "", "", ePermNoEncryption, 0, "None", "None")){ printf("Error creating output file %s.\n", "Receipt2pi"); printf("Error 0x%X\n", PdfSecureGetErrorCode(pDocument)); return 2; } // 後始末 PdfSecureClose(pDocument); PdfSignatureDestroyObject(pSignature); PdfSecureDestroyObject(pDocument); PdfSecureUnInitialize(); return 0; }
第二引数 | 結果を格納するPDFファイル名 |
第三引数 | 出力PDFデータのユーザーパスワード 指定しない場合は、空の文字列(又は、NULL)を指定します。 |
第四引数 | 出力PDFデータのオーナーパスワード 空の文字列を指定すると、ユーザーパスワードが使われます。 |
第五引数 | パーミッション フラグ 規定値は、ePermNoEncryptionです。そのためPDFデータを暗号化する場合は、指定しなければなりません。なお、データがPDF/Aの場合は、暗号化を指定できません。 |
第六引数 | 暗号化の鍵長 規定値は、128です。 |
第七引数 | 暗号化のフィルター 規定値は、"V2"です。 |
第八引数 | ストリーム暗号化のフィルター 規定値は、"V2"です。 |
http://[username:password@]domain[:port][/resource]"username"と"password"は基本認証(Basic Authentication)のユーザー名とパスワードです。
// PDF文書を開く if(!PdfSecureOpen(pDocument, "http://www.pdf-tools.trustss.jp/data/Receipt2a.pdf", "")) { ... }
PdfSignatureSetImageFileNameA(pSignature, "Hanko.png");第二引数に印影画像ファイル名を指定します。
PdfSignatureSetTimeStampURLA(pSignature, "http://ca21.trustss.jp/tsa/");タイムスタンプ局(TSA)のURLをしています。
PdfSignatureSetText1(pSignature, "\t0,0 "); PdfSignatureSetText2(pSignature, "\t0,0 ");PdfSignatureSetText1で署名者情報を、PdfSignatureSetText2で理由や署名場所及び署名時刻の文字をNULLにします。 指定の文字を表示させる場合は、以下の形式を使います。
<TABコード><署名領域内のX座標>,<署名領域内のY座標><SPコード><表示する文字列>
PDF/Aについて |
PDFの構文解説 |