.NET/COM プログラムから PDF の編集や操作を可能にするライブラリ

ActivePDF Toolkit で PDF の作成、編集

ActivePDF Toolkit は、ソフトウェア開発者向けの PDF 処理用のライブラリです。シンプルで直感的な .NET および COM インターフェイスを通じて、大部分の PDF 作成・編集作業の動的な処理が可能になります。

PDF ファイルへの認証、すかしの追加、Flash ファイルの埋め込み、フォーム フィールドの作成、ヘッダー/ フッターの作成、ページの抽出や結合、コメントの追加、その他にも多数の PDF ファイルへの操作を ActivePDF Toolkit で簡単に行うことができます。

ActivePDF Toolkit の特長

  • 既存の PDF の編集や新規 PDF の作成
  • 40-bit、128-bit、256-bit の暗号化、パスワードによる保護や電子署名の機能
  • フォームフィールドの作成およびデータの入力
  • PDF の結合、分割、ステッチ機能
  • 文字列や画像、すかしの追加
  • バーコードの動的な生成

ActivePDF Toolkit の使用例

  • Web ベースのデータを収集し、SQL サーバー データベースへ格納し、署名用の PDF フォームの生成。
  • 添付ファイルを含む複数ページの PDF 文書を単一ページの PDF 文書を作成。
  • 複数の PDF 文書を結合し、読みやすいようにユーザーの好みに合わせたしおりの作成。
  • PDF 文書へのセキュリティの追加。
  • データベースから PDF 文書内のフォーム内への動的なデータ入力やフォームからのデータの抽出。
  • バーコードの生成、透かしの追加、暗号化など、紙ベースの文書処理の強化。
  • 特定ページへのクライアント情報や会社ロゴのスタンプの追加。

C# を使った ActivePDF Toolkit のコード例

新しく PDF ファイルを作成するコードの例

  // オブジェクトのインスタンス化
  APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit();
  
  // 新しい PDF ファイルの作成
  intOutFile = oTK.OpenOutputFile("new.pdf");
  
  // 新しいページの作成
  oTK.NewPage();
  
  // 文字列のフォントと場所を指定して追加
  oTK.SetFont("Helvetica", 24);
  oTK.PrintText(72, 720, "Hello World!");
  
  // 貼り付ける画像の場所を指定して追加
  oTK.PrintJPEG("IMG.jpg", 72, 144, 0, 0, 0);
  
  // 新しいファイルを閉じて、PDF 作成完了
  oTK.CloseOutputFile();
            

ActivePDF Toolkit 8.1.1 リリース (2018/3/26)

このリリースでは、以下の機能強化と過去に報告された問題の修正が主な改善点となっています。詳細は製品の リリースノートをご参照ください。

  • フィールドの回転: フィールド内のテキストの向きではなく、フィールド自身を回転できるようになりました。
  • SetOutputArtBox, SetOutputBleedBox, および SetOutputTrimBox のオプションのページ番号が、その他の SetOutput メソッドと一致するようになりました。
  • NumPages で、パスワード付きの PDF ファイルのページ数を取得できるようになりました。
  • JPEG 2000 画像に対応しました。

ActivePDF Toolkit 8.1.0 リリース (2018/1/29)

製品のバージョン表記が変更となりました。このリリースでは、過去に報告された問題の修正とパフォーマンス向上のための内部のコーディングが更新されています。詳細は製品の リリースノートをご参照ください。

ActivePDF Toolkit 2018 R1.0 リリース (2017/11/20)

ActivePDF Toolkit 2018 R1.0 では、以下の機能が追加されています。リリース情報については、製品の リリースノートからもご確認いただけます。

ブックマーク マネージャー
BookmarkManager オブジェクトは PDF 内のブックマーク機能を監視し、PDF 内にブックマークツリーの作成、既存のブックマークツリーの変更が可能です。ブックマークツリー内で、ブックマークの追加、削除、または変更、テキストのスタイルや色、ブックマーク先などのプロパティを設定することができます。

ページのラベリング
SetOutputPageLabel を使用すると、サムネイル表示部分の PDF ページのラベルに番号を付けることができます。1 つのページに番号を付けたり、ページ範囲の設定、またはサムネイル表示をカスタマイズして、テキストラベルと数字の両方を使用することができます。

Append Mode (追加モード)
Toolkit.OpenOutputFile メソッドに、PDF に加えた変更情報を追加できるパラメータが用意されました。Append Mode にすると、追加した変更は PDF (の内部構造) の末尾に追加されます。Append Mode では、CopyForm メソッドを呼び出すたびに新版が作成され、デフォルトでは、新版のみが PDF リーダーに表示されます。新しいメソッドの RestoreFile を使用することで、以前の旧版に戻すこともできます。

メディアボックスの境界線
SetOutputMediaBox メソッドを使用すると、PDF にカスタム メディアボックスを設定できます。

ActivePDF Toolkit 2017 R1.2 リリース (2017/9/5)

ActivePDF Toolkit 2017 R1.2 では、過去に報告された問題の修正が主な改善点となっています。詳細は製品の リリースノートをご参照ください。

ActivePDF Toolkit 2017 R1.1 リリース (2017/7/7)

ActivePDF Toolkit 2017 R1.1 では、過去に報告された問題の修正が主な改善点となっています。詳細は製品の リリースノートをご参照ください。

ActivePDF Toolkit 2017 R1.0 リリース (2017/4/24)

ActivePDF Toolkit 2017 R1.0 では、以下の機能が追加されています。リリース情報については、製品の リリースノートからもご確認いただけます。

複数ファイルを一回のコールで結合
新しい MergeFiles メソッドを使用することで、複数のファイルを 1 つの出力 PDF ファイルに結合することができます。ファイルを渡した順に結合できます。 UNC (Universal Naming Convention) のファイル パスを使用してファイルを結合し、異なるディレクトリにあるファイルも結合が可能です。

信頼済みサーバーからのタイムスタンプ
PDF ファイルに電子署名を追加する際に、タイムスタンプも追加できるようになりました。TrustedServerURL プロパティで、信頼済みサーバーを定義して、TimeStamping プロパティを使用して、タイムスタンプを取得します。

注釈の削除、編集、追加
新しい Annotation オブジェクトと AnnotationManager オブジェクトのメソッドとプロパティを使用すると、ハイライト、円、四角形、および FreeText の吹き出しなどの注釈をプログラムで削除、編集、追加できます。

ID によるフォームフィールド情報の取得
FieldInfoByID プロパティを使用することで、フォーム フィールドの情報を取得することができます。

ActivePDF Toolkit 2016 R2.2 リリース (2017/2/13)

ActivePDF Toolkit 2016 R2.2 では、過去に報告された問題の修正が主な改善点となっています。詳細は製品の リリースノートをご参照ください。

ActivePDF Toolkit 2016 R2.1 リリース (2016/12/19)

ActivePDF Toolkit 2016 R2.1 では、以下の改善が追加されています。また過去に報告された問題も改善されています。詳細は製品の リリースノートをご参照ください。

  • 対応するデスクトップ OS に Windows 10 が追加されました。
  • StitchPDF メソッドが改善され、以前のリリースと比較して約 60% 程処理速度が改善されました。

ActivePDF Toolkit 2016 R2.0 リリース (2016/9/19)

ActivePDF Toolkit 2016 R2.0 では、以下の新機能が追加されています。また過去に報告された問題も改善されています。詳細は製品の リリースノートをご参照ください。

暗号化された XMP メタデータの制御
新しい EncryptMetadata プロパティを使用することで、EncryptPDF または SetPDFSecurity などの暗号化のコールを使用した場合でも、XMP メタデータの暗号化を防ぎます。これにより、パスワードなしで、暗号化された PDF の検索やメタデータの索引を作ることが可能になります。

PDF の初期表示の設定
InitialViewInfo クラスにより、PDF の初期表示方法を変更できます。InitialViewInfo プロパティで、ページ レイアウト、ウィンドウサイズ、開くページ番号などを設定可能です。
線の色
SetLineColor メソッドを使用することで、MoveTo および DrawTo メソッドで描く線の色を設定できます。

使用されている二重モード (デュプレックスモード) のチェック
GetDuplexMode メソッドで使用されている二重モードを確認できます。

PDF からハイパーリンクの削除
RemoveHyperlinks プロパティで、外部および内部へのリンクを削除することができます。

ActivePDF Toolkit 2016 R1.4 リリース (2016/7/27)

ActivePDF Toolkit 2016 R1.4 では、過去に報告された問題の修正が主な改善点となっています。詳細は製品の リリースノートをご参照ください。

ActivePDF Toolkit 2016 R1.3 リリース (2016/5/25)

ActivePDF Toolkit 2016 R1.3 では、GetInputFields プロパティが改善され、フィールド インスタンスのソート方法を選択できるようになりました。また、過去に報告された問題の修正も加わっています。詳細は製品の リリースノートをご参照ください。

ActivePDF Toolkit 2016 R1.1 リリース (2016/2/12)

ActivePDF Toolkit 2016 R1.1 では、過去に報告された問題の修正が主な改善点となっています。詳細は製品の リリースノートをご参照ください。

ActivePDF Toolkit 2016 R1 リリース (2015/12/9)

ActivePDF Toolkit 2016 R1 がリリースされました。ActivePDF Toolkit 2016 では、新たに XMP サポート、AES 256 暗号化サポート、PDF の圧縮機能が加わり、より強力な PDF 開発ツールとなりました。詳細は製品の リリースノートをご参照ください。

ActivePDF Toolkit 2011 R5.2 (Build 5.5.2.16278) リリース (2015/10/13)

ActivePDF Toolkit 2011 R5.2 では、過去に報告された問題の修正が主な改善点となっています。詳細は製品の リリースノートをご参照ください。ActivePDF Toolkit 2011 R2 から R4.3 までのリリースでは、以下の機能が追加されています。

Windows Server 2012 のサポート

License Manager 2013 の採用

ページの向きに合わせたヘッダーの自動回転
AutoRotateHeader プロパティは、ページが回転しているか判断し、回転している場合、ヘッダーをページの向きに合わせます。

ページの向きに沿ったヘッダーおよびページ別のヘッダーの作成
以下のプロパティで、PageNbr の値を使用できるようになりました。
  • AddToStream
  • DrawTo
  • GreyBar
  • LineWidth
  • MoveTo
  • PrintImage
  • PrintJPEG
  • PrintMultilineText
  • PrintText
  • PrintTIFF
  • ResetTextColor
  • SetFont
  • SetTextColor
  • SetTextColorCMYK
  • SetTextStrokeColor
  • SetTextStrokeColorCMYK
  • StitchPDF
  • VisiblySignFile
テキストの透過サポート
次の新しいメソッドで、テキストおよびヘッダー テキストの透過をサポートします。
  • SetTextTransparency
  • ResetTextTransparency
  • SetHeaderTextTransparency
  • ResetHeaderTextTransparency
PDF 1.7 サポート
PDF バージョン 1.7 で PDF を出力できるようになりました。

画像処理の向上
    JPEG として画像の埋め込み
    SaveImageAs メソッドを使用して、PNG、BMP および GIF 画像を JPEG として埋め込むことで、ファイル サイズを縮小します。

    画像の解像度の保持
    DoNotScaleImageToPDFUnits を使用して、画像の解像度を保持します。
パフォーマンスの向上
    不要なフォントの削除
    SetFlattenedFontMapping メソッドを使用すると、使用していないフォントが断片化する場合があります。DeleteUnusedFonts を使用することで、これらのフォントを削除することができます。

    フラット化後のフォーム フィールドの削除
    DeleteFormFieldsAfterFlattening プロパティを設定すると、フィールドをフラット化した後に、内部でのフィールドの表現を削除できます。

一部エディションの販売終息について

製品の開発元の意向により、2012年 2月 29日をもちまして、ActivePDF Toolkit Standard の販売は終息となりました。

開発元の定めるエンド オブ ライフ ポリシーにより、販売終息発表後、6ヶ月間 (2012/8/21 まで) は、製品のメンテナンス リリース、パッチ、バグ修正がリリースされた場合は、これまで通り無償で提供され、販売終息発表後 1 年間 (2013/2/21 まで) は、引き続き製品のテクニカル サポートが提供されます。 なお、これらのサービスをご利用いただくには、有効なサブスクリプションが必要となります。後継製品は、以下の通りです。

 販売終息製品  後継製品
 ActivePDF Toolkit Standard  ActivePDF Toolkit Professional

ActivePDF Toolkit Professional では、Standard で利用できる全てのメソッドおよびプロパティを利用することができます。Professional へアップグレードいただくことにより、使用可能なメソッドおよびプロパティが増えます。Professional でのみ使用可能なコールの詳細は、製品の API リファレンス「Calls Available in Toolkit Pro」をご参照ください。

また、現在の最新版である ActivePDF Toolkit 2011 では、Standard と Professional は、同じインストーラーで提供され、入力するシリアル番号により、エディションが切り替わる仕組みとなっています。その為、Standard から Professional へアップグレードした場合も、製品の再インストールなしに、Standard で使用していたメソッドやプロパティをそのままご利用いただけます。

動的な PDF フォームの作成と編集

ActivePDF Toolkit では、フォーム フィールドを作成したり、カスタム PDF テンプレートにデータベースからの情報を動的に流し込むことが可能です。 更に、Toolkit のフォーム入力機能を使用することで、XML を含むデータソースからのデータを動的にフォーム フィールドに挿入できます。 また、ActivePDF Toolkit では、ユーザが画像をフォーム フィールドに追加することも可能です。画像の配置位置やサイズも簡単な操作で思いのままに指定できます。 Toolkit のフォームの単層化機能では、不必要なフォームを削除して、コンテンツだけを残します。これにより、ファイルサイズを大幅に縮小できます。

抽出と結合

ActivePDF Toolkit では、2 つ以上の PDF ファイルを結合することができます。 この機能を使用することで、複数のレポートを 1 つにまとめることができます。 また、ページを抽出したり、ページを追加することもできます。 さらに、ブックマークの取得や、追加、そのほか多数のオプションが提供されています。

テキスト・画像スタンプ

ActivePDF Toolkit では PDF ファイルにテキストや画像をスタンプとして追加できます。 フォントは、サーバで使用可能なすべてのフォントを使用できます。サイズや色の指定も可能です。 スタンプの角度も自在に設定できます。 ActivePDF Toolkit のテキスト幅を計算する方法では、テキストの位置を自由に設定できます。 これにより、自動的にページ番号やヘッダー、フッター、すかしなどを 1 ページにも、指定したページにも、 全ページにも追加することができます。

ActivePDF Toolkit Professional では、スタンプ機能で 40 以上の画像形式をサポートします。これにより、活用方法が大幅に広がります。

ステッチ機能

ActivePDF Toolkit のステッチ機能では、複数の PDF ファイルから必要な部分を抜き出して 1 つの PDF ファイルにすることができます。 これにより、既存のドキュメント作成に費やした時間を無駄にすることはありません。

認証と PDF セキュリティ

電子認証技術は、強度な暗号化技術と公開キーの仕組みを用いることで、ドキュメントの認証と否認防止機能を提供します。 ActivePDF Toolkit では、サーバー上の certificates を用いて動的に電子認証を PDF ファイルに適用することができます。 また、certificates を作成することもできます。これにより、組織内のすべてのユーザが認証をすることを可能にします。 更に、暗号化や暗号化されたファイルの解読を簡単な API ですることもできます。Toolkit は、以下の種類のセキュリティを提供しています。

  • 40 ビット、128 ビットおよび 256 ビット暗号化
  • PDF ファイルにパスワードを付加
  • 印刷許可の設定
  • テキストや画像のコピー許可の設定など

バーコード

ActivePDF Tookit は、バーコード オブジェクトを提供します。これにより、20 種類以上の標準バーコードを生成できます。 これには、サード パーティ製のユーティリティやバーコード フォントが必要ありません。 生成されるバーコードを既存の PDF ファイルに追加したり、新規の PDF ファイルに追加できます。また、XML として エキスポートすることも可能です。 ActivePDF Tookit で提供されるバーコード技術は、標準の仕様に準拠していますが、できる限りのカスタマイズが可能であるため、 企業が必要とする出力が可能です。開発者は、バーコード形式、値、サイズ、位置、傾き、コメントのテキスト、色を自在に操作できます。数値、アルファベット、2D バーコードの生成・配置が簡単におこなえます。

製品機能

 
Set font (フォントの設定) ActivePDF Toolkit
テキスト、画像の PDF 出力 ActivePDF Toolkit
用紙サイズの指定 ActivePDF Toolkit
COM インターフェース ActivePDF Toolkit
Base14 フォント & TrueType フォント サポート ActivePDF Toolkit
表示設定の指定 ActivePDF Toolkit
メモリ・ディスクへの書き出し ActivePDF Toolkit
描画オブジェクト サポート ActivePDF Toolkit
重複したオブジェクトの削除 ActivePDF Toolkit
ダブル バイト文字サポート (一部) * ActivePDF Toolkit
JPEG ファイルを PDF ファイルへ変換 ActivePDF Toolkit
フォーム フィールドの値の取得 * ActivePDF Toolkit
TIFF を PDF ファイルへ変換 ActivePDF Toolkit
PostScript フォント サポート ActivePDF Toolkit
他の PDF を透かしとして埋め込む ActivePDF Toolkit
40 bit RC4 /128 bit RC4 暗号化 ActivePDF Toolkit
128 bit AES / 256 bit AES 暗号化 ActivePDF Toolkit
PDF ページの追加と抽出 ActivePDF Toolkit
ページ番号などのテキストを PDF へ追加 ActivePDF Toolkit
しおりの作成 ActivePDF Toolkit
Text2PDF インターフェース ActivePDF Toolkit
 
PDF フォーム フィールドの作成と編集 * ActivePDF Toolkit
メモリ・ディスクからの PDF の追加/結合/分割 ActivePDF Toolkit
メモリ・ディスクから画像を使用 ActivePDF Toolkit
PDF フォーム フィールドの埋め込み ActivePDF Toolkit
データベースからの値をフォームに入力 ActivePDF Toolkit
PDF フォーム フィールドの追加 ActivePDF Toolkit
コンボ ボックスの値を設定 ActivePDF Toolkit
ヘッダ・フッタの追加 ActivePDF Toolkit
PDF へスタンプを追加 ActivePDF Toolkit
バーコード対応 ActivePDF Toolkit
PDF ファイルから Meta データを抽出 ActivePDF Toolkit
フィールド情報の取得 (name, javascript, など) ActivePDF Toolkit
PDF バージョン 1.2、1.3、1.4、1.5、1.6、1.7 のサポート ActivePDF Toolkit
コメントの追加・抽出 ActivePDF Toolkit
リニアライズ (転送バイトのセーブ) ActivePDF Toolkit
40 種類以上の画像ファイルを PDF に変換 ActivePDF Toolkit
ステッチ機能 ActivePDF Toolkit
フォームへの XML データの挿入・抽出 ActivePDF Toolkit
電子認証 ActivePDF Toolkit
Flash ファイルの埋め込み ActivePDF Toolkit
フィールド情報の設定 ActivePDF Toolkit

※ フォームフィールドでのダブルバイト フォントの対応については、ご購入前に評価版にて動作の確認をお願い致します。

ActivePDF Toolkit 8.1.0 のシステム要件

最新版のシステム要件は、 製品のリリースノートでご確認ください。

オペレーティング システム

サーバー OS

  • Windows Server 2008 R2
  • Windows Server 2012 R2
  • Windows Server 2016

デスクトップ OS

  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows 10

注意 Toolkit 2017 およびそれ以降のバージョンを Windows Server 2012 にインストールする場合、Windows Server 2012 用の 2 つの Microsoft Update ( KB2919442 (Windows8.1-KB2919442-x64.msu) および KB2919355 (clearcompresssionflag.exe および Windows8.1-KB2919355-x64.msu)) を適用する必要があります。詳細は こちらのページをご参照ください。

※ リモート デスクトップ サービス (RDS)、ターミナル サービス、および Citrix 環境で使用される場合は、製品のご購入前に評価版で十分な動作確認を行ってください。

Toolkit の機能をリモートデスクトップを通じて使用することは可能ですが、ユーザー独自のアプリケーションで、ネットワークを通じて Toolkit の DLL へアクセスするといった使用方法では、Toolkit は機能しない場合があります。この場合、各クライアントマシンへ Toolkit をインストールする必要があり、ライセンスも必要になります。

最小ハードウェア要件

  • 125 MB 以上の RAM
  • 50 MB 以上のハードディスクの空き容量 (アプリケーション用)

開発プログラミング言語

  • Visual Basic 6.0
  • Visual C++ 6.0
  • ASP / ASP.NET
  • Visual Basic.NET
  • Visual C# .NET
  • Visual C++ .NET
  • ColdFusion
  • Delphi
  • VBScript
  • その他 COM をサポートするプログラミング言語

その他

  • Toolkit の .NET コンポーネントを使用する場合は、Microsoft .NET Framework 1.1、2.0 以上、または 4.5 以上が必要です。
  • Toolkit が処理可能な PDF のファイルサイズは、最大で 2GB です。
  • Toolkit 2017 およびそれ以降のバージョンを Windows Server 2012 にインストールする場合、Windows Server 2012 用の 2 つの Microsoft Update ( KB2919442 (Windows8.1-KB2919442-x64.msu) および KB2919355 (clearcompresssionflag.exe および Windows8.1-KB2919355-x64.msu)) を適用する必要があります。詳細は こちらのページをご参照ください。
  • Toolkit 2016 をインストールする際に Microsoft Visual C++ 再頒布可能パッケージが適切にインストールされない問題が確認されています。インストールするマシンに Microsoft Visual C++ 再頒布可能パッケージがインストールされていない場合、Toolkit をインストールする前に、Microsoft Visual C++ 再頒布可能パッケージをインストールしてください。Microsoft Visual C++ 再頒布可能パッケージは、 こちらよりダウンロードいただけます。x64 は こちら

よくお問い合わせいただく機能のサンプル コードを紹介します。ここで紹介しているコードでは、C# を使用しています。また、開発元では、その他のプログラミング言語 (VB.NET, VBS, ASP など) のサンプルを紹介しています。その他のサンプルは こちらのページ をご参照ください。

C# での PDF ファイルの結合

※ その他のプログラミング言語 (VB.NET, VBS, ASP など) のサンプル コードは、 こちらのページ をご参照ください。

// Copyright (c) 2016 ActivePDF, Inc.
// Example created 04/15/16

using System;

// APToolkitNET.dll をアプリケーションに追加してください。
// この dll は、インストール ディレクトリの "DotNetComponent" フォルダにあります。

class Examples
{
  public static void Example()
  {
    string strPath;
    int intOpenOutputFile;
    int intMergeFile;
    
    strPath = System.AppDomain.CurrentDomain.BaseDirectory;

    // オブジェクトのインスタンス化
    APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit();
    
    // 新しい PDF ファイルを作成します。
    intOpenOutputFile = oTK.OpenOutputFile(strPath + "new.pdf");
    if (intOpenOutputFile != 0)
    {
      ErrorHandler("OpenOutputFile", intOpenOutputFile);
    }

    // 読み込むファイル内にフォーム フィールドがある場合、
    // 出力するファイルでフォーム フィールドの状態を設定します。
    // フォーム フィールドをそのままの状態で維持するには 0、
    // 読み取り専用にする場合は 1 を設定します。
    // SetFormFieldData メソッドで設定したフォーム フィールドには
    // 影響しません。
    oTK.ReadOnlyOnMerge = 1;
    
    // MergeFile メソッドは、OpenInputFile メソッドと CopyForm メソッドを
    // 呼び出すのと同じです。
    
    // 表紙を結合します (0 は全ページを意味します)
    intMergeFile = oTK.MergeFile(strPath + "cover.pdf", 0, 0);
    if (intMergeFile != 1)
    {
      ErrorHandler("MergeFile", intMergeFile);
    }
    
    // 2 つ目の PDF を結合します。
    intMergeFile = oTK.MergeFile(strPath + "5pageLI.pdf", 0, 0);
    if (intMergeFile != 1)
    {
      ErrorHandler("MergeFile", intMergeFile);
    }
    
    // 3 つ目の PDF を結合します。
    intMergeFile = oTK.MergeFile(strPath + "6pageAA.pdf", 0, 0);
    if (intMergeFile != 1)
    {
      ErrorHandler("MergeFile", intMergeFile);
    }
    
    // 新しく作成したファイルを閉じ、PDF の結合処理を完了します。
    oTK.CloseOutputFile();
    
    // オブジェクトのリリース
    oTK = null;
    
    // 処理完了
    WriteResults("Done!");
  }
  
  // エラー処理
  public static void ErrorHandler(string strMethod, object rtnCode)
  {
    WriteResults(strMethod + " error:  " + rtnCode.ToString());
  }
  
  // 出力データの書き込み
  public static void WriteResults(string content)
  {
    // 結果を書き出す先を選択します
  
    // デバッグ出力
    //System.Diagnostics.Debug.WriteLine("ActivePDF: * " + content);
  
    // コンソール
    Console.WriteLine(content);
  }
}
              

C# での ページの抽出

※ その他のプログラミング言語 (VB.NET, VBS, ASP など) のサンプル コードは、 こちらのページ をご参照ください。

// Copyright (c) 2016 ActivePDF, Inc.
// Example created 04/15/16

using System;

// APToolkitNET.dll をアプリケーションに追加してください。
// この dll は、インストール ディレクトリの "DotNetComponent" フォルダにあります。


class Examples
{
  public static void Example()
  {
    string strPath;
    int intOpenOutputFile;
    int intMergeFile;
    
    strPath = System.AppDomain.CurrentDomain.BaseDirectory;

    // オブジェクトのインスタンス化
    APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit();
    
    // 新しい PDF ファイルを作成します。
    intOpenOutputFile = oTK.OpenOutputFile(strPath + "new.pdf");
    if (intOpenOutputFile != 0)
    {
      ErrorHandler("OpenOutputFile", intOpenOutputFile);
    }
    
    // MergeFile メソッドは、OpenInputFile メソッドと CopyForm メソッドを
    // 呼び出すのと同じです。

    
    // PDF から 3~4 ページ目を抽出します。
    intMergeFile = oTK.MergeFile(strPath + "10pages.pdf", 3, 4);
    if (intMergeFile != 1)
    {
      ErrorHandler("MergeFile", intMergeFile);
    }
    
    // 新しく作成したファイルを閉じ、PDF の作成処理を完了します。
    oTK.CloseOutputFile();
    
    // オブジェクトのリリース
    oTK = null;
    
    // 処理完了
    WriteResults("Done!");
  }
  
  // エラー処理
  public static void ErrorHandler(string strMethod, object rtnCode)
  {
    WriteResults(strMethod + " error:  " + rtnCode.ToString());
  }
  
  // 出力データの書き込み
  public static void WriteResults(string content)
  {
    // 結果を書き出す先を選択します
  
    // デバッグ出力
    //System.Diagnostics.Debug.WriteLine("ActivePDF: * " + content);
  
    // コンソール
    Console.WriteLine(content);
  }
}
              

C# での PDF ファイルの新規作成

※ その他のプログラミング言語 (VB.NET, VBS, ASP など) のサンプル コードは、 こちらのページ をご参照ください。

// Copyright (c) 2016 ActivePDF, Inc.
// Example created 04/15/16

using System;

// APToolkitNET.dll をアプリケーションに追加してください。
// この dll は、インストール ディレクトリの "DotNetComponent" フォルダにあります。


class Examples
{
  public static void Example()
  {
    string strPath;
    int intOpenOutputFile;
    string tkVer;
    
    strPath = System.AppDomain.CurrentDomain.BaseDirectory;

    // オブジェクトのインスタンス化
    APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit();

    // 出力ファイルの用紙サイズやセキュリティなどの設定は
    // 出力ファイルを作成する前に設定します。
    
    // 出力する PDF の用紙サイズを設定します。(1 インチが 72 ユニットです。)
    oTK.OutputPageHeight = 792.0f;
    oTK.OutputPageWidth = 612.0f;

    // 新しく PDF ファイルを作成します。
    intOpenOutputFile = oTK.OpenOutputFile(strPath + "new.pdf");
    if (intOpenOutputFile != 0)
    {
      ErrorHandler("OpenOutputFile", intOpenOutputFile);
    }

    // ページの結合、抽出、テキストや画像の追加など、ページに
    // 変更を加える場合は、OpenOutputFile から CloseOutputFile を
    // 呼び出す前に行います。
    
    // 新しいページを作成するには、NewPage を呼びます。
    oTK.NewPage();

    // PDF にテキストを追加します。
    // ここでは、現在の Toolkit のバージョンを取得して、そのバージョン数を
    // PDF に貼り付けます。
    tkVer = oTK.ToolkitVersion;

    // 新しいページにテキストを追加するには、SetFont でフォントを設定して
    // PrintText または PrintMultilineText で追加します。
    oTK.SetFont("Helvetica", 24);
    oTK.PrintText(72.0f, 720.0f, tkVer);
    
    // 新しいページに画像を追加するには、PrintImage, PrintJPEG,
    // または PrintTIFF を使用します。
    oTK.PrintJPEG(strPath + "IMG.jpg", 72.0f, 300.0f, 468.0f, 400.0f, true);
    
    // 作成したファイルを閉じて、PDF の作成を完了します。
    oTK.CloseOutputFile();
    
    // オブジェクトのリリース
    oTK = null;
    
    // 処理完了
    WriteResults("Done!");
  }
  
  // エラー処理
  public static void ErrorHandler(string strMethod, object rtnCode)
  {
    WriteResults(strMethod + " error:  " + rtnCode.ToString());
  }
  
  // 出力データの書き込み
  public static void WriteResults(string content)
  {
    // 結果を書き出す先を選択します
  
    // デバッグ出力
    //System.Diagnostics.Debug.WriteLine("ActivePDF: * " + content);
  
    // コンソール
    Console.WriteLine(content);
  }
}
              

C# での PDF へのセキュリティの追加

※ その他のプログラミング言語 (VB.NET, VBS, ASP など) のサンプル コードは、 こちらのページ をご参照ください。

// Copyright (c) 2016 ActivePDF, Inc.
// Example created 04/15/16

using System;

// APToolkitNET.dll をアプリケーションに追加してください。
// この dll は、インストール ディレクトリの "DotNetComponent" フォルダにあります。

class Examples
{
  public static void Example()
  {
    string strPath;
    int intEncryptPDF;
    
    strPath = System.AppDomain.CurrentDomain.BaseDirectory;

    // オブジェクトのインスタンス化
    APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit();
    
    // Toolkit では、既存の PDF ファイルを直接暗号化できます。
    // 注意: 評価版では、設定したパスワードの接頭文字に "DEMO" が追加されます。
    
    // EncryptFile で、既存の PDF に指定した暗号化レベルを設定できます。
    intEncryptPDF = oTK.EncryptPDF(5, strPath + "PDF.pdf", strPath + "Encrypted.pdf", "UserPassword", "OwnerPassword", true, true, false, false, true, false, true, true);
    if (intEncryptPDF != 0)
    {
      ErrorHandler("EncryptPDF", intEncryptPDF);
    }
    
    // オブジェクトのリリース
    oTK = null;
    
    // 処理完了
    WriteResults("Done!");
  }
  
  // エラー処理
  public static void ErrorHandler(string strMethod, object rtnCode)
  {
    WriteResults(strMethod + " error:  " + rtnCode.ToString());
  }
  
  // 出力データの書き込み
  public static void WriteResults(string content)
  {
    // 結果を書き出す先を選択します
  
    // デバッグ出力
    //System.Diagnostics.Debug.WriteLine("ActivePDF: * " + content);
  
    // コンソール
    Console.WriteLine(content);
  }
}
              

C# での PDF へ画像/テキストの追加(C#)

※ その他のプログラミング言語 (VB.NET, VBS, ASP など) のサンプル コードは、 こちらのページ をご参照ください。

// Copyright (c) 2016 ActivePDF, Inc.
// Example created 04/15/16

using System;

// APToolkitNET.dll をアプリケーションに追加してください。
// この dll は、インストール ディレクトリの "DotNetComponent" フォルダにあります。

class Examples
{
  public static void Example()
  {
    string strPath;
    int intOpenOutputFile;
    int intOpenInputFile;
    string strTitle;
    float textWidth;
    int intCopyForm;
    
    strPath = System.AppDomain.CurrentDomain.BaseDirectory;

    // オブジェクトのインスタンス化
    APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit();
    
    // 新しい PDF ファイルの作成
    intOpenOutputFile = oTK.OpenOutputFile(strPath + "new.pdf");
    if (intOpenOutputFile != 0)
    {
      ErrorHandler("OpenOutputFile", intOpenOutputFile);
    }
    
    // テンプレートの PDF ファイルを開きます。
    intOpenInputFile = oTK.OpenInputFile(strPath + "PDF.pdf");
    if (intOpenInputFile != 0)
    {
      ErrorHandler("OpenInputFile", intOpenInputFile);
    }

    // "Confidential" というテキストを追加します。
    // テキストに透明度を設定して、テキストを透かしにします。
    // テキストの向き、色、塗りつぶしの設定も行います。
    // ページ番号のパラメターで "-1" を指定すると、全ページに適用されます。

    // フォントの設定。日本語フォントを指定する場合は、フォント名ではなく
    // フォント ファイルへのフルパスを指定してください。
    oTK.SetFont("Helvetica", 90, -1);

    // テキストの透明度を設定します。
    oTK.SetTextTransparency(0.6f, 0.6f);

    // テキストの向きを設定します。
    oTK.SetTextRotation(45);

    // テキストの輪郭の色を設定します。
    oTK.SetTextStrokeColor(255, 0, 0, 0, -1);

    // テキストの塗りつぶしの設定を指定します。
    oTK.SetTextFillMode(1);

    // テキストを追加します。
    oTK.PrintText(154, 184, "Confidential", -1);

    // テキストに指定した透明度をリセットします。
    oTK.ResetTextTransparency();

    // テキストに指定した塗りつぶしの設定を戻します。
    oTK.SetTextFillMode(0);
    
    // 次に "Top Secret" というテキストを追加します。
    // 上記と同じ様に追加するテキストの情報を設定します。
    oTK.SetFont("Helvetica", 72, -1);
    oTK.SetTextColor(200, 200, 200, 0, -1);
    oTK.PrintText(154, 300, "Top Secret", -1);
    oTK.ResetTextColor(-1);
    oTK.SetTextRotation(0);
    
    // ドキュメントのタイトルをページ下中央に追加します。
    oTK.SetFont("Helvetica", 12, -1);
    strTitle = "Lorem Ipsum";

    // 追加するテキストの幅を取得します。
    textWidth = oTK.GetTextWidth(strTitle);

    // 場所を指定して、テキストを貼り付けます。
    oTK.PrintText((612 - textWidth) / 2, 32, strTitle, -1);

    // ドキュメントのヘッダーに "approved" というテキストを
    // 追加します。
    // 今回は PrintMultilineText を使用します。
    // ページ番号のパラメターに "1" を指定し、最初のページにだけ
    // テキストを追加します。
    oTK.SetTextFillMode(2);
    oTK.SetTextColorCMYK(0, 0, 0, 20, 1);
    oTK.SetTextStrokeColorCMYK(0, 0, 0, 80, 1);
    oTK.PrintMultilineText("Helvetica", 22, 344, 766, 190, 86, "Approved on January 17th, 2021", 2, 1);

    // テキストの色をリセットします。
    oTK.ForceColorReset(-1);
    
    // フッターに画像を追加します。
    // 貼り付ける画像の向きを設定します。
    oTK.ImageRotation = 0;
    oTK.PrintImage(strPath + "BMP.bmp", 375.0f, 13.0f, 0.0f, 0.0f, true, -1);
    oTK.PrintJPEG(strPath + "JPEG.jpg", 436.0f, 9.0f, 0.0f, 0.0f, true, -1);
    oTK.PrintTIFF(strPath + "TIFF.tif", 500.0f, 15.0f, 0.0f, 0.0f, true, -1);
    
    // 本文とフッターを区切る灰色の線を引きます。
    oTK.GreyBar(72.0f, 52.0f, 468.0f, 1.0f, 0.8f, -1);

    // テキストと画像などを追加したテンプレートを新しいファイルに
    // コピーします。
    // 最初のページと最後のページのパラメターに "0" を指定すると
    // 全ページをコピーできます。
    intCopyForm = oTK.CopyForm(0, 0);
    if (intCopyForm != 1)
    {
      ErrorHandler("CopyForm", intCopyForm);
    }
    
    // 作成したファイルを閉じて、PDF の作成を完了します。
    oTK.CloseOutputFile();
    
    // オブジェクトのリリース
    oTK = null;
    
    // 処理完了
    WriteResults("Done!");
  }
  
  // エラー処理
  public static void ErrorHandler(string strMethod, object rtnCode)
  {
    WriteResults(strMethod + " error:  " + rtnCode.ToString());
  }
  
  // 出力データの書き込み
  public static void WriteResults(string content)
  {
    // 結果を書き出す先を選択します
  
    // デバッグ出力
    //System.Diagnostics.Debug.WriteLine("ActivePDF: * " + content);
  
    // コンソール
    Console.WriteLine(content);
  }
}
              

C# での PDF ページ情報の取得

※ その他のプログラミング言語 (VB.NET, VBS, ASP など) のサンプル コードは、 こちらのページ をご参照ください。

// Copyright (c) 2016 ActivePDF, Inc.
// Example created 04/19/16

using System;

// APToolkitNET.dll をアプリケーションに追加してください。
// この dll は、インストール ディレクトリの "DotNetComponent" フォルダにあります。

class Examples
{
  public static void Example()
  {
    string strPath;
    int intNumPages;
    int pageRotation;
    short pageWidth;
    short pageHeight;
    short pageLeft;
    short pageTop;
    
    strPath = System.AppDomain.CurrentDomain.BaseDirectory;

    // オブジェクトのインスタンス化
    APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit();
    
    // ページ数を取得します。
    intNumPages = oTK.NumPages(strPath + "PDF.pdf");
    if (intNumPages < 1)
    {
      ErrorHandler("NumPages", intNumPages);
    }
    
    // 1 ページ目のページの向きを取得します。
    // ノート: NumPages メソッドで入力ファイルを開いているので、
    // ここでは入力ファイルを再び開く必要はありません。
    pageRotation = oTK.GetInputPageRotation(1);
    
    // 入力ファイルを閉じます。
    oTK.CloseInputFile();
    
    // 1 ページ目の情報を取得するため、ファイルを開きます。
    oTK.GetBoundingBox(strPath + "PDF.pdf", 1);
    
    // ページの幅と高さを取得します。
    pageWidth = oTK.BBWidth;
    pageHeight = oTK.BBHeight;
    
    // ページの左端と上端の座標を取得します。
    pageLeft = oTK.BBLeft;
    pageTop = oTK.BBTop;
    
    // 取得したページ情報を用途に合わせて使用してください。
    
    // 入力ファイルを閉じます。
    oTK.CloseInputFile();
    
    // オブジェクトのリリース
    oTK = null;
    
    // 処理完了
    WriteResults("Done!");
  }
  
  // エラー処理
  public static void ErrorHandler(string strMethod, object rtnCode)
  {
    WriteResults(strMethod + " error:  " + rtnCode.ToString());
  }
  
  // 出力データの書き込み
  public static void WriteResults(string content)
  {
    // 結果を書き出す先を選択します
  
    // デバッグ出力
    //System.Diagnostics.Debug.WriteLine("ActivePDF: * " + content);
  
    // コンソール
    Console.WriteLine(content);
  }
}
              

ActivePDF Toolkit の製品ドキュメント

日本語フォントの使用について

追加する文字列に日本語フォントを指定する場合は、フォント名ではなく、フルパスでファイル名 (例 "C:\Windows\Fonts\msgothic.ttc" や "C:\Windows\Fonts\msmincho.ttc") を指定してください。

 Set objTK = CreateObject("APToolkit.Object")
              
 ' 生成する PDF を指定します。
 r = objTK.OpenOutputFile(App.Path & "\new.pdf")
 
 ' ActivePDF に含まれるフォントを使用する場合
 objTK.SetFont "C:\Windows\Fonts\msgothic.ttc", 15
 objTK.PrintText 100, 700, "日本語フォントのテスト"

 objTK.CloseOutputFile
              
 Set objTK = Nothing
        

ActivePDF Toolkit 2011 R4 より前のバージョンの ActivePDF Toolkit で日本語フォントを使用する場合、日本語フォントで使用されている TTC フォントを TTF フォントへ分割する必要があります。次のステップをご確認ください。

  1. フォント分割ツールを使用して TTC ファイルを TTF ファイルに分割します。
  2. 下記のサンプル コードをお試しください。
 Set objTK = CreateObject("APToolkit.Object")
              
 ' 生成する PDF を指定します。
 r = objTK.OpenOutputFile(App.Path & "\new.pdf")
 
 ' ActivePDF に含まれるフォントを使用する場合
 objTK.SetFont "HeiseiMin-W3-Acro|encoding=UniJIS-UCS2-H", 15
 objTK.PrintText 100, 700, "日本語フォントのテスト : ネイティブ フォント"
              
 ' Windows に含まれるフォントを使用する場合
 ' フォント分割ツールを使用して TTC ファイルを TTF ファイルに分割する必要があります。
 objTK.SetFont "C:\Windows\Fonts\msuigothic.ttf", 15
 objTK.PrintText 100, 650, "日本語フォントのテスト : Windows フォント"
              
 objTK.CloseOutputFile
              
 Set objTK = Nothing
        

.NET 環境に関する情報

.NET 環境で適切にオブジェクトのインスタンスを作成するには .NET スクリプト環境で APToolkitNET.dll を参照する必要があります。APToolkitNET.dll への参照が不正または未設定の場合、結果スクリプトは missing type または name space error を引き起こします。

  APToolkitNET.dll への参照を追加する方法

  1. Visual Studio .NET の [ソリューション エクスプローラ] ウィンドウの [参照設定] を右クリックし、[参照の追加] を選択します。
  2. [参照の追加] ダイアログの [参照] ボタンをクリックします。
  3. [コンポーネントの選択] 画面で APToolkitNET.dll を選択し、[開く] ボタンをクリックします。

使用する .NET のバージョンにより、参照する APToolkitNET.dll が異なりますのでご注意ください。

  • .NET 1.1 を使用する場合: X:\Program Files\activePDF\DotNetComponent\1.1\APToolkitNET.dll
  • .NET 2.0 を使用する場合: X:\Program Files\activePDF\DotNetComponent\2.0\APToolkitNET.dll

PDF の座標について

PDF の仕様では、PDF ファイル内の 72 PDF ユニットを 1 インチのスペースとして定義しています。たとえば、8 1/2" x 11" の用紙サイズは、612 PDF ユニット x 792 PDF ユニットに変換されます。分数は四捨五入を行って整数にする必要があります。

従来のプログラミング言語では、座標システムは左上側から始まります (X および Y はそれぞれ右方向と下方向へ増加します) が、PDF ドキュメントの原点 (0, 0) は左下側にあります (Y は上方向、X は右方向に増加します)。

例えば、PDF 座標の (144, 144) は、左下から上へ 2 インチ、右へ 2 インチの点になります。

ページの向きが横の場合、PDF 座標の原点が左下にならないことがあります。その場合は、GetInputPageRotation メソッドでページの向きを取得し、ページの向きに合わせて追加する文字や画像の場所と向きを変更します。ページの向きに合わせて、追加する文字列の場所と向きを変更するサンプル コードが用意されています。サンプル コードは、 こちらのページをご参照ください。

Toolkit の処理に関するよくあるご質問


フィールドにデータを投入した PDF を StitchPDF メソッドでステッチすると、フィールドのデータが消えてしまいます。

ステッチの処理では、フォーム フィールドの情報は移行できません。データを含むフィールドがある PDF をステッチする場合は、StitchPDF を呼び出す前に、 SetFormFieldData を使用した場合は、フラグに -998 を使用してフォーム フィールドを単層化し、 FlattenRemainingFormFields で、残りのフォーム フィールドも単層化してください。

ノート: 単層化していないフィールドは、ステッチ処理時に削除されてしまう為、出力ファイルでは表示されません。

EncryptPDF メソッドで AES 256 bit に暗号化したファイルを Adobe Reader 8 や 9 で開けません。

Acrobat Reader のバージョン 8 および 9 は、AES 256bit の暗号化に対応していません。Acrobat Reader のバージョン 10 以降で開くか、暗号化レベルを下げてください。

AddField メソッドを呼び出した後、SetFormFieldData を呼び、フィールドを単層化する為に -997 のフラグを設定しても、フィールドを単層化できません。

AddField メソッドを呼び出した後、PDF を閉じて、再度開きます。その後に、フィールドを単層化する為に、SetFormFieldData でフラグに -997 を設定してください。

OpenInputFile と CopyForm メソッドで、フォントがリンクしている PDF を呼び出すと、プロセスが 1GB 以上のメモリを使用してしまいます。

Before calling CopyForm, call the DisableFontCache property and set it to true.

PrintMultilineText メソッドで両端揃えに設定しても、出力されるテキストが左寄せになっています。

現在、テキストの配置の調整ができるのは、以下のエンコードを使用するフォントだけになっています。

  • WinAnsiEncoding
  • PDFDocEncoding
  • MacRomanEncoding

ダブルバイト フォントを使う日本語や、上記のエンコードを使用しないフォントの場合は、エンコード パラメターを設定することで配置の調整が可能です。

aPDF.PrintMultilineText "Calibri|encoding=WinAnsiEncoding",
16, 300, 600, 100, 500, stringText, 3, 0

ノート: 現在、両端揃えを設定できるのはプロポーショナル フォントのみです。プロポーショナルフォント以外のフォントは、左寄せか右寄せになります。

パスワードを設定しないと、暗号化できません。

ファイルを暗号化する場合は、パスワードを設定してください。SetInputPasswords または DecryptFile メソッドを使用する際、入力ファイルにパスワードが設定されていない場合、Toolkit は、空白のパスワードとして判断します。

フォームフィールドのフォントを Arial に設定すると、日本語が適切に表示されません。

AddField でフォームを設定する際に、FontName には Arial Unicode MS を指定してください。

ノート: Arial Unicode MS は、日本語をビルトインサポートしています。

SetFormFieldData メソッドを使用後、フィールドの計算が適切に動作していません。

Acrobat Reader は、PDF を開いた際に自動的にフィールド レベルの JavaScript の計算を実行しません。Acrobat Reader の [環境設定] - [フォーム] にある [フィールド値の自動計算] を選択している場合、ユーザーがフィールドに値を入力した際に計算が実行されますが、PDF を開いたときには計算は実行されません。PDF を開いたときに計算を実行するには、ドキュメント レベルの JavaScript を追加します。

  1. Adobe Acrobat で、[表示] - [ツール] - [JavaScript] を選択し、[文書レベル JavaScript を編集] を選択します。
  2. スクリプトの名前 (例: Init) を入力します。
  3. [追加] ボタンをクリックします。
  4. ウインドウ内の内容をすべて削除します。
  5. this.calculateNow(); を入力します。
  6. [OK] ボタンをクリックします。
  7. PDF を保存します。

これで PDF を開いたときにフォームの自動計算が行われるようになります。

バーコードの BorderStyle プロパティを使用しても、設定が無視されます。

BorderStyle プロパティは廃止となり、使用することができません。現在、同等のプロパティもありません。

フォームフィールドからフォーカスが外れると、フォームフィールド内のテキストの表示が変わってしまいます。

TrueType フォントを使用し、編集予定のあるフォーム フィールドには、使用するキャラクター セットを含んだエンコードを設定する必要があります。エンコードのパラメターを含んだ FontName のシンタックスの例は以下の通りです。

FIO.FontName "Helvetica|encoding=WinAnsiEncoding", 12

ノート: エンコードを設定しない場合、Toolkit はデフォルトの Identity-H エンコードを使用します。この場合、フォームの編集時に文字が抜けていたり、文字化けすることがあります。

ディスクから読み込むフォント用に、明示的にエンコードを設定すると、適切に PDF を出力できません。

Toolkit では、ビルトイン フォントを使用しているビルトイン エンコード (例 Adobe-GB1-USC2) でのフォントの設定に対応しています。ファイル内でフォントが既に指定されている場合にのみ、ディスクから読み込むフォントのエンコードをサポートします。

SetOutputRotation(90) を設定しても、出力したページの向きが変わりません。

入力ファイルが既に 90 度に回転していると、 SetOutputRotation(90) を設定しても、出力ファイルに変化が表れません。更に 90 度回転させる場合は、 SetOutputRotation(180) を設定します。

PDF 作成ソフト (プリンター ドライバーやスキャナーを含む) によっては、PDF のページの回転の設定をページの向きに設定し、テキストの方向を合わせています。PDF が縦長に見えても、内部のページの回転度数は 90 度のこともあります。

Toolkit では、GetInputPageRotation と GetBoundingBox を組み合わせて呼び出すことで、ページの回転度数を取得し、回転度数に合わせて調整することができます。これらのメソッドの使用例は、 こちらのページをご参照ください。

DisableFontCache プロパティを有効にすると、出力したファイル内の文字が文字化けします。

ステッチする際に、Toolkit はフォント キャッシュを使用します。StitchPDF を使用する前に、DisableFontCache を無効にし、フォント キャッシュを有効にしてください。

SetFont メソッドの defaultwidth パラメターを設定しても、出力するスタンプに変化がありません。

DefaultWidth パラメターは、シングルバイトのプロポーショナルフォントには適用されません。このオプションは、固定幅の中国語、日本語、韓国語フォントが使用するダブルバイト エンコードに適用されます。ダブルバイト フォントの幅の基準が無い場合、DefaultWidth を基準として使用することができます。

2 つのファイルを結合すると、テキスト フィールドが消えてしまいます。

MergeFile を使用した際にフォームフィールドを残すには、OpenOutputFile を呼び出した後に ReadOnlyOnMerge を呼び出してください。または、MergeFile を使用せずに、CopyForm を使用してください。

FieldInfo プロパティの FontName に Arial を指定しても、Arial MT が設定されます。

PDF の仕様に沿って、Toolkit は、BaseFont の値となる PostScript 名を以下のいずれかで判断します。

  • TrueType フォント プログラムの名前のテーブルに PostScript 名がある場合、その名前が使用されます。
  • 名前のテーブルに名前が無い場合、PostScript 名はホスト OS で使用されている名前が使用されます。Windows システムでは、LOGFONT 構造体の IfFaceName フィールドの名前が使用されます。Mac OS では、FOND リソースの名前となります。

この結果として、Toolkit はディスクから Arial フォントを読み込む際に、Postscript 名の Arial MT を選択します。この動作は FontFaceName を設定することで、フォント名を変更することもできます。

"Arial|fontfacename=Arial"

この場合、Arial MT の代わりに Arial が選択されます。


ページトップへ