ニュートン メニュー

株式会社ニュートン

マイクロソフトパートナー

YouTube公式チャンネル

体験版ダウンロード

製品案内

ライセンスパック

ライセンスについて

カスタマイズ受付

製品購入ガイド

オンラインショップ
直販ショップ !
ニュートンストアで購入
コンポーネントソース
コンポーネントソースで購入

ユーザサービス
〔サポートページ〕

サポート体制

お知らせ
・ニュースリリース
・懐かCM
・イベント出展
・製品関連記事

会社概要

個人情報保護方針

お問い合わせ先

▲

ニュートンホーム 製品案内
PDF作成 開発ライブラリ(SDK)
ABCpdf .NET 12J
Web 対応 PDF ドキュメント作成&レンダリング コンポーネント
ABCpdf .NET 12J
【 エービーシーPDFドットネット 12J 】
(64bit/32bit 共用版)
この製品は、2024年3月13日で販売を終了いたしました。
次期バージョン(ABCpdf .NET 13J)の情報はこちらです。
1インストールライセンス
標準価格  211,200円 (税込)
◆ その他のライセンスに関する
価格などの情報は、
「ライセンスパック」のページ
をご覧ください。
体験版ダウンロード ご購入はこちら
Q & A 更新履歴
機能比較表
動作環境
※当バージョンから、製品のエディションは一種類となり、共通で 64bit用/32bit用アプリを作成できます。
ただし、開発環境は 64bitOS のみとなります。
※ABCpdf.NET 7J から、製品としての COM 版はございませんが、ひとつの製品で、.NET アセンブリ
および COM として使用できます。詳しくは、こちらをご覧ください。
[ 製品紹介動画 ]                                          
                           [ かんたんなプロジェクト作成例 ]
新機能紹介
C# の PDF デジタル署名のガイド
オンラインデモはここをクリック

ABCpdf とは?

ABCpdf は、プリンタドライバを使用しない PDF ドキュメントの生成、Adobe Reader を利用しない PDF ドキュメントの読込など、PDF の多機能活用コンポーネントです。VisualStudio.NET や ASP.NET、Visual Studio 6.0、ASP といった開発環境に対応しています。
Web ブラウザへの PDF ドキュメントの直接転送、各種イメージ対応、行間・段落などの書式詳細設定、Unicode 対応、回転・拡大・グラフィックス描画コマンドを装備、40・128ビットの暗号化、フィールドやフォームのサポート、RGB・CMYK・グレースケールに対応、プレースホルダ利用によるレイアウト設定など、高機能で高い開発生産性を実現します。

「PDF 作成 」 と「 PDF レンダリング(読込・表示・出力)」

・・・ 2つの活用ソリューションへ

PDF ドキュメントの動的な高速生成に加え、強力なレンダリング機能で PDF 読込に Adobe Reader を必要としない表示や印刷を実現できます。たとえば、VB フォーム上の PictureBox を使ったPDF表示や PDF ファイルのサムネイル表示といったコーディングが可能となります。

また、Flash、AVI、MPEG、WMV などのライブムービーの PDF への埋め込み、Web ページを PDF 変換する HTML/CSS ドキュメントのサポート、ライブリンク・ライブフォーム・タグ付き領域の対応、機能強化されたeFormsサポート、PDF ドキュメントのイメージ化、AcrobatXI 対応など、これはもう最高位 PDF 活用コンポーネントといえるでしょう。

1. PDF 作成

2. PDF レンダリング(読込・表示・出力)

オブジェクトストリーム圧縮をサポートしている PDF ライブラリは ABCpdf 以外ではほとんどありません。ライブラリがオブジェクトストリーム圧縮をサポートしていなければ、圧縮された Acrobat ドキュメントを完全に読込むことができないので、これは非常に重要なことです。

3. 署名のサポート
ABCpdf 12J は署名機能をサポートしていますので、PDF 文章の信頼性を高めることができます。これにより作成した PDF 文章の重要なビジネスシーンでの使用が可能となります。
新しく作成する PDF 文章や既存の PDF 文章に署名を設定することができます。署名後にテキストの追加等の変更を加えると設定した署名は無効になりますので PDF 文章の変更や改ざんを判断することができます。また、1つの PDF 文章を複数の担当者が確認し後に署名が必要な場合それぞれの担当者の署名を追加することができます。またタイムスタンプ機能もサポートしていますので第三者の認証機関の日時・時間を PDF 文章に設定することもできますので、作成日時を厳重に管理できます。

4. パスワードのサポート
オーナパスワードとユーザパスワードをサポートします。オーナパスワード(編集パスワード)はセキュリティの設定や PDF の編集を行う場合に必要となるパスワードです。ユーザパスワード(閲覧パスワード)は PDF を表示する時に必要となるパスワードです。
ABCpdf 12J はこれらのパスワードの設定を簡単におこなうことができます。

5. サーバでの利用
クライアント PC からサーバ上の ABCpdf .NET 12J を使用したアプリ(Office → PDF 変換)に送った Office ドキュメントを PDF に変換してクライアント PC で取得できます。もちろん、パスワードを付けたりその他安全性を設定した PDF を作成することができます。
また、各クライアント PC すべてに Office をインストールする必要はありません。(Office は MS Office 2007 以降)
※MS Office をご使用の場合は、ライセンスに十分ご留意ください。詳しくは、こちらをご参照ください。

主な特徴
◆ ABCpdf .NET 12J の新機能一覧はこちら
● .NET 5.0 New!
このリリースでは、ABCpdf が .NET5.0 対応として大幅に更新されました。
オリジナルの MSI ベースのインストーラーは、ドキュメントやサンプルプロジェクトなど必要なものがすべて含まれているため、開発には最適です。
注意:動作環境はWindowsです。(「対応OS・フレームワーク」をご覧ください。)
● ABCChrome 86 New!
バージョン12には、更新された ABCChrome 86 用のレンダリングエンジンが付属しています。
● 対応画像 New!
多くの新しい画像に関する機能を実装しました。
多くの新しいファイル形式のインポート/エクスポートに対応します。追加された対応可能ファイルの詳細は「新機能一覧」ページをご参照ください。
● Ghent New!
Ghent PDF Output Suite は、PDF レンダリングソフトウェアの適合性をテストするように設計された、非常に要求の厳しい PDF レンダリングスイートです。
ほとんどの主流の PDF レンダリングエンジンは非準拠ですが、ABCpdf は、Ghent PDF Output Suite5.0 に完全に準拠するようになりました。
● アノテーション New!
さまざまなタイプのマークアップを簡単に作成するための新しいフォームフィールドとアノテーション(注釈)クラスが多数あります。
● HTML から PDF への変換機能
Google Chromium(x64のみ)をベースにした第3の HTML レンダリングエンジンが含まれるようになりました。
これで、現在の3つの主要なブラウザのいずれかをベースにした HTML から PDF への変換が選択できるようになりました。 Chrome スタイル変換、Firefox スタイル変換、または Internet Explorer スタイル変換を使用できます。
● PDF 2.0 との互換性
今回のリリースは、PDF 2.0 との互換性のために完全に更新されました。 XMP Metadata オブジェクトのような新しいクラスによる PDF 2.0 の変更を反映するようにドキュメントが更新されました。
● Elements 名前空間
新しい Elements の名前空間は、PDF の仕様のすべてのテーブルを構造化された方法でカバーします。それは 300 以上のクラスからなる非常に大きなもので、PDF 2.0 までの使用をカバーします。
この構造化されたアクセスにより、多くの大きなメリットが得られます。
● JavaScript のサポート
PDF フォームには フィールドの書式設定や計算に使用できる JavaScript の計算が含まれています。
バージョン 11 以降では、これらのタイプの計算と JavaScript のイベントをサポートします。
● Rendering 機能のさらなる充実
標準的な 2D オブジェクトと同様に PDF フォーマットがサポートしている 3D オブジェクトで、 バージョン 10 でサポートしていた U3D(Universal 3D)要素に加え、バージョン 11 以降の一部として、PRC(Product Representation Compact)3D フォーマットもサポートします。
WebGL と OBJ の 3D エクスポートをサポートしており、他のカスタムフォーマットに簡単にエクスポートできるようにする新しいエクスポータインターフェイスもあります。
● 画像のエフェクト機能
画像を PDF 化する際に、シャープ化/自動レベル補正/コントラスト/レベル補正などの多数の一般的な効果や、渦巻き/波形などの変形処理を実現可能なエフェクト機能を有しています。
● Photoshop ファイルをサポート
Photoshop の読込モジュールは、標準の PSD と大きな PDB イメージファイルのサポートもしています。これにより、RGB、グレースケール、CMYK、Lab、インデックス付きの2色イメージを直接インポートできます。
● RTF をサポート
新しい RTF インポート モジュールは、ネイティブな Rich Text Format インポート モジュールで、ヘルパーアプリケーションなしで RTF を素早く簡単にインポートできます。
● 処理可能カラーの強化
PDF はさまざまなカラースペースをサポートしており、これまでの RGB、グレースケール、CMYK カラーの処理に加え、XColor オブジェクトを強化し、Lab、キャリブレーション済みの RGB、キャリブレーション済みのグレースケール、多チャンネルやパターンなどのその他のカラースペースが表示可能です。
● 充実したテキスト機能
以下のようなテキスト機能が含まれています。
・適切なカーニングをサポート(文字間隔の自動調整)・イメージなどのシェープの周りにテキストの挿入が可能な可変シェープ領域の作成・リーダー線付きの目次の作成の容易化・テキストの計測・位置決めのための新しいオプションを多数追加・FontObject のメソッド、プロパティを強化 など
● 容易に実現できる分析機能
シンプルで効果的な PDF ドキュメントの分析/分解が行えます。複雑な逆アセンブル、変更、再アセンブルが容易に実現できます。
● 動的なフィールドやアノテーション
フィールドやアノテーションは、位置やスタイルにインタラクティブにアクセスでき、より動的になっています。
● PDF/A 規格をサポート
ABCpdf は PDF/A 規格をサポートしています。ドキュメントを検証し、それが PDF/A に準拠しているかを知らせる方法が多数あります。または、準拠文書を作成できるようにする方法があります。
● あらゆるソースも PDF/A に準拠した文書に
ABCpdf にあるべき機能を使えるようにするために、実際には、ABCpdf が作成した物だけでなく、どのソースのどの文書でも PDF/A に準拠した文書を用意できるようにしました。この機能を持つ製品はほとんどありません。
● Acrobat XI のサポート
ABCpdf は Acrobat XI をサポートしています。
● 透明度の平坦化を実装
透明度の平坦化を実装しました。文書の透明性は一般的ですが、第三者ソフトの透明性のサポート範囲は不完全である場合があります。PDF/A 規格はこれを問題だと認めており、このため透明性の使用を禁じています。高度なベクターの平坦化ルーチンを使用して、現在 ABCpdf は文書全体の見た目を損なわずに文書から透明性を取り除くことができます。取り除かれた文書はベクターですが、見た目はオリジナルと同じでも透明がすべて不透明に変換されます。
● 大量なドキュメントをサポート
64bit 環境で、GigaPDF の極めて大量なドキュメントのサポートを利用できます。これは GB の範囲を超えて PDF を読み込んだり保存したりするためのサポートを拡張します。実際、PDF の相互参照票がサポートしている最大サイズまでの PDF 文書をすべて扱います。ABCpdf は、非常に大量の文書の取扱に力を発揮します。
● PDF の最適化とサイズの縮小
PDF の最適化とサイズの縮小は、頻繁に要望されている機能です。ABCpdf の新しいバージョンでは、フォントサイズを縮小したり、埋め込みフォントを削除したり、イメージのリサンプリングや再圧縮を行ったり、平坦化して出力を可能な限り小さくするためのさまざまなオプションを使用して文書全体の最適化を行うことができます。
● PDF 分析の強化
PDF 分析を強化して、テキストやイメージを操作しやすくしました。表面下は複雑ですが表面上はシンプルで、PDF からありふれた、ハイフンや合字なしのテキストを抽出することができます。そして、PDF のそのテキスト項目を選択し、その選択を強調表示したり枠を付けたりすることができます。イメージ処理は、イメージの配置や解像度を簡単に定義したり、条件に合ったイメージを抽出したりすることができます。
● PDF の増分更新
ABCpdf は PDF の増分更新を行えるようにしました。現在、1つの PDF 文書のそれぞれの更新を分析したり、いくつか前の更新に戻したりすることができます。これは非常に便利で、署名後に増分更新で内容が変わったデジタル署名付きの文書に適しています。
● 破損したドキュメントの検証と修復
破損したドキュメントは日ごろ扱わなくてはならない物です。弊社の多数のユーザが有効な PDF の検証方法を尋ねてきています。今回のリリースでは、ドキュメントが無効な場合に確実に例外を出す、非常に有効な PDF の検証ルーチンを持つことができました。そのような例外が出された場合、フルスキャンを使用してドキュメントを作成し直すことができるので、確実な検証ルーチンと強力な修正ルーチンを得ることになります。
● TIFF のサポートを改良
TIFF のサポートを改良しました。これまで問題ありとされていた、普通ではない TIFF 形式(TIFF 形式の古い JPEG やさまざまなカラースペースのフレームが付いたマルチページ TIFF イメージを含む)のインポートをサポートしています。この種のイメージを作成したいとは思わないでしょうが、処理しなくてはならない場合は ABCpdf がお役に立ちます。出力に関しては、TIFF のメタデータはカスタムなタグを使用してフレキシブルに出力できます。
● その他の新機能
マイナーな強化が多数あります。新しいデバッガの表示属性により、ABCpdf のコーディングやデバッグがより簡単になりました。XRect、XTransform や XColor などのクラスに、よりシンプル、より的確にするための機能が多数付加されました。
● 64ビット(x64)OSに対応
「ABCpdf .NET 12J (64ビット版)」は、Windows10、Windows8.1、Windows Server 2016、Windows Server 2012(R2) の各64ビット版に対応しています。
● x86 と x64 の共存
ABCpdf は、現在 x86 と x64 の機能を名前の違う別々の DLL に分けています。つまり、bin ディレクトリまたはインストーラを使って x86/x64 を共存させるのがもっと簡単になったということです。更に、さまざまなデプロイメント状況でライセンス キーをより簡単にインストールするための登録メソッドがあります。
● HTML インポートのプログラミングの改良
さまざまな HTML エンジンをサポートしました。Windows の MSHTML エンジンの他に、Mozilla Firefox の 新しいバージョンの Gecko エンジンをサポートしました。これにより PC との整合性が増し、より柔軟に CSS の構文をサポートすることができるようになりました。更に、Gecko のレイアウトエンジンは、ヘッダー (THEAD) やフッター (TFOOT) の反復表示をサポートしており、画面表示や印刷などが CSS から指定できます。またエンジンの切り替えをたった1行のコードで行えます。
● Word (docx) と HTML 形式へのエクスポート
Word (docx) と HTML 形式へのエクスポートをサポートしています。また VML、HTML キャンバスやビットマップイメージを含むさまざまなドキュメントのグラフィックスを表現することができます。
● MS Office アプリケーションとの統合を強化
Word、Excel、PowerPoint などの MS Office アプリケーションとの統合を強化しました。これにより、従来よりも速く確実に PDF ドキュメントを作成できます。
● 256 ビットの AES の暗号化
ABCpdf は、セキュリティ強化のため 256 ビットの AES の暗号化をサポートしています。AESV2 (128 ビット) や AESV3 (256 ビット) の暗号化された PDF ドキュメントの読込や書き込みが可能です。
● PDF 生成の強化と最適化
PDF の生成処理が強化/最適化されました。全面的な最適化により一般的なPDFの生成作業、特に大量のイメージが含まれている PDF の生成スピードが劇的に速くなりました。更に、アダプティブパレット GIF やグレースケール PNG などのエクスポート形式をサポートしています。
● Stream オブジェクトの圧縮オプション
Stream オブジェクトは、ASCII 85、ASCII Hex、Flate、Run Length など、さまざまな圧縮形式をサポートしています。また、DCT/JPEG、JPX/JPEG 2000、JBIG2 などのイメージ圧縮に加えて、ABCpdf は、PDF の仕様にあるすべてのイメージの圧縮形式をサポートしています。
● 署名コードの改良
Acrobat のようなより良いサポートのために、全面的に署名コードを改良しました。Acrobat と同じ規則の署名確認を導入しました。ドキュメントの署名や増分更新をサポートしており、タイムスタンプ サービス(TSS)を使って信頼性のある署名のタイムスタンプが追加できます。
● 充実したサンプルプロジェクト
多数の充実したサンプルプロジェクトが付属しています。たとえば、ContentExtract の表は現在 PDF ドキュメントの低レベルなリアルタイムでの編集 / 表示が行えるように改良してあります。HtmlTables サンプルは、AddText メソッドを拡張して表やイメージを追加できるようにしてあります。これは、以前の表のコードよりもシンプルなインターフェイスを提供し、よりわかりやすくしています。
● Windows Presentation Foundation (WPF) のフルサポート
ABCpdf は完全な WPF のインポート機能を提供しています。
● XML Paper Specification (XPS) のフルサポート
Microsoft XPS でもページの記述やドキュメントの保存方法を提供していますが、現存の PDF スタンダードとの互換性がありません。ABCpdf は Adobe PDF と Microsoft XPS の完全な相互互換性をサポートしています。PDF ドキュメントから XPS、XPS から PDF に変換すると、ソースドキュメント本来の構造を保存するために慎重に変換ルーチン(カラースペースの保存や組み込みフォントの保存/変換)が書き込まれます。
● Enhanced Encapsulated PostScript (EPS) のサポート
従来の EPS のインポート/エクスポートエンジンは非常に好評でした。しかし、フォントやカラースペースなどの一部の要素が取り除かれたため、必ずしも EPS から PDF への変換が望むように行われなかったので、今バージョンでは、EPS のインポートエンジンを完全に書き直して EPS から PDF に直接変換できるようにしました。これにより、EPS ファイルのテキストが PDF ドキュメントのテキストになり、EPS のソースファイル内固有のカラースペースは PDF ドキュメントのカラースペースと同じになります。他には、EPS のエクスポートに関してもさまざまなプリンタで使えるように複数のカラースペースのサポートも強化しました。これにより、グレースケール、RGB、CMYK の EPS を直接レンダリングできます。
● XPS 機能の改良
あらゆるドキュメントを直接 ABCpdf にインポートできるように XPS の機能を改良しました。OpenOffice.org / Microsoft Office を使用して、Word、Excel、PowerPoint といった Microsoft Office のドキュメント形式を読み込んだり、ABCpdf やインターネットエクスプローラを使用して HTML ドキュメントを読み込むなど、さまざまなアプリケーションを使用してさまざまなドキュメント形式に対応することができます。
(なお、これらがすべてのアプリケーションではありませんし、標準の印刷コマンドをすべてサポートしているわけではありません。)
● Flash のサポート
独自の SWF レンダリングエンジンを書き込みました。Flash に表示される美しく滑らかな図は滑らかさを維持し、PDF にインポートしても解像度に依存しません。また、PDF ドキュメントを本来のベクタ形式の Flash に変換できるように独自の Flash のエクスポートエンジンを書き込みました。
● HTML インポートのアップデート
新しい Flash のインポートエンジンを使用するために HTML のインポートをアップデートしたので、PDF 内の Flash の内容が PDF に本当のベクタ形式で表示されます。Windows のカレントのバージョンとかみ合わせ、より完璧な結果をもたらすように HTML のインポートルーチンにマイナーな変更を多数行いました。
● Tagged PDF(タグ付き PDF)のサポート
タグ付きの PDF 出力に対応しました。タグ付きの PDF は、文書を構造化することができます。これはページの要素(テキスト、グラフィックス、イメージなど)を他の目的のために抽出したり、再利用することが可能になります。「Tagged PDF」のサンプルも用意されています。

【出力したタグ付き PDF の例】

【サンプルコード(C#)】

//新しいDocとタグ付きのPDF文書の作成
Doc theDoc = new Doc();
TaggedContent theContent = new TaggedContent(theDoc);

//コンテナのタグを追加
theContent.BeginTaggedItem("Container");

//テキストの段落を追加
theDoc.Rect.Inset(40, 40);
theDoc.FontSize = 20;
theContent.AddTaggedText("P", "Tagged PDF ..... for other purposes.");

//イメージを追加
theDoc.Rect.String = "300 100 300 100";
theContent.AddTaggedImage("Image", inputDirectory + @"images\aster1.jpg");

//ヘッダータグ(H1)付きの回転させたテキストを追加
theDoc.Rect.String = theDoc.MediaBox.String;
theDoc.Rect.Magnify(0.5, 0.5);
theDoc.FontSize = 30;
theDoc.Transform.Rotate(45, theDoc.Pos.X, theDoc.Pos.Y);
theContent.AddTaggedText("H1", "Gallia est omnis ..... Galli appellantur.");
theDoc.Transform.Reset();

//コンテナを閉じる
theContent.EndTaggedItem();

//タグ付きのPDF文書を出力し、pdfファイルを保存
theContent.AddToDoc();
theDoc.Save(outputDirectory + "Simple.pdf");

● PDF テキストの正確な制御
テキストの追加を制御するための新しい HTML スタイルのテキストオプションがあります。カレントの HTML レンダリングの設定をする XHtmlOptions オブジェクトには、ページの最後の不必要なコンテンツを自動的にクリッピングする AutoTruncate プロパティや PDF に変換する前に HTML ページをマークアップする DoMarkup プロパティ、新しいウィンドウを開くためのハイパーリンクを許可する TargetLinks プロパティなどが追加されています。
● PostScript(ベクトルデータのインポート)および EPS / EPSF(ベクトルデータのインポート)
ABCpdf はポストスクリプトと互換性があり、ラスタやベクタの PostScript (PS)ファイルまたは Encapsulated PostScript(EPS) ファイルを直接 PDFドキュメントにインポートすることが可能になりました。つまり、PDFドキュメントを取得して、それを PS または EPS 形式にレンダリングすることができます。
● SVG [Scalable Vector Graphics]のインポートをサポート
ABCpdf はSVGのインポートをサポートしています。SVGはベクトルグラフィックスを描くためのXMLベース形式で、構成が容易で、簡単にPDFに変換できます。

Doc オブジェクトのReadメソッドは、SVGやSVGZのドキュメントも読み込むことができます。ABCpdf はSVGのサブセットをサポートしています。

【サンプルコード(VB.NET)】

Dim theDoc As Doc = New Doc()
theDoc.Read(Server.MapPath("sample.svg"))
.....
.....
theDoc.Save(Server.MapPath("sample.pdf"))
theDoc.Clear()

● 大きなドキュメントの最適化
大きなドキュメントに対する HTML のレンダリングプロセスを大幅に最適化しました。DoMarkup などのプロパティを使用すれば更に速くレンダリングできます。
● パラメータによる Flash ムービーの制御
この HTML の機能により、パラメータによって Flash ムービー制御することができ、PDF に Flash を設定できます。

ABCpdf は Flash(SWF)ムービーの静止プレビューを自動的に作成します。プレビューは Flash がインストールされていない場合に見るもので、PDF を印刷する際に使用するものです。通常は、Acrobat 以外のビューアを使用して PDF を開く場合に見るものです。

プレビューは特定の解像度で作成し、ムービーの特定ポイントの内容を使用している必要があります。デフォルトでは、値は FlashPreviewTime や FlashPreviewDPI のレジストリキーから取得されます。しかし、これらのデフォルトをオーバーライドするために、EMBED タグ内で ABCpdf_PreviewTime 属性や ABCpdf_PreviewDPI 属性を指定できます。

たとえば、300dpi でムービー内の 2000 ミリ秒のプレビューを取得するには、次の HTML を使用できます。

<EMBED src="frogger.swf"
WIDTH="700" HEIGHT="500"
ABCpdf_PreviewTime="2000"
ABCpdf_PreviewDPI="300"></EMBED>

一部のムービーはスクリプトを使用して表示方法を定義するので描画に時間がかかります。ABCpdf_PreviewWaitTime 属性を使用してプレビューが作成される前にムービーを初期化する時間(ミリ秒単位)を定義できます。

これらの属性は、設定が PDFではなくムービーの内容に依存する場合に役立ちます。

● MHT(MIME HTML)のサポート
Doc オブジェクトの AddImageUrl メソッドは URL で指定した Web ページを処理します。このメソッドは、Web ページの URL だけでなく、MHT (MIME HTML)ファイルのURLも設定することができます。
MHT ファイルは Web ページと関連するリソース(イメージやスタイルシート等)をまとめて、一つのファイルとして構成されています。IE を使用して MHT フォーマットで Web ページを保存することもできます。
● Officeドキュメントのサポート
Microsoft Office や、無償の OpenOffice ( OpenOffice.org 日本ユーザー会: http://ja.openoffice.org/ ) をインストールすれば、ABCpdf は PDF や HTML だけでなく、Microsoft Office のドキュメントを扱うこと(読み込み)ができます。
※Webアプリケーションとして、サーバでの使用はできません。

【サンプルコード(C#)】

 //--- Microsoft Office を使用する例
 Doc theDoc = new Doc();
 XReadOptions xr = new XReadOptions();
 xr.ReadModule = ReadModuleType.XpsAny;
 theDoc.Read(@"c:\Input.docx");
 theDoc.Save(@"c:\Output.xps");

 //--- OpenOfficeを使用する例
 Doc theDoc = new Doc();
 theDoc.Read(@"c:\Input.docx");
 theDoc.Save(@"c:\Output.xps");

【OpenOffice Writer(MS Word互換)】

【test.pdf】
● 拡張フォントメトリックスのサポート
ABCpdfで利用可能なフォントに関する情報を提供する「XFont クラス」が追加されました。システムにインストールされている全てのフォントや特定のフォントファミリーに属するフォントを検索するメソッドや、フォント名を示す完全なリストを表す Names プロパティなどの各種プロパティを実装しています。
● System.Drawing の使用
PDF出力の System.Drawing コードを容易に移植するための ABCpdf12.Drawing のラッパーの名前空間を含んでいます。

通常スクリーンやイメージあるいはプリンターへ出力する時には System.Drawing のコードを記述します。

PDFへ出力する場合、ABCpdf は簡単に処理が作成できるようにラッパーコードを使用します。
ラッパーには以下の名前空間が含まれています。

WebSupergoo.ABCpdf12.Drawing;
WebSupergoo.ABCpdf12.Drawing.Drawing2D;
WebSupergoo.ABCpdf12.Drawing.Text;

ABCpdf12.Drawing には System.Drawing に含まれているクラスと同じクラスがあります。たとえば、System.Drawing.PenはWebSupergoo.ABCpdf12.Drawing.Pen にマップされ、System.Drawing.Bitmap は WebSupergoo.ABCpdf12.Drawing.Bitmap にマップされます。

System.Drawing のコードを ABCpdf12.Drawing のコードに変更する手続きは簡単です:

・System.Drawing の名前空間を ABCpdf12.Drawing(Drawing, Drawing.Text, Drawing.Drawing2D etc.) の対応する名前空間に変更
・System.Drawing の型を ABCpdf12.Drawing(Pen, Brush, Color etc.) の対応する型に変更
・System.Drawing のコードが ABCpdf.Drawing に無い場合コードを削除

一般的に、ABCpdf.Drawing に無いコードは少ないはずです。しかし Drawing のためのソースコードが提供されているので、アセンブリの拡張は簡単となります。

System.Drawing の関数と似ている標準的な関数だけでなく、ABCpdf12.Drawing の名前空間には、PDF の作成をコントロールするために似たような関数があります。

● JPEG 2000[.jp2, .jpx]へのレンダリング処理
ABCpdf は JPEG 2000 をサポートしているので、JPEG 2000 で圧縮されたイメージが含まれているページをレンダリングすることができます。また、PDF ページを8ビットまたは16ビットで、RGB、グレースケール、または CMYK JPEG 2000 ファイルへのレンダリングや保存が可能です。
● EPS や PostScript へのレンダリング処理
ABCpdf はポストスクリプトと互換性があり、ラスタやベクタの PostScript(PS) ファイルまたは Encapsulated PostScript(EPS) ファイルを直接PDFドキュメントにインポートすることが可能になりました。つまり、PDF ドキュメントを取得して、それを PS または EPS 形式にレンダリングすることができます。
● Vector EMFへのレンダリング処理
ポストスクリプトと互換性があるだけでなく、EMF とも互換性があるので、直接ベクタの EMF へのレンダリングが可能です。つまり、高速で高品質な印刷出力が可能になり、他のアプリケーションとの相互運用が可能です。
● PDF の要素を SVG(+) 形式で保存可能
PDFの要素をSVG(+)形式で保存することができます。これにより、PDFのテキストの検索や置換などを行ったり、ページにある各イメージを識別することができます。

下記のコードはtest.pdfから指定したフォーマットでコンテンツを取得します。
theID2はSVG形式のテキストファイルです。

【サンプルコード(C#)】

Doc theDoc = new Doc();
theDoc.Read("test.pdf");
string theID2 = theDoc.GetText("Svg");
textBox1.Text=theID2;

(theID2の結果)
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="612" height="792" x="0" y="0">
<text x="0" y="25.6" font-size="32" font-family="MS-Gothic">
&#12372;&#12428;&#12435;&#12425;&#12367;......</text>
<text x="0" y="57.6" font-size="32" font-family="MS-PGothic">
&#22823;&#22793;&#30003;&#12375;&#35379;......</text>
<text x="0" y="89.6" font-size="32" font-family="MS-PGothic">
&#12356;&#12363;&#12364;&#12362;&#36942;......</text>
<text x="0" y="121.6" font-size="32" font-family="MS-PGothic">
&#12414;&#12375;&#12383;&#12363;&#65311;</text>
</svg>
● 透明アルファチャンネルの出力をサポート
レンダリングしたイメージの出力をさらに制御できるようになりました。ABCpdf は、レンダリングした PDF の内容へのアルファ値のエクスポートをサポートしています。

以下の処理は、イメージの透明箇所で背景(青色)が表示されます。

1.テキストを描画するPDFを作成します。
2.アルファチャンネルを有効にしてPDFをレンダリングします。
3.青色の背景のPDFを作成し透明なイメージを追加します。

【サンプルコード(VB.NET)】

Dim theDoc As Doc = New Doc()
' テキストを追加
theDoc.FontSize = 196
theDoc.HPos = 0.5
theDoc.VPos = 0.3
theDoc.AddText("Hello World")
' PDFをアルファチャンネルでレンダリング
theDoc.Rendering.SaveAlpha = True
Dim alphaBitmap As Bitmap = theDoc.Rendering.GetBitmap()
' 青地のPDFを作成
theDoc = New Doc
theDoc.Color.String = "0 0 255"
theDoc.FillRect()
' 下地の青色が透けるように
' PDFに透明なビットマップを追加

theDoc.AddImageBitmap(alphaBitmap, True)
' PDFの保存
theDoc.Rendering.Save(Server.MapPath("RenderingSaveAlpha.png"))
theDoc.Clear()

● 垂直方向と水平方向別々に解像度を設定可能
LZW や Flate といった TIFF 圧縮型やさまざまな垂直解像度や水平解像度の制御が可能です。
● TIFF での複数ページの出力をサポート
マルチページの TIFF 出力の制御が可能です。
● 署名付ドキュメントの作成/署名付ドキュメントの検証
デジタル署名のコードで、ドキュメントに署名したり、既存の署名が正当かを判別することができます。複雑なスクリプトや変わった文字の暗号化をサポートするために、PDFのレンダリングプロセスを大幅に強化しました。

【サンプルコード(VB.NET)】

'PDFドキュメントを読み込んで署名を行います。
'Sign メソッド

Dim theDoc As Doc = New Doc()
theDoc.Read(Server.MapPath("../Rez/Authorization.pdf"))
Dim theSig As Signature = theDoc.Form("Signature")
theSig.Location = "Washington"
theSig.Reason = "Schedule Agreed"
theSig.Sign(Server.MapPath("../Rez/JohnSmith.pfx"), "111111")
theDoc.Save(Server.MapPath("Signed.pdf"))
'ドキュメントを読み込み署名の確認を行います。
'署名は証明の発行者から発行される証明書を参照して確認されます。
'Validate メソッド

Dim theDoc As Doc = New Doc()
theDoc.Read(Server.MapPath("../Rez/Signed.pdf"))
Dim theCerts() As String = { Server.MapPath("../Rez/JohnSmith.cer") }
Dim theSig As Signature = theDoc.Form("Signature")
If (theSig.Validate(theCerts)) And (Not theSig.IsModified) Then
  theDoc.AddText("Signature valid at " + DateTime.Now.ToString())
End If
theDoc.Save(Server.MapPath("SignedAndValidated.pdf"))

● JPEG、JPEG 2000、CCITTでのストリームの圧縮
CCITT、JPEG、Flate または JPEG 2000 形式への圧縮が可能です。
● PDF イメージのリサイズ
ABCpdf は PDF 内のイメージをさらに制御できるようになりました。洗練された高品質なリサンプリングアルゴリズムを使用して、イメージをサイズ変更することができます。
● PDF イメージのリサンプリング
イメージを 1ビットから別の色深度にリサンプリングすることができます。
● PDF イメージの色空間の変更
新しいカラースペースを割り当てたり、あるカラースペースから別のカラースペースに変換することができます。
● ライブムービーの埋め込み
ABCpdf は、動画データ(Flash、AVI、MPEG、WMV など)を PDF ドキュメントに埋め込むことができます。

>【サンプルコード(C#)】theDoc.Pos.String = "40 400";
theDoc.AddText("Video File:");
MovieAnnotation movie2 = new MovieAnnotation(theDoc, "80 40 520 360", Server.MapPath("video.wmv"));

● 外字のサポート
PDF ドキュメント作成時に、外字を埋め込むことができます。ただし、フィールドには外字を埋め込むことができません。

【サンプルコード(VB.NET)】
● レンダリング / 表示 / ラスタ化
ABCpdf は、PDF ドキュメントを生成するだけではなく、Acrobat Reader を使わずに PDF ドキュメントを表示したり、印刷することができます。また、ラスタ化してさまざななイメージ形式で出力することもできます。たとえば、Acrobat Reader を使わずに、VB フォーム上の PictureBox を使った PDF 表示などが可能です。

RGB や CMYK、Grayscale、Lab のためのレンダリングの複雑な制御ができます。ICC カラープロファイルにより適切なキャリブレーションがサポートされています。完成した PDF ドキュメントを TIFF、JPEG、GIF、PNG などのラスタイメージとして出力できます。グレースケール表示におけるハーフトーンも適切に処理されます。

また、ABCpdf は透過処理サポートしています。アルファ値(透明度)を設定することにより、テキストや線、塗りつぶしなどに透明度を設定して描画できます。また透過設定を行ったオブジェクトに対してソフトマスクまたはクロマキーのマスクを設定することができます。簡単に GIF などの透明なイメージを描画することもできます。

【サンプルコード(VB.NET)】
Dim theDoc As Doc = New Doc
theDoc.Read("test.pdf")
PictureBox1.Image = theDoc.Rendering.GetBitmap()
theDoc.Clear()

フォームの PictureBox を使った PDF 表示の例

※場合により正しく処理できないPDFがございますので、詳しくは体験版にてご確認をお願い致します。
● HTML / CSS の処理機能をサポート
Web ページを PDF に変換するために HTML / CSS 処理機能をサポートします。ライブリンク、ライブフォーム、タグ付き領域をサポートします。また、レンダリングのイベントを利用し、実行中の HTML の構造を修正することができます。

ライブリンクのサポート
PDF に Web ページを追加して、ドキュメントの中でページ間のリンクを可能にします。また、ページへのリンクとして Web サイトのリンクを残すこともできます。
ライブフォームのサポート
HTML 形式でフォームを作成し、このフォームをインタラクティブな機能を保持した状態で Acrobat フォーム内に作成できます。
タグ付き領域のサポート
標準の CSS タグを使用して HTML 内での領域を指定し、PDF の位置を正確に知ることができます。

● 機能強化された eForms のサポート
簡単にフィールドの値を参照したり修正できるなど eForms のサポートが機能強化されました。また、スタンプ機能では書式設定を行わずにフィールドの値を PDF に直接スタンプできます。
//StampAnnotations
theDoc.Pos.String = "40 600";
theDoc.AddText("Stamp annotations");
StampAnnotation stamp1 = new StampAnnotation(theDoc, "340 560 540 600", "DRAFT", "0 0 128");
StampAnnotation stamp2 = new StampAnnotation(theDoc, "340 505 540 545", "FINAL", " 0 128 0");
StampAnnotation stamp3 = new StampAnnotation(theDoc, "340 450 540 490", "NOT APPROVED","128 0 0");
● 図形の描画の機能
よく使用される図形の描画のために、AddPie、AddOval、AddPoly、AddArc などの機能があります。また低レベルでの PDF 演算子を使用して高度な描画を行う、非常に多くのサンプルやクラスもあります。

Dim theDoc As Doc = New Doc()
theDoc.Width = 80
theDoc.Rect.Inset(50, 50)
theDoc.Color.String = "255 0 0"
theDoc.AddPie(0, 90, True)
theDoc.Color.String = "0 255 0"
theDoc.AddPie(180, 270, False)
theDoc.Save(Server.MapPath("docaddpie.pdf"))
theDoc.Clear()

● ブックマークの機能
ドキュメントのアウトラインの簡単な操作や修正のためのブックマークの機能があります。
● テーブルクラスの機能強化とソースコードの提供
テーブルクラスの機能が強化されました。必要に応じて簡単に使用できるようにテーブルクラスがソースコードとして提供されています。
● ドキュメント操作の機能
ページの並べ替えやコピー、削除のためにシンプルで強力な RemapPages メソッドが追加されました。 Dim theDoc As Doc = New Doc()
theDoc.Read(Server.MapPath("../mypics/sample.pdf"))
theDoc.FontSize = 500
theDoc.Color.String = "255 0 0"
theDoc.HPos = 0.5
theDoc.VPos = 0.3
Dim theCount, i As Integer
Dim thePages As String
theCount = theDoc.PageCount
thePages = ""
For i = 1 To theCount
  theDoc.PageNumber = i
  theDoc.AddText(i.ToString())
  thePages = thePages + (theCount - i + 1).ToString() + " "
Next
theDoc.RemapPages(thePages)
theDoc.Save(Server.MapPath("docremappages.pdf"))
theDoc.Clear()
● PDF ドキュメントを Web ブラウザに直接転送
ABCpdf は PDF ドキュメントの作成や読込みおよび修正を行うことができます。また他の PDF ドキュメントからのページの追加や挿入、あるいは別の PDF ドキュメントの作成ができます。更に PDF ドキュメントをクライアントの Web ブラウザに直接転送することもできます。
● PDF ドキュメント作成時のイメージデータ埋め込み
PDF ドキュメントには JPEG, GIF, TIFF, BMP, PNG, EXIF, WMF や EMF のイメージを含めることができます。また PDF ドキュメントの複数の別の場所からイメージデータを参照することができます。これは透かし(半透明)イメージや頻繁に使用するイメージには便利です。また、ABCpdf は RGB, CMYK やグレースケールのイメージをサポートしますので、高品質な印刷を行うアプリケーションを作成することができます。
● PDF ドキュメント作成時に詳細なテキスト設定が可能
ABCpdf はインデント、カーニング、トラッキング、文字間や行間及び段落の空白、アライメントなどテキストを細かく制御することができます。
● マルチランゲージ対応
ABCpdf は Unicode をサポートします。従ってどんなプラットフォームでも適切な言語パッケージや Unicode フォントへの参照が行われます。大きな CJK(中国語、日本語、韓国語)フォントについては、そのサブセットを使用することでメモリーの使用量を少なくし、サーバの負担も少なくします。
● PDF ドキュメント作成時のグラフィックスサポート
ABCpdf は回転、拡大、傾きなどの変換機能をサポートしているので、回転の文字やイメージ、グラフィックスを簡単な命令で描画できます。
● PDF ドキュメント作成時の暗号化、セキュリティ対応
ABCpdf は暗号化した PDFドキュメントを作成できます。暗号化キーは 40ビットから 128ビット長の設定ができます。また、ドキュメント更新許可やパスワード保護に対応しています。
● PDF ドキュメント作成時のフィールドやフォームのサポート
ABCpdf はフィールドやフォームをサポートしますので、テンプレートドキュメントのプレースホルダを使用することによりダイナミックにドキュメントのレイアウトを設定できます。
● PDF ドキュメント作成時の正確な位置指定
ABCpdf はテキストや線などのオブジェクトの位置を正確に設定することができます。
ABCpdf の基本的な使用方法
.NET
「ABCpdf .NET 12J」は、2つのコンポーネントから構成されています。
Visual Studio 2010 以降、ASP.NET、VB6.0(COM として使用する場合)の開発環境でご利用いただけます。
【ABCpdf12-32.dll,ABCpdf12-64.dll(x64)】
PDF を処理する中核となるコンポーネントでマルチスレッドの環境で動作します。
【ABCpdf.dll】
.NET アプリケーションと ABCpdf12-32.dll, ABCpdf12-64.dll(x64) の間に位置する.NET コンポーネントです。
ABCpdf .NET 12J のセットアッププログラムを実行すると、ABCpdf.dll はグローバル・アセンブリ・キャッシュ(GAC) にインストールされます。

プロジェクトを作成する場合は、ABCpdf の参照をそのプロジェクトに組み込む必要があります。

ABCpdf には、4つのネームスペースがあり、下記のようにして参照します。

[C#]
using WebSupergoo.ABCpdf12;
using WebSupergoo.ABCpdf12.Objects;
using WebSupergoo.ABCpdf12.Atoms;
using WebSupergoo.ABCpdf12.Operations;

[Visual Basic]
Imports WebSupergoo.ABCpdf12
Imports WebSupergoo.ABCpdf12.Objects
Imports WebSupergoo.ABCpdf12.Atoms
Imports WebSupergoo.ABCpdf12.Operations

ABCpdf12 のネームスペースはページデザインのオブジェクトを含んでいて、ほとんどの場合必要になるのはこのネームスペースです。ABCpdf12.Objects のネームスペースは追加した内容に対し操作したり、アクセスしたりします。これは、複雑な処理に使用されます。ABCpdf12.Atoms のネー ムスペースは PDF データに低いレベルでアクセスします。これが必要なければ、このネームスペースを使用することはありません。Operations のネームスペースは複数のパラメータとコールバックとともに複雑な命令を実行します。

下記のサンプルコードは、ABCpdf のライセンスの情報を表示します。

[C#]
Doc doc = New Doc();
Response.Write("License: " + doc.License + "<br>");
[Visual Basic]
Dim doc As New Doc()
Response.Write("License: " & doc.License & "<br>")

COM
COM についてですが、本来の .NET ベースに新しい COM レイヤー(ABCpdf COM のインターフェイスのようなレイヤー)を実装したので、1つの製品を .NET 展開用と旧式の COM 展開用に使用できます。つまり、1つのパッケージに ABCpdf .NET と ABCpdf COM が入っていると考えてください。更に、COM のフロントエンドの裏で .NET のアーキテクチャ(例: x64 のサポートや SVG のインポートといった機能)を利用することができます。
PDF ドキュメント作成の最初のコードサンプル
PDFドキュメントは簡単な手順で作成できます。最初にABCpdf のドキュメントオブジェクトを作成し、次にそのオブジェクトにテキスト、イメージやグラフィックスを追加します。

すべての項目は、カレントのPageとカレントのRectに追加されます。別のページや別の領域に描画する場合にはPageやRectの値を変更します。デフォルトのページは最初のページで、デフォルトの描画領域は全ページです。開発時にFrameRectメソッドを使用することにより、カレントのペ ージとカレントの描画領域を取得することができます。
項目を追加する度に、オブジェクトIDが生成されます。このオブジェクトIDを使用して、オブジェクトのプロパティを取得したり変更したりします。

下記のコードは、簡単なPDFドキュメントを作成します。

最初に ABCpdf のドキュメントオブジェクトを作成し、次にフォントのサイズとテキストを設定し、最後に指定した場所に保存します。

[C#]
Doc theDoc = new Doc();
theDoc.FontSize = 96;
theDoc.AddText("Hello World");
theDoc.Save(Server.MapPath("simple.pdf"));
theDoc.Clear();

[Visual Basic]
Dim theDoc As Doc = New Doc()
theDoc.FontSize = 96
theDoc.AddText("Hello World")
theDoc.Save(Server.MapPath("simple.pdf"))
theDoc.Clear()
座標領域
ABCpdf はAdobe PDF の座標系を使用しています。この座標系の原点(0,0)はドキュメントの左 PDF の座標系は下から上へ、一方 Windows の座標系は上から下へ進みますので注意してください。もし違う座標系を使用する場合はドキュメントの Units、TopDown や Transform プロパティを使用してください。

ABCpdf は領域の中の位置をあらわす場合は XPoint オブジェクトを使用し、カレントの描画範囲のような領域やページのサイズをあらわす場合は XRect オブジェクトを使用します。

Doc.Rect は最も重要なプロパティで、すべての処理がこのプロパティで行われます。ドキュメントにテキストを追加すると、テキストは Doc.Rect プロパティの中に追加されます。また四角形を描画したり四角形の枠を設定したりする場合、Doc.Rect プロパティの中で処理が行われます。イメージを追加する時には Doc.Rect プロパティの領域に合わせてスケーリングされます。

ABCpdf のデフォルトのドキュメントの大きさは 612 X 792 ポイントです。(8.5 X 11 インチ)
下記のコードは、ページに四角形を描画します。四角形の左下の位置は100、200ポイント、四角形の幅は400ポイントで高さは500ポイントです。四角形の場所がよく確認できるように、ページにグリッドを描画しています。
[C#]
Doc theDoc = new Doc();
theDoc.AddGrid();
theDoc.Color.String = "255 0 0";
theDoc.Width = 10;
theDoc.Rect.Position(100, 200);
theDoc.Rect.Width = 400;
theDoc.Rect.Height = 500;
theDoc.FrameRect();
theDoc.Save(Server.MapPath("coordinates.pdf"));

[Visual Basic]
Dim theDoc As Doc = New Doc()
theDoc.AddGrid()
theDoc.Color.String = "255 0 0"
theDoc.Width = 10
theDoc.Rect.Position(100, 200)
theDoc.Rect.Width = 400
theDoc.Rect.Height = 500
theDoc.FrameRect()
theDoc.Save(Server.MapPath("coordinates.pdf"))
PDF レンダリングの簡単な例
この例は、PDFドキュメントのレンダリングの方法を示します。
ABCpdf の Doc オブジェクトを作成し、PDFドキュメントを読込みます。
[C#]
Doc theDoc = new Doc();
theDoc.Read(Server.MapPath("../mypics/spaceshuttle.pdf"));

[Visual Basic]
Dim theDoc As Doc = New Doc()
theDoc.Read(Server.MapPath("../mypics/spaceshuttle.pdf"))
基本的な設定を行います。ここでは解像度の設定を行います。
[C#]
theDoc.Rendering.DotsPerInch = 36;

[Visual Basic]
theDoc.Rendering.DotsPerInch = 36
最後にドキュメントの最初の4ページをPNG形式で保存します。
[C#]
for (int i = 0; i < 4; i++) {
  theDoc.PageNumber = i;
  theDoc.Rect.String = theDoc.CropBox.String;
  theDoc.Rendering.Save("c:\\mypdfs\\shuttle_p" + i.ToString() +".png");
}

[Visual Basic]
Dim i As Integer
For i = 1 To 4
  theDoc.PageNumber = i
  theDoc.Rect.String = theDoc.CropBox.String
  theDoc.Rendering.Save("c:\mypdfs\shuttle_p" + i.ToString() + ".png")
Next
イメージ描画の簡単な例
この例は、イメージを描画する簡単なPDFの作成方法を示します。
最初に、ABCpdfImageオブジェクトを作成し、イメージファイルの関連付けを行います。
[C#]
XImage theImg = new XImage();
theImg.SetFile(Server.MapPath("../mypics/pic.jpg"));

[Visual Basic]
Dim theImg As XImage = New XImage()
theImg.SetFile(Server.MapPath("../mypics/pic.jpg"))
次に、ABCpdfイメージのドキュメントを作成します。

イメージを追加する時はカレントのRect の大きさにスケーリングされるので、Rect の大きさを正しく設定することが重要になります。ここでは、ピクセルとポイントが同じ値とします。印刷するイメージの解像度は 72dpi となります。

[C#]
Doc theDoc = new Doc();
theDoc.Rect.Left = 100;
theDoc.Rect.Bottom = 100;
theDoc.Rect.Width = theImg.Width;
theDoc.Rect.Height = theImg.Height;
theDoc.AddImageObject(theImg, false);
theDoc.Save(Server.MapPath("image.pdf"));
theDoc.Clear();

[Visual Basic]
Dim theDoc As Doc = New Doc()
theDoc.Rect.Left = 100
theDoc.Rect.Bottom = 100
theDoc.Rect.Width = theImg.Width
theDoc.Rect.Height = theImg.Height
theDoc.AddImageObject(theImg, false)
theDoc.Save(Server.MapPath("image.pdf"))
theDoc.Clear()


image.pdf

Unicode の使用例
ここでは日本語の扱い方を説明します。また、すべてのプラットフォームでドキュメントを正しく処理するためにフォントの組み込みとサブセット化を行います。
最初に ABCpdf のドキュメントオブジェクトを作成し、フォントのサイズを設定します。
[C#]
Doc theDoc = new Doc();
theDoc.FontSize = 32;

[Visual Basic]
Dim theDoc As Doc = New Doc()
theDoc.FontSize = 32
Unicode のテキストファイルから日本語のテキストを読み込みます。
[C#]
string thePath = Server.MapPath("../Rez/Japanese2.txt");
// Utilities.ReadString is an external function not defined here
string theText = Utilities.ReadString(thePath);

[Visual Basic]
Dim thePath As String = Server.MapPath("../Rez/Japanese2.txt")
'Utilities.ReadString is an external function not defined here
Dim theText As String = Utilities.ReadString(thePath)
すべてのプラットフォームでドキュメントの処理を確実にするために、Unicode のフォントを組み込みます。また、テキストを左から右方向への書き込み設定とフォントのサブセット化を行います。
[C#]
theDoc.Page = theDoc.AddPage();
theDoc.Font = theDoc.EmbedFont("MS PGothic", "Unicode", false, true);
theDoc.AddText("Japanese" + theText);

[Visual Basic]
theDoc.Page = theDoc.AddPage()
theDoc.Font = theDoc.EmbedFont("MS PGothic", "Unicode", False, True)
theDoc.AddText("Japanese" + theText)
ページを垂直方向に設定するモードに設定します。
[C#]
theDoc.Page = theDoc.AddPage();
theDoc.Font = theDoc.EmbedFont("MS PGothic", "Unicode", true, true);
theDoc.AddText("Japanese" + theText);

[Visual Basic]
theDoc.Page = theDoc.AddPage()
theDoc.Font = theDoc.EmbedFont("MS PGothic", "Unicode", True, True)
theDoc.AddText("Japanese" + theText)
最後に指定した場所に保存します。
[C#]
theDoc.Save(Server.MapPath("unicode.pdf"));

[Visual Basic]
theDoc.Save(Server.MapPath("unicode.pdf"))
【出力結果】
アノテーションの使用例
通常、デザイナーで作成したフィールドやアノテーションを含んだ PDF をテンプレートとして使用します。もちろん、実行時にフィールドやアノテーションを作成することができますが、この場合 ABCpdf の低レベルの機能を使用します。

アノテーションはページのコンテントストリームとは別のオブジェクトの一般的なクラスです。アノテーションは PDF のコンテントストリームとは別なので、そのページを個別に操作します。アノテーションはページの中に組み込まれているのではなく、ページ上に表示されます。

アノテーションには、ムービーアノテーション、メモアノテーション、スタンプアノテーション、線アノテーション、多角形アノテーションなどがあります。

フィールドは名前が付いている値と結合したアノテーションの特定の型です。実際、この種のフィールドは見たり対話したりできるアノテーションです。また、アノテーションは値を取得したり名前で位置づけられたりするフィールドの階層にリンクされています。

ムービーは、アノテーションの特殊な型です。Flash や WMV を含むさまざまなムービーの形式を組み込むことができます。



テキストボックス、ラジオボタン、チェックボックス、署名を含むフィールドを作成


四角形、線、テキスト効果、円、多角形を含む記号のアノテーションを作成


Flash や WMV を挿入


メモ用紙、ファイル添付、ラバースタンプ(3個)を追加
eForm のプレースホルダ
対話的なフォームを使用している多くの Web サイトがあります。これらは Web フォームや eForm、AcroForms、電子フォームなどの名前で呼ばれています。HTMLだけでなく、PDF でもこれらの対話的なフォームを作成することができます。利用者にとっては、これらのフォームは普通の PDF ドキュメントのようなものですが、テキストボックスやボタンなど Web でよく見られる対話的な要素を含んでいます。実際、eForm(PDF で作成した対話的なフォーム)は HTML フォームと殆ど同じ要素をサポートしているとともに、Web サーバーへ内容をサブミットする HTML フォームと同じ機構もサポートしています。

PDF の eForm が便利な理由として、PDF のテンプレートの中にプレースホルダを保持することです。もし ABCpdf とともに使用するドキュメントテンプレートがあると、Acrobat を使用して項目を挿入したいところで PDF にフォームのフィールドを挿入することができます。また ABCpdf で自動的にこれらのフィールドの位置を見つけ、そこに項目を挿入することができます。後で項目を多少移動したくなったら、Acrobat の PDF をオープンしてそのフィールドを移動するだけです。
以下は、eForm のフィールドをテキスト入力のプレースホルダとして使用する方法を示します。下記のサンプルは、各フィールドをそのフィールド名で設定します。

最初に ABCpdf ドキュメントのオブジェクトを作成し、PDF ファイルを読み込みみます。

[C#]
Doc theDoc = new Doc();
theDoc.Read(Server.MapPath("../mypics/form.pdf"));
theDoc.Font = theDoc.AddFont("Helvetica-Bold");
theDoc.FontSize = 16;
theDoc.Rect.Pin = (int)XRect.Corner.TopLeft;

[Visual Basic]
Dim theDoc As Doc = New Doc()
theDoc.Read(Server.MapPath("../mypics/form.pdf"))
theDoc.Font = theDoc.AddFont("Helvetica-Bold")
theDoc.FontSize = 16
theDoc.Rect.Pin = XRect.Corner.TopLeft
各フィールドにフォーカスを設定します。そして矩形をライトグレーに、フィールド名を濃い赤色で描画します。
[C#]
foreach (Field theField in theDoc.Form.Fields)
{
  theField.Focus();
  theDoc.Color.String = "240 240 255";
  theDoc.FillRect();
  theDoc.Rect.Height = 16;
  theDoc.Color.String = "220 0 0";
  theDoc.AddText(theField.Name);
  theDoc.Delete(theField.ID);
}

[Visual Basic]
Dim theField As Field
For Each theField in theDoc.Form.Fields
  theField.Focus()
  theDoc.Color.String = "240 240 255"
  theDoc.FillRect()
  theDoc.Rect.Height = 16
  theDoc.Color.String = "220 0 0"
  theDoc.AddText(theField.Name)
  theDoc.Delete(theField.ID)
Next
最後に保存します。
[C#]
theDoc.Save(Server.MapPath("eform.pdf"));

[Visual Basic]
theDoc.Save(Server.MapPath("eform.pdf"))
処理前
処理後
高度なグラフィックス処理
ほとんどの場合、グラフィックスの描画は FrameRect、FillRect、AddLine や AddArc などのメソッドを使用して行われます。しかし PDF のコンテンツストリームに直接アクセスすることにより、高度なグラフィックスの描画を行うことができます。ページの中の項目はページのコンテンツストリームで定義されます。コンテンツストリームはページに配置されるグラフィックスオブジェクトの一連の記述から成ります。ABCpdf ではコンテンツストリームを作成したり修正したりして、高度なグラフィックスの描画を行うことができます。

以下にいくつかの例を表示します。
カレントの非ストロークカラーでパスを塗つぶします。塗つぶした星型の描画を行うサンプルです。 曲線のセグメントを含むパス。曲線のセグメントはベジェ曲線で指定します。これにより曲線を描画したりパスを湾曲することができます。 線の終端のキャップの設定。下記の例は、線の終端のキャップの様子をあらわします。
注意事項
PostScript (PS) または Encapsulated PostScript (EPS) につきましては、日本語をサポートしておりません。
ABCpdf のライセンスについて

※当製品はランタイムライセスフリーではございません。当製品を利用して開発したアプリケーションをインストール(配布)する際にも、インストールする PC の台数分のライセンスが必要となりますのでご注意ください。詳しくは、こちらをご覧ください。

お客様が ABCpdf のご利用時に必要なライセンスは、次の通りです。

インストールライセンス:
ABCpdf をコンピュータにインストールして使用するライセンスです。
また、ABCpdf を利用して開発したアプリケーションをインストール(配布)するライセンスにも適用できます。1インストールライセンス(通常製品)と3インストールライセンス、5インストールライセンス、エンタープライズライセンス(次項参照)があります。1インストールライセンスは1台のコンピュータだけにインストールして使用することができます。5インストールライセンスは最大5台のコンピュータにインストールして使用することができます。ABCpdf のインストールライセンスは開発時(デザインタイム)や実行時(ランタイム)の区別はありません。

たとえば、次のような場合、それぞれに「1インストールライセンス」が必要になります。
例1: ABCpdf を開発のために1台のコンピュータにインストールする場合
※ 複数の端末がネットワークを通じて処理を行うことができるターミナルサーバにインストールして、端末で開発する場合は、使用する端末の台数分のライセンスが必要です。
例2: ABCpdf を利用して開発した(Web)アプリケーションを自社(または他社)の Web サーバー1台にインストール(配布)して運用する場合
※ 1 台の PC に複数の仮想サーバーがあり、それらにインストールする場合は、インストールする仮想サーバー数分のライセンスが必要です。
例3: ABCpdf を利用して開発した(クライアント)アプリケーションをエンドユーザの1台のコンピュータにインストール(配布)する場合
エンタープライズライセンス:
一事業所無制限のインストールライセンスです。同一事業所内であればコンピュータの台数に制限無く ABCpdf をインストールして使用できます。また、同一事業所内であればコンピュータの台数に制限無く、ABCpdf を利用して開発したアプリケーションをインストール(配布)することができます。
ABCpdf の機能を他の Web サービスや Web アプリケーションに提供する Web サービスとして使用する場合はエンタープライズライセンスが必要です。
再配布ライセンス:
ABCpdf を利用して開発した(クライアントまたは Web)アプリケーションを社内社外を問わず、コンピュータの台数に関係なく無制限に配布できるライセンスです。この再配布ライセンスは、配布アプリケーション1種類毎に必要です。たとえば、「製品 A」と「製品 B」は2種類のアプリケーションとみなします。しかし、「製品 A-Ver.5」と「製品 A-Ver.6」のように同一製品間のバージョンなどによる違いは、同一のアプリケーションと考えて、1再配布ライセンスで対応できます。
なお、再配布ライセンスを開発用のインストールライセンスとして使用することはできません。開発を行う場合は、インストールライセンスが別途必要です。
【ABCpdf を利用した開発ツールソフトウェアの配布について】
上記3つの各ライセンスは、ABCpdf を利用した「開発ツールソフトウェア」の配布にはそのまま適用はできません。しかし、お客様のご要望のライセンスを受け付ける体制がございますので、お気軽に弊社までご連絡ください。ここでの「開発ツールソフトウェア」とは、統合開発環境ソフトウェア(IDE)や DLL・OCX、その他ライブラリなどのソフトウェア部品(コンポーネント)などを指します。
対応OS・フレームワーク
  Windows 11 / 10 / 8.1
  Server 2022 / Server 2019 / Server 2016 / Server 2012 R2 / Server 2012
  .NET Core 3.1, .NET 5.0, .NET 6.0, .NET 7.0, .NET Framework 4.0 〜 4.8
※ 64bitおよび 32bit の各アプリケーションを作成できますが、開発対応 OS は 64bitOS のみとなります。
対応開発コンテナ
  Visual Studio 2022(VB/C#) / 2019(VB/C#) / 2017(VB/C#) / 2015(VB/C#) / 2013(VB/C#) / 2012(VB/C#) / 2010(VB/C#)、VB6.0(COM として使用する場合)、
  IIS 10.0 / 8.5 / 8.0 / 7.5 / 7.0
製品内容
パッケージ版
セットアップディスク / ユーザ登録カードなど
(マニュアルなどのドキュメントはディスクに含まれます)
▼パッケージイメージ
ABCpdf12J ABCpdf12J
サイズ:W136×D15×H191mm(DVD/CD 用トールケース)
ダウンロード版
セットアップモジュール、ドキュメントデータなど
開発元:イギリスWebSupergoo Software社
日本語版開発&国内独占販売元:株式会社ニュートン
※表記中の社名、製品名などは一般に各社の商標または、登録商標です。
※本仕様、及び価格などは予告なしに変更する場合があります。

Copyright (C) NEWTONE Corporation. All rights reserved.