|
主な特徴
|
|
◆ ABCpdf .NET 9J の新機能一覧はこちら
|
●
|
PDF/A 規格をサポート
New!
ABCpdf は PDF/A 規格をサポートしています。ドキュメントを検証し、それが PDF/A に準拠しているかを知らせる方法が多数あります。または、準拠文書を作成できるようにする方法があります。
|
|
●
|
あらゆるソースも PDF/A に準拠した文書に
New!
ABCpdf にあるべき機能を使えるようにするために、実際には、ABCpdf が作成した物だけでなく、どのソースのどの文書でも PDF/A に準拠した文書を用意できるようにしました。この機能を持つ製品はほとんどありません。
|
|
●
|
Acrobat XI のサポート
New!
ABCpdf.NET 9J は Acrobat XI をサポートしています。
|
|
●
|
透明度の平坦化を実装
New!
透明度の平坦化を実装しました。文書の透明性は一般的ですが、第三者ソフトの透明性のサポート範囲は不完全である場合があります。PDF/A 規格はこれを問題だと認めており、このため透明性の使用を禁じています。高度なベクターの平坦化ルーチンを使用して、現在 ABCpdf は文書全体の見た目を損なわずに文書から透明性を取り除くことができます。取り除かれた文書はベクターですが、見た目はオリジナルと同じでも透明がすべて不透明に変換されます。
|
|
●
|
大量なドキュメントをサポート
New!
64bit 環境で、GigaPDF の極めて大量なドキュメントのサポートを利用できます。これは GB の範囲を超えて PDF を読み込んだり保存したりするためのサポートを拡張します。実際、PDF の相互参照票がサポートしている最大サイズまでの PDF 文書をすべて扱います。ABCpdf は、非常に大量の文書の取扱に力を発揮します。
|
|
●
|
PDF の最適化とサイズの縮小
New!
PDF の最適化とサイズの縮小は、頻繁に要望されている機能です。ABCpdf の新しいバージョンでは、フォントサイズを縮小したり、埋め込みフォントを削除したり、イメージのリサンプリングや再圧縮を行ったり、平坦化して出力を可能な限り小さくするためのさまざまなオプションを使用して文書全体の最適化を行うことができます。
|
|
●
|
PDF 分析の強化
New!
PDF 分析を強化して、テキストやイメージを操作しやすくしました。表面下は複雑ですが表面上はシンプルで、PDF からありふれた、ハイフンや合字なしのテキストを抽出することができます。そして、PDF のそのテキスト項目を選択し、その選択を強調表示したり枠を付けたりすることができます。イメージ処理は、イメージの配置や解像度を簡単に定義したり、条件に合ったイメージを抽出したりすることができます。
|
|
●
|
PDF の増分更新
New!
ABCpdf は PDF の増分更新を行えるようにしました。現在、1つの PDF 文書のそれぞれの更新を分析したり、いくつか前の更新に戻したりすることができます。これは非常に便利で、署名後に増分更新で内容が変わったデジタル署名付きの文書に適しています。
|
|
●
|
破損したドキュメントの検証と修復
New!
破損したドキュメントは日ごろ扱わなくてはならない物です。弊社の多数のユーザが有効な PDF の検証方法を尋ねてきています。今回のリリースでは、ドキュメントが無効な場合に確実に例外を出す、非常に有効な PDF の検証ルーチンを持つことができました。そのような例外が出された場合、フルスキャンを使用してドキュメントを作成し直すことができるので、確実な検証ルーチンと強力な修正ルーチンを得ることになります。
|
|
●
|
TIFF のサポートを改良
New!
TIFF のサポートを改良しました。これまで問題ありとされていた、普通ではない TIFF 形式(TIFF 形式の古い JPEG やさまざまなカラースペースのフレームが付いたマルチページ TIFF イメージを含む)のインポートをサポートしています。この種のイメージを作成したいとは思わないでしょうが、処理しなくてはならない場合は ABCpdf がお役に立ちます。出力に関しては、TIFF のメタデータはカスタムなタグを使用してフレキシブルに出力できます。
|
|
●
|
その他の新機能
New!
マイナーな強化が多数あります。新しいデバッガの表示属性により、ABCpdf のコーディングやデバッグがより簡単になりました。XRect、XTransform や XColor などのクラスに、よりシンプル、より的確にするための機能が多数付加されました。
|
|
●
|
64ビット(x64)OSに対応
「ABCpdf .NET 9J Professional x64(64ビット版)」は、Windows8、Windows7、Windows Vista、Windows XP、Windows Server 2012、Windows Server 2008R2、Windows Server 2008、Windows Server 2003 の各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 のエクスポートに関してもさまざまなプリンタで使えるように複数のカラースペースのサポートも強化しました。これにより、Professional 版では、グレースケール、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 テキストの正確な制御(Professional のみ)
テキストの追加を制御するための新しい 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 コードを容易に移植するための ABCpdf9.Drawing のラッパーの名前空間を含んでいます。
通常スクリーンやイメージあるいはプリンターへ出力する時には System.Drawing のコードを記述します。
PDFへ出力する場合、ABCpdf は簡単に処理が作成できるようにラッパーコードを使用します。
ラッパーには以下の名前空間が含まれています。
WebSupergoo.ABCpdf9.Drawing;
WebSupergoo.ABCpdf9.Drawing.Drawing2D;
WebSupergoo.ABCpdf9.Drawing.Text;
ABCpdf9.Drawing には System.Drawing に含まれているクラスと同じクラスがあります。たとえば、System.Drawing.PenはWebSupergoo.ABCpdf9.Drawing.Pen にマップされ、System.Drawing.Bitmap は WebSupergoo.ABCpdf9.Drawing.Bitmap にマップされます。
System.Drawing のコードを ABCpdf9.Drawing のコードに変更する手続きは簡単です:
・System.Drawing の名前空間を ABCpdf9.Drawing(Drawing, Drawing.Text, Drawing.Drawing2D etc.) の対応する名前空間に変更
・System.Drawing の型を ABCpdf9.Drawing(Pen, Brush, Color etc.) の対応する型に変更
・System.Drawing のコードが ABCpdf.Drawing に無い場合コードを削除
一般的に、ABCpdf.Drawing に無いコードは少ないはずです。しかし Drawing のためのソースコードが提供されているので、アセンブリの拡張は簡単となります。
System.Drawing の関数と似ている標準的な関数だけでなく、ABCpdf9.Drawing の名前空間には、PDF の作成をコントロールするために似たような関数があります。
|
|
●
|
JPEG 2000[.jp2, .jpx]へのレンダリング処理(Professionalのみ)
ABCpdf は JPEG 2000 をサポートしているので、JPEG 2000 で圧縮されたイメージが含まれているページをレンダリングすることができます。また、PDF ページを8ビットまたは16ビットで、RGB、グレースケール、または CMYK JPEG 2000 ファイルへのレンダリングや保存が可能です。
|
|
●
|
EPS や PostScript へのレンダリング処理(Professionalのみ)
ABCpdf はポストスクリプトと互換性があり、ラスタやベクタの PostScript(PS) ファイルまたは Encapsulated PostScript(EPS) ファイルを直接PDFドキュメントにインポートすることが可能になりました。つまり、PDF ドキュメントを取得して、それを PS または EPS 形式にレンダリングすることができます。
|
|
●
|
Vector EMFへのレンダリング処理(Professionalのみ)
ポストスクリプトと互換性があるだけでなく、EMF とも互換性があるので、直接ベクタの EMF へのレンダリングが可能です。つまり、高速で高品質な印刷出力が可能になり、他のアプリケーションとの相互運用が可能です。
|
|
●
|
PDF の要素を SVG(+) 形式で保存可能(Professionalのみ)
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">
ごれんらく......</text>
<text x="0" y="57.6" font-size="32" font-family="MS-PGothic">
大変申し訳......</text>
<text x="0" y="89.6" font-size="32" font-family="MS-PGothic">
いかがお過......</text>
<text x="0" y="121.6" font-size="32" font-family="MS-PGothic">
ましたか?</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 での複数ページの出力をサポート
|
●
|
署名付ドキュメントの作成/署名付ドキュメントの検証
デジタル署名のコードで、ドキュメントに署名したり、既存の署名が正当かを判別することができます。複雑なスクリプトや変わった文字の暗号化をサポートするために、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)】
|
|
●
|
レンダリング / 表示 / ラスタ化(Professionalのみ)
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 はテキストや線などのオブジェクトの位置を正確に設定することができます。
|
|
|
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
|

shuttle_p1.png
|

shuttle_p2.png
|

shuttle_p3.png
|

shuttle_p4.png
|
|
イメージ描画の簡単な例
|
|
この例は、イメージを描画する簡単な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"))
|
【出力結果】
|
|
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"))
|
処理前
|
処理後
|
|
|
注意事項
|
PostScript (PS) または Encapsulated PostScript (EPS) につきましては、日本語をサポートしておりません。
|
|
ABCpdf のライセンスについて
|
お客様が 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)アプリケーションを社内社外を問わず、コンピュータの台数に関係なく無制限に配布できるライセンスです。この再配布ライセンスは、配布アプリケーション1種類毎に必要です。たとえば、「製品 A」と「製品 B」は2種類のアプリケーションとみなします。しかし、「製品 A-Ver.5」と「製品 A-Ver.6」のように同一製品間のバージョンなどによる違いは、同一のアプリケーションと考えて、1再配布ライセンスで対応できます。
なお、再配布ライセンスを開発用のインストールライセンスとして使用することはできません。開発を行う場合は、インストールライセンスが別途必要です。
|
【ABCpdf を利用した開発ツールソフトウェアの配布について】
|
上記3つの各ライセンスは、ABCpdf を利用した「開発ツールソフトウェア」の配布にはそのまま適用はできません。しかし、お客様のご要望のライセンスを受け付ける体制がございますので、お気軽に弊社までご連絡ください。ここでの「開発ツールソフトウェア」とは、統合開発環境ソフトウェア(IDE)や DLL・OCX、その他ライブラリなどのソフトウェア部品(コンポーネント)などを指します。
|
|