ニュートン メニュー

株式会社ニュートン

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

YouTube公式チャンネル

体験版ダウンロード

製品案内

ライセンスパック

ライセンスについて

カスタマイズ受付

製品購入ガイド

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

優待販売・
 キャンペーン情報

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

サポート体制

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

会社概要

個人情報保護方針

お問い合わせ先

 

ニュートンホーム 製品案内
PDF作成開発ツール
ABCpdf .NET 6J / ABCpdf COM 6J
 
Web対応 PDFドキュメント作成&レンダリング コンポーネント

64ビットOSにも対応し、約40の新機能を実装

【エービーシーPDF ドットネット 6J】
ABCpdf .NET 6J

【 エービーシーPDF コム 6J】
ABCpdf COM 6J
この製品は2009年12月20日で販売を終了いたしました。
新バージョン「ABCpdf .NET 7J」の情報は こちら

ラインナップ 標準価格
(1インストールライセンス)
ABCpdf .NET 6J Standard 68,000円
71,400円(税込)
ABCpdf .NET 6J Professional 89,000円
93,450円(税込)
ABCpdf .NET 6J Professional x64(64ビット版) 89,000円
93,450円(税込)
ABCpdf COM 6J Standard 68,000円
71,400円(税込)
ABCpdf COM 6J Professional 89,000円
93,450円(税込)

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ドキュメントのイメージ化、Acrobat7(PDF1.6)対応など、これはもう最高位PDF活用コンポーネントといえるでしょう。

1.PDF作成

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

PDF1.5で採用されているオブジェクトストリーム圧縮をサポートしているPDFライブラリはABCpdf以外ではほとんどありません。ライブラリがオブジェクトストリーム圧縮をサポートしていなければ、圧縮されたAcrobatドキュメントを完全に読込むことができないので、これは非常に重要なことです。
 
64ビット(x64)OSに対応 New!
「ABCpdf .NET 6J Professional x64 (64ビット版)」は、Windows XP、Windows Server 2003、Windows Vista の各64ビット版に対応しています。
Tagged PDF(タグ付きPDF)のサポート(.NET版) New!
タグ付きの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のみ) New!
テキストの追加を制御するための新しいHTMLスタイルのテキストオプションがあります。 カレントのHTMLレンダリングの設定をするXHtmlOptions オブジェクトには、ページの最後の不必要なコンテンツを自動的にクリッピングするAutoTruncateプロパティやPDFに変換する前にHTMLページをマークアップするDoMarkupプロパティ、新しいウィンドウを開くためのハイパーリンクを許可するTargetLinksプロパティなどが追加されています。
PostScript(ベクトルデータのインポート)およびEPS / EPSF(ベクトルデータのインポート) New!
ABCpdfはポストスクリプトと互換性があり、ラスタやベクタのPostScript (PS)ファイルまたはEncapsulated PostScript (EPS)ファイルを直接PDFドキュメントにインポートすることが可能になりました。つまり、PDFドキュメントを取得して、それをPSまたはEPS形式にレンダリングすることができます。
SVG [Scalable Vector Graphics]のインポートをサポート(.NET版) New!
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()

大きなドキュメントの最適化 New!
大きなドキュメントに対するHTMLのレンダリングプロセスを大幅に最適化しました。テストではバージョン5よりも8倍も速くレンダリングされました。DoMarkupなどのプロパティを使用すれば更に速くレンダリングできます。
パラメータによるFlashムービーの制御 New!
新しい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)のサポート(.NET版) New!
Doc オブジェクトのAddImageUrl メソッドはURLで指定したWebページを処理します。このメソッドは、WebページのURLだけでなく、MHT (MIME HTML)ファイルのURLも設定することができます。
MHTファイルはWebページと関連するリソース(イメージやスタイルシート等)をまとめて、一つのファイルとして構成されています。IEを使用してMHTフォーマットでWebページを保存することもできます。
Officeドキュメントのサポート(.NET版) New!
無償のOpenOffice(OpenOffice.org日本ユーザー会:http://ja.openoffice.org/)をインストールすれば、ABCpdfはPDFやHTMLだけでなく、Microsoft Word (.doc)やMicrosoft Excel (.xls)、Rich Text Format (.rtf)、WordPerfect (.wpd)、Lotus 1-2-3 (.wk1)、AutoCAD (.dxf) といった、さまざまな種類のファイルフォーマットをサポートできます。従来のようにただドキュメントを読み込むだけで処理が行えます。

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

private void menuItem_Click(object sender, System.EventArgs e)
{
  OpenFileDialog od = new OpenFileDialog();
  od.Filter = "Microsoft Word(.doc)|*.doc|Microsoft Excel(.xls)|*.xls|Rich Text Format(.rtf)|*.rtf|WordPerfect(.wpd)|*.wpd|Lotus 1-2-3(.wk1)|*.wk1|AutoCAD(.dxf)|*.dxf|All files (*.*)|*.*";
  if (od.ShowDialog() == DialogResult.OK)
  {
    Doc theDoc = new Doc();
    theDoc.Read(od.FileName);
    theDoc.Save("test.pdf");
    theDoc.Clear();

    Process.Start("test.pdf");
  }
}

【OpenOffice Writer(MS Word互換)】

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

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

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

WebSupergoo.ABCpdf6.Drawing;
WebSupergoo.ABCpdf6.Drawing.Drawing2D;
WebSupergoo.ABCpdf6.Drawing.Text;

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

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

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

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

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

JPEG 2000 [.jp2、.jpx]へのレンダリング処理(Professionalのみ) New!
ABCpdfはJPEG 2000をサポートしているので、JPEG 2000で圧縮されたイメージが含まれているページをレンダリングすることができます。また、PDFページを8ビットまたは16ビットで、RGB、グレースケール、またはCMYK JPEG 2000ファイルへのレンダリングや保存が可能です。
EPS や PostScriptへのレンダリング処理(Professionalのみ) New!
ABCpdfはポストスクリプトと互換性があり、ラスタやベクタのPostScript (PS)ファイルまたはEncapsulated PostScript (EPS)ファイルを直接PDFドキュメントにインポートすることが可能になりました。つまり、PDFドキュメントを取得して、それをPSまたはEPS形式にレンダリングすることができます。
Vector EMFへのレンダリング処理(Professionalのみ) New!
ポストスクリプトと互換性があるだけでなく、EMFとも互換性があるので、直接ベクタのEMFへのレンダリングが可能です。つまり、高速で高品質な印刷出力が可能になり、他のアプリケーションとの相互運用が可能です。バージョン5の印刷処理が遅いと思っていた方に最適です。
PDFの要素をSVG(+)形式で保存可能(Professionalのみ) New!
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>
透明アルファチャンネルの出力をサポート New!
レンダリングしたイメージの出力をさらに制御できるようになりました。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()

垂直方向と水平方向別々に解像度を設定可能 New!
LZWやFlateといったTIFF圧縮型やさまざまな垂直解像度や水平解像度の制御が可能です。
TIFFでの複数ページの出力をサポート New!
マルチページのTIFF出力の制御が可能です。
署名付ドキュメントの作成/署名付ドキュメントの検証(.NET版) New!
新しいデジタル署名のコードで、ドキュメントに署名したり、既存の署名が正当かを判別することができます。複雑なスクリプトや変わった文字の暗号化をサポートするために、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でのストリームの圧縮  New!
CCITT、JPEG、FlateまたはJPEG 2000形式への圧縮が可能です。
PDFイメージのリサイズ New!
ABCpdfはPDF内のイメージをさらに制御できるようになりました。洗練された高品質なリサンプリングアルゴリズムを使用して、イメージをサイズ変更することができます。
PDFイメージのリサンプリング New!
イメージを1ビットから別の色深度にリサンプリングすることができます。
PDFイメージの色空間の変更 New!
新しいカラースペースを割り当てたり、あるカラースペースから別のカラースペースに変換することができます。
Acrobat 8 [PDF 1.7] との互換性 New!
ABCpdfはAcrobat8と互換性があります。PDF 1.5で導入された新しいオブジェクトストリームのデータ圧縮のメソッドをサポートし、PDFの読込時や保存時に適切な形式を自動的に選択します。PDF 1.5から採用されているオブジェクトストリーム圧縮をサポートしているPDFライブラリはABCpdf 以外ではほとんどありません。ライブラリがオブジェクトストリーム圧縮をサポートしていなければ、圧縮されたAcrobatのドキュメントを完全に読み込むことができないので、これは非常に重要なことです。
ライブムービーの埋め込み
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()



※場合により正しく処理できないPDFがございますので、詳しくは体験版にてご確認をお願い致します。 

フォームのPictureBoxを使った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");
 
図形の描画の新機能
よく使用される図形の描画のために、AddPieAddOvalAddPolyAddArcなどの新しい機能があります。また低レベルでの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 6J」は、2つのコンポーネントから構成されています。
Visual Studio .NET 2003、Visual Studio 2005/2008、ASP.NET開発環境でご利用いただけます。
【ABCpdfCE6.DLL】
PDFを処理する中核となるコンポーネントでマルチスレッドの環境で動作します。
【ABCpdf.DLL】
.NETアプリケーションとABCpdfCE6.DLLの間に位置する.NETコンポーネントです。
ABCpdf .NET 6Jのセットアッププログラムを実行すると、ABCpdf.dllはグローバル・アセンブリ・キャッシュ(GAC)にインストールされます。

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

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

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


[Visual Basic]

Imports WebSupergoo.ABCpdf6
Imports WebSupergoo.ABCpdf6.Objects
Imports WebSupergoo.ABCpdf6.Atoms
Imports WebSupergoo.ABCpdf6.Operations

ABCpdf6のネームスペースはページデザインのオブジェクトを含んでいて、ほとんどの場合必要になるのはこのネームスペースです。ABCpdf6.Objectsのネームスペースは追加した内容に対し操作したり、アクセスしたりします。これは、複雑な処理に使用されます。ABCpdf6.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版
「ABCpdf COM 6J」は、Visual Basic6.0/5.0、ASP開発環境でご利用いただけます。
ABCpdf6.DLLをWindows\System32(推奨)にコピーし、レジストリに登録して使用します。
【ASPでの基本的な使用】

下記はABCpdfのドキュメントオブジェクトを作成するコードです。

Set doc = Server.CreateObject("ABCpdf6.Doc")

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

<html>
<body>
<%
Set theDoc = Server.CreateObject("ABCpdf6.Doc")
Response.Write("License: " & theDoc.License & "<br>")
%>
</body>
</html>

【Visual Basicでの基本的な使用】

新規にプロジェクトを作成する場合は、「プロジェクト」メニュー → 「参照設定」からABCpdf6を選択し「OK」ボタンを押して取り込みます。

下記のようにオブジェクトを作成してプログラミングを行います。

Set doc = CreateObject("ABCpdf6.Doc")

下記のコードは、角が丸い四角形を描画します。

theDoc.Rect.Inset 100, 100
theDoc.Color.Blue = 255
theDoc.FillRect 50, 50
theDoc.Save "test.pdf"

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

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"))

【出力結果】

 

アノテーションの使用

通常、デザイナーで作成したフィールドやアノテーションを含んだ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のライセンスについて

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

インストールライセンス:

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

たとえば、次のような場合、それぞれに「1インストールライセンス」が必要になります。
 
例1: ABCpdfを開発のために1台のコンピュータにインストールする場合
例2: ABCpdfを利用して開発した(Web)アプリケーションを自社(または他社)のWebサーバー1台にインストール(配布)して運用する場合
例3: ABCpdfを利用して開発した(クライアント)アプリケーションをエンドユーザの1台のコンピュータにインストール(配布)する場合

エンタープライズライセンス:

1社無制限のインストールライセンスです。同一社内であればコンピュータの台数に制限無くABCpdfをインストールして使用できます。 また、同一社内であればコンピュータの台数に制限無く、ABCpdfを利用して開発したアプリケーションをインストール(配布)することができます。
 

再配布ライセンス:

ABCpdfを利用して開発した(クライアントまたはWeb)アプリケーションを社内社外を問わず、コンピュータの台数に関係なく無制限に配布できるライセンスです。この再配布ライセンスは、配布アプリケーション1種類毎に必要です。たとえば、「製品A」と「製品B」は2種類のアプリケーションとみなします。 しかし、「製品A-Ver.5」と「製品A-Ver.6」のように同一製品間のバージョンなどによる違いは、同一のアプリケーションと考えて、1再配布ライセンスで対応できます。
なお、再配布ライセンスを開発用のインストールライセンスとして使用することはできません。開発を行う場合は、インストールライセンスが別途必要です。
 

【ABCpdfを利用した開発ツールソフトウェアの配布について】

上記3つの各ライセンスは、ABCpdfを利用した「開発ツールソフトウェア」の配布 にはそのまま適用はできません。しかし、お客様のご要望のライセンスを受け付ける体制がございますので、お気軽に弊社までご連絡ください。ここでの「開発ツールソフトウェア」とは、統合開発環境ソフトウェア(IDE)やDLL・OCX、その他ライブラリなどのソフトウェア部品(コンポーネント)などを指します。
 
対応OS・フレームワーク
ABCpdf .NET 6J
  Windows Vista(32bit)/XP(32bit)/2000
/Server 2003(32bit)/Server 2008(32bit)・.NET Framework 1.1/2.0/3.0/3.5
ABCpdf .NET 6J x64(64ビット版)
  Windows Vista(64bit)/XP(64bit)
/Server 2003(64bit)/Server 2008(64bit)・.NET Framework 2.0/3.0/3.5
ABCpdf COM 6J
  Windows Vista(32bit)/XP(32bit)/2000/NT4.0/Server 2003(32bit)
対応開発コンテナ
ABCpdf .NET 6J
  Visual Studio 2005/2008、Visual Studio .NET 2003、IIS5.0、IIS6.0
ABCpdf .NET 6J x64(64ビット版)
  Visual Studio 2005/2008、IIS6.0
ABCpdf COM 6J
  Visual Basic6.0/5.0、IIS6.0/5.0/4.0
製品内容

パッケージ 版
セットアップCD-ROM/ユーザ登録カードなど
(マニュアルなどのドキュメントはCD-ROMに含まれます)
▼パッケージイメージ
サイズ:W136×D15×H191mm(CDトールケース)

ダウンロード版
セットアップモジュール、ドキュメントデータなど

主な標準価格
ABCpdf .NET 6J Standard 1インストールライセンス 68,000円
(税込 71,400円)
 
ABCpdf .NET 6J Professional 1インストールライセンス 89,000円
(税込 93,450円)
ABCpdf .NET 6J Professional x64
(64ビット版)
1インストールライセンス 89,000円
(税込 93,450円)
 
ABCpdf COM 6J Standard 1インストールライセンス 68,000円
(税込 71,400円)
 
ABCpdf COM 6J Professional 1インストールライセンス 89,000円
(税込 93,450円)

※その他のライセンスに関する価格などの情報は、「ライセンスパック」のページをご覧ください。

開発元:イギリスWebSupergoo Software
日本語版開発&国内独占販売元:株式会社ニュートン

※表記中の社名、製品名などは一般に各社の商標または、登録商標です。
※本仕様、及び価格などは予告なしに変更する場合があります。

Copyright (C) NEWTONE Corporation. All rights reserved.