Copper PDF 2.1.5をリリースしました

Copper PDF 2.1.5をリリースしました。「Copper PDF サーバーのダウンロード」から入手してください。

以下のバグを修正しました

  • CTIP2.0(ドライババージョン2)で画像出力する際、2ページ目以降が出力されない。
  • CTIP1.0で複数パス変換の最初のパスでサーバーの処理が中断した場合に、ドライバ側で予期しない例外が発生する。
  • CTIP1.0(ドライババージョン1)で複数パス変換の最初のパスでサーバーの処理が中断した場合に、ドライバ側で予期しない例外が発生する。
  • 32767文字を超える不正なURIがあると、エラーにより処理が中断する。
  • ページ数が制限を超えても処理が強制停止されない。

以下の改良を行いました。

  • data:スキームのURIは、デフォルトでサーバー側で処理する。

PDF

Perl版ドライバ 2.0.0をリリースしました。

Copper PDF 2.1.0 から使用できる、機能強化されたドライバのPerl版をリリースしました。

詳細なサーバー側メッセージの取得、アプリケーション側でのリソース解決等が利用出来るようになります。

こちらからcti-perl-2.0.0をダウンロードして下さい。

詳細な使用方法は、付属のサンプル、マニュアルAPIリファレンスをご参照ください。


PDF

Java版ドライバ 2.0.1をリリースしました。

JavaでCopper PDF 2.1以降に接続するためのドライバのバグフィックス版をリリースしました。サーバー側のメッセージを正常に取得できないことと、状況によりNullPointerExceptionが発生する問題があるため、ドライバの更新をお願いいたします。

  • メッセージの引数(args)がメッセージを受け取る度に増え、正しく取得できない(CTIP 2.0)。
  • 複数パス生成で最初のパスでサーバー側エラーで処理が中断された場合、NullPointerExceptionが発生する(CTIP 2.0)。
  • CTIMessageHelper.STDOUT, CTIMessageHelper.STDERRは非推奨としました。

こちらからcti-java-2.0.1をダウンロードして下さい。


PDF

Perl版ドライバ 1.1.4をリリースしました。

Copper PDF/CSSJへPerlでアクセスするためのドライバの新しいバージョンをリリースしました。

UTF-8フラグを付けた文字列をstart_main等で送信した場合に、文字化けする問題への対応です。バイナリとして文字列を送信している場合は、特に更新の必要はありません。

Perlドライバのダウンロードからダウンロードして下さい。


PDF

Copper PDF 2.1.4をリリースしました

Copper PDF 2.1.4をリリースしました。「Copper PDF サーバーのダウンロード」から入手してください。

以下のバグを修正しました

  • 試用ライセンスキーをインストールすると動作しない。

より標準に準拠するように以下の修正をしました。

  • 浮動ボックスが、直前の浮動ボックスより上に配置されないようにした。

以下の改良を行いました。

  • JavaVMが中断されるときに、シャットダウンフックにより安全に停止されるようにしました。
  • data:スキームはデフォルトでアクセス許可するようにしました。
  • Java Service Wrapper (http://wrapper.tanukisoftware.org/)に対応しました。

PDF

Copper PDF サポート契約書

Copper PDF サポート契約書

株式会社GNN(以下「甲」という。)とCopper PDF ライセンス証書(以下「ライセンス証書」という。)記載の納品先(以下「乙」という。)とは、顧客サポートに関し、以下の条項により契約を締結する。

第1条 (用語の定義)

本契約によりサポート業務の対象となるソフトウェアとは、Copper PDF サーバー バージョン 2 (以下、「本ソフトウェア」という。)である。サポート対象となる本ソフトウェアがインストールされた機器の台数および動作環境はライセンス証書記載のとおりである。

第2条 (目的)

乙は、甲に対し、Copper PDF サーバー ソフトウェア使用許諾契約書に基づき使用する本ソフトウェアにつき、次条に定めるサポ-トを甲が実施することを委託し、甲は、これを受諾する。

第3条 (サポ-トの実施)

甲は、乙に対し、ライセンス証書記載のサポート開始日(以下サポ-ト開始日という)より、ライセンス証書記載の甲のサポ-ト先を窓口として、本ソフトウェアに係るライセンス証書記載のサポート内容のとおりのサポ-トを行うものとする。

なお、甲は、当該サポ-ト先の変更を行う場合は、事前に書面(電子メール)にてその変更先を乙に通知するものとする。

(1) 本ソフトウェアが乙の責に帰すべき原因により正常に動作しない等のトラブルが生じ甲に通知がなされた場合には、甲は乙に対して当該トラブルを解決するためのサポートを行う。

ただし、当該トラブルが乙によって改変された部分に生じたもの、甲からの委託によらない第三者によって改変された部分に生じたもの、あるいはこれらに起因したものである場合甲は当該トラブルを解決するためのサポートは行わないものとする。

(2) 甲は、乙からの問い合わせ等に対し、受付後3営業日以内に対応しなければならない。対応にそれ以上の時間がかかる場合、甲は3営業日以内に乙に今後の対応予定について通知するものとする。

(3) サポートの内容が緊急を要するものである場合、前項の規定にかかわらず、甲は、乙のニーズに沿うように、適切な時期に適切な方法をとらなければならない。

(4) その他、甲は、乙が満足し得るよう、誠意を持ってサポート業務にあたらなければならない。

第4条 (附帯サービス)

甲は、サポート期間中に本ソフトウェアのバージョンアップ版(甲が本ソフトウェアとは別の製品として取り扱うものは含まない。以降バージョンアップ版という。)を作成したときは、乙にバージョンアップ版を無償にて提供するものとする。

② 乙からのアイデア・提案等を基に、前条に規定するバージョンアップ版を甲が新たに作成した場合でも、本ソフトウェアのバージョンアップ版の著作権についてはすべて甲に帰属するものとする。

第5条 (サポ-ト料)

甲が領収済みのサポ-ト料は、甲の責に帰すべき事由により本契約が終了した場合を除き、乙に返還されないものとする。

第6条 (遅延損害金)

乙が第5条のサポート料代金債務の弁済を怠ったときは、乙は甲に対し、支払期日の翌日より完済の日まで年15%の割合による遅延損害金を支払う。

第7条 (契約期間)

本契約の有効期間は、ライセンス証書に定めるサポート期限日の午後5時までとする。

② 前項にかかわらず、原契約に基づく本ソフトウェアの使用権が消滅した場合、その時点をもって自動的に本契約は終了するものとする。

③ 乙は、本契約の有効期間満了前に、本契約を解除しようとする場合は、解除日の1ケ月前までにその旨を書面により甲に対し申し入れたうえで本契約を解除できるものとし、当該解除日をもって本契約は終了する。

④ 本契約解除後再度サポート契約を締結する場合には、サポート契約の効力は解除日に遡及し、解除された日の翌日を持ってサポート開始日となり、契約期間は、その日から1年間とする。

第8条 (期限の利益の喪失)

甲は、乙につき次の各号に該当する事由が生じたときは、乙に対して何ら通知催告を要することなく直ちに本契約を解除できるものとする。

(1) 乙に重大な過失または背信行為があったとき。

(2) 乙が甲に対する第4条のサポート料代金支払債務その他一切の債務、または本契約以
外の乙が甲に対して負担する他の債務を履行しなかったとき。

第9条 (契約の解除)

甲または乙は、破産等相手方がその責に帰すべき事由により、本契約の条項のいずれかを履行しない場合は、解除することができる。

第10条 (損害賠償)

甲および乙は、本契約で特に定める場合を除き、本契約に基づく相手方の債務不履行または本契約解除により損害を被った場合、相手方に対し当該債務不履行または本契約の解除により生じた損害の賠償を請求することができる。但し、乙が甲に請求できる金額は、CopperPDF購入費用及び本契約の合計額を上限とする。

第11条 (秘密保持)

甲および乙は、本契約の履行を通じて知り得た相手方の業務上の秘密を、第三者に開示、漏洩しないものとする。この秘密保持の義務が生じる期間は、本契約中および契約終了後5年間とする。

第12条 (別途協議)

本契約に定めていない事項については甲乙間互いに誠意をもって、その都度協議決定するほか、従来の取引実情および一般慣習に従うものとする。

第13条 (管轄裁判所)

本契約により生ずる権利義務に関するすべての紛争については、東京地方裁判所をもって合意管轄裁判とする。

株式会社GNN

〒103-0022 東京都 中央区 日本橋室町 1-10-10-803
TEL 03-5255-3120 FAX 03-6822-4060

年間サポートの内容(第3条関係)

  • 本ソフトウェアのサポート対象機器へのセットアップ・運用方法に関するサポート。
  • 本ソフトウェアに接続するためのCopper PDFドライバの使用方法についてのサポート、一般的なサンプルコードの提供。
  • 本ソフトウェアの標準規格への対応状況や、拡張機能、関連技術についての情報提供。
  • ライセンスキーファイルの再発行。

PDF

バーコード、QRコードを表示するプラグインをリリースしました

Copper PDF 2.1.3以降でバーコード、QRコードを表示することができるプラグインをリリースしました。Copper PDFをお買い上げの方は、別途料金不要でお使いいただけます。

HTML/XHTML中にバーコード出力用のタグを埋め込むことにより、画像と同様にバーコードが表示されます。

プラグインのファイルとドキュメントは以下のページで配布しています。

バーコードプラグインのダウンロード

バーコードプラグインのドキュメント
Barcode4J バーコードXMLフォーマット

barcodes


PDF

Barcode4J バーコードXMLフォーマット

はじめに

このページでは、Barcode4Jで使われている、バーコード定義用のXMLフォーマットについて説明します。また、各種バーコードによってサポートされるデータ形式についても説明します。

構文

訳注:原文では名前空間なしのXML構文で書かれていますが、この翻訳では全て名前空間ありの記述としました。Copper PDFや、XSLT等の一般的なXMLアプリケーションでBarcode4Jを使う場合は名前空間が必要です。この翻訳では、名前空間の接頭辞は”bc”としていますが、これは任意に変えられます。

バーコードXMLフォーマットの構文は次の通りです:

<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
 message="200123456789">
 <bc:{type}>
   {バーコード個別の設定}
 </bc:{type}>
</bc:barcode>

{type}は、「ean-13」や「code39」のようなバーコードタイプ名で置き換えてください。また、「org.krysalis.barcode4j.impl.Code39」のような実装クラスの省略無しのクラス名を使うこともできます。内部的にはBarcodeClassResolverインターフェイスを使って名前を解決しています。

{バーコード個別の設定}は、そのバーコードの種類により、異なります。詳しくは、後述しますが、例としては次のようなものです:

<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns">
  <bc:intl2of5>
    <bc:height>10mm</bc:height>
    <bc:wide-factor>2.5</bc:wide-factor>
  </bc:intl2of5>
</bc:barcode>

データ型

バーコードの設定は、次のデータ型から構成されます。

  • {boolean}: 値は(true|yes|on)か(false|no|off)
  • {string}: 「hello123」のような簡単なユニコードの文字列
  • {char}: ユニコード文字
  • {number}: 「2.43」や「5」などの数字
  • {unit}: 長さの単位、mm、cm、ptのどれか
    • デフォルトの単位は通常mm(ミリメートル)です。
    • 特殊な単位にmw(モジュール幅)があります。これは1次元バーコードでは線の最小幅で、2次元バーコードではドットの大きさです。
  • {length}: 「{number}[[ ]{unit}」という形式での長さ。例:1.2mm, 5.0, 3, or 10mw.
  • {checksum-mode}:チェックサムの動作を決定する。
    取りえる値は(全ての値が全てのバーコードフォーマットでサポートされているわけではない。):

    • add:チェックサムが自動的にデータに追加される
    • check:バーコードの描画の間、チェックサムは中断する
    • ignore:チェックサム処理は行われない
    • auto:バーコードタイプのデフォルトの動作
  • {human-readable-placement}:この列挙型はバーコードの可読部分の位置を決める。
    • bottom:可読部分はコードシンボルの底部に置かれる
    • top:可読部分はシンボルの上部に置かれる
    • none:可読部分は生成されない
  • {baseline-alignment}:この列挙型はPOSTNETのようなバーコードラインのそろえ方を決める。
    • bottom:長短ラインは下ぞろえで配置される
    • top:長短ラインは上ぞろえで配置される
  • {font-name}:名前の通り、出力の際に使われるフォントの名前です。全ての出力フォーマットで全てのフォントが利用できるわけではないことに注意してください。
  • {shape}:この列挙型はDataMatrixバーコード用のシンボル設定の選択を決める
    • force-none:正方形のシンボルも長方形のシンボルも両方許可される
    • force-square:正方形シンボルの使用を強制する
    • force-rectangle:長方形シンボルの使用を強制する
  • データ型は{length:15mm}のような形式で記述します。データ型の後の値はデフォルトの値を意味します。

バーコードXMLフォーマット:省略形

次のcode39の例のように、バーコードXMLフォーマットは簡略化できます(結果、全てのデフォルトの値が使われます)。

<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
 message="200123456789">
 <bc:code39/>
</bc:barcode>

この場合、デフォルトの値を考慮すると、次のように記述したのと同じことになります。

<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
 message="200123456789">
  <bc:code39>
    <bc:height>15mm</bc:height>
    <bc:module-width>0.19mm</bc:module-width>
    <bc:wide-factor>2.5</bc:wide-factor>
    <bc:interchar-gap-width>1mw</bc:interchar-gap-width>
    <bc:quiet-zone enabled="true">10mw</bc:quiet-zone>
    <bc:checksum>auto</bc:checksum>
    <bc:human-readable>
      <bc:placement>bottom</bc:placement>
      <bc:font-name>Helvetica</bc:font-name>
      <bc:font-size>8pt</bc:font-size>
      <bc:pattern>{string}</bc:pattern> <!-- 詳細は後述 -->
      <bc:display-start-stop>false</bc:display-start-stop>
      <bc:display-checksum>false</bc:display-checksum>
    </bc:human-readable>
  </bc:code39>
</bc:barcode>

可読部分のパターン

一般的な1次元バーコードは内部的な構造を持ちません。そのため、多数の桁からなる巨大な数字の場合、カスタマイズされた可読部分を表示します。

複雑で長いメッセージを簡単に読み取れるようにするためには、パターンが必要です。可読部分にカスタムパターンを加える機能が利用可能なのはInterleaves 2 of 5, Code 39, Code 128 and Codabarだけです。その他の種類のバーコードは可読部分をもたないか、あるいはメッセージの特殊な書式設定が必要になります。(例:UPC・EAN)

パターンの中でアンダーライン”_”は次のデータのための置き換え文字として使われます。パターン内の他の文字はデータの間に挿入される。バックスラッシュ””はエスケープ記号です。”?”はアンダーラインとバックスラッシュを含む任意の文字に置き換えられます。実際に”?”を表示したい場合は”?”と記述してください。

例:

バーコードメッセージ 1234567890 01012001103854 1234567890
可読パターン ____ ____ __ __/__/____ __:__:__ UTC ___________
可読メッセージ 1234 5678 90 01/01/2001 10:38:54 UTC 1234567_890

サポートされている全てのバーコードの設定詳細

訳注:JANコードはEAN-13, EAN-8, EAN-128と互換であるため、これをそのまま使用してください。Copper PDFは、ISBN, QRコードもサポートしています。ISBN, QRコードについてはこちらを参照してください

{バーコード個別の設定}

PDF

バーコード/QRコードプラグイン

このプラグインについて

barcode
Copper PDF 2.1.3 以降で、バーコード(QRコードを含む)の表示が可能になるプラグインです。

このプラグインには、

Barcode4J 2.0
http://barcode4j.sourceforge.net/

QRコードクラスライブラリ for Java ver. 0.50beta
http://www.swetake.com/qr/java/qr_java.html

を使用しています。

インストール方法

こちらからダウンロードしてください。

ダウンロードパッケージに含まれているcopper-pdf/pluginsの内容を、Copper PDFのpluginsディレクトリの中にコピーしてください。

(DEBまたはRPMパッケージ版のCopper PDFのpluginsディレクトリは/usr/share/copper-pdf/にあります。)
Copper PDFが動作中の場合、1分ほど待つか、再起動するとプラグインが読み込まれます。

基本的な使用方法

バーコードタグの詳細な仕様はBarcode4J ドキュメント抄訳を参照してください。ここでは概要を解説します。

パッケージに含まれているサンプルHTMLコード(example.html)もご利用ください。

プラグインをインストールしたCopper PDFでは、HTML/XHTML中に記述された、http://barcode4j.krysalis.org/ns名前空間に属する要素がバーコードに置き換えられます。
例えば、以下の記述はEAN-13(JAN-13)形式のバーコード画像に置き換えられます。

<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
 message="200123456789">
 <bc:ean-13>
 <bc:height>15mm</bc:height>
 <bc:module-width>0.33mm</bc:module-width>
 <bc:quiet-zone enabled="true">10mw</bc:quiet-zone>
 <bc:checksum>add</bc:checksum>
 <bc:human-readable>
   <bc:placement>bottom</bc:placement>
   <bc:font-size>8pt</bc:font-size>
 </bc:human-readable>
 </bc:ean-13>
</bc:barcode>

要素の記述方法(The Barcode XML format)は以下のページで解説されています。

(英語) http://barcode4j.sourceforge.net/2.0/barcode-xml.html
(日本語訳)
https://copper-pdf.com/?p=905

このプラグインは、Barcode4Jがサポートする、全ての形式のバーコードを表示することが出来ます。
加えて、EAN-13(JAN-13)の変形として、日本国内で流通する図書のISBNを表記するためのバーコードと、QRコードをサポートしています。

CSSによるサイズ、色、フォントの指定

サイズを固定したい場合は、CSSによって指定することができます。
また、背景色と描画色は同様にbackground-color, colorによって指定します。
例えば、以下の例では幅が1cmに固定され、背景色がピンク、描画色が青となります。

<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
 xmlns:html="http://www.w3.org/1999/xhtml"
 html:style="width: 1cm; background-color: Pink; color: Blue"
 message="エンコードする文字列">
 <bc:qrcode/>
</bc:barcode>

font-name要素による指定は無視されます。代わりに、CSSのfont-family, font-weight, font-styleが適用されます。

OCRBフォントの使用を推奨します。MS Officeに含まれているものや、以下のサイトで配布されているものがあります。
http://ansuz.sooke.bc.ca/software/ocrb.php

QRコードの表示方法

HTML中に次の記述をすることで、QRコードが表示されます。

<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
 message="エンコードする文字列">
 <bc:qrcode/>
</bc:barcode>

qrcode要素には、次の要素を含むことが出来ます。
QRコードについては、以下のサイトもご参照ください。
http://www.denso-wave.com/qrcode/qrgene2.html

・version

QRコードのバージョンです。0から40の整数で指定します。0の場合は自動設定です。
デフォルトは0です。

・ecc

エラー訂正レベルです。L, M, Q, Hのいずれかを指定します。
デフォルトはMです。

・encmode

エンコードモードです。N(数字), A(英数字), B(8ビットバイト)のいずれかを指定します。
デフォルトはBです。

.module-width

セルの大きさです。単位はcm, mm, pt, inのいずれかを使用可能です。
デフォルトは0.25mmです。

.quiet-zone

上下左右のマージンです。単位はcm, mm, pt, in, mw(セルの大きさ)のいずれかを使用可能です。
デフォルトは1mwです。

例えば、以下の場合はバージョン10、エラー訂正レベルH、英数字モード、セルサイズ0.5mm、マージン1mmのQRコードを生成します。

<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
 message="ENKODOSURUMOJIRETSU">
 <bc:qrcode>
 <bc:version>10</bc:version>
 <bc:encmode>M</bc:quiet-zone>
 <bc:ecc>H</bc:shape>
 <bc:module-width>0.5mm</bc:module-width>
 <bc:quiet-zone enabled="true">2mw</bc:quiet-zone>
 </bc:qrcode>
</bc:barcode>

ISBNコードについて

記述方法とデフォルト値は次のとおりです。
(ただし、バージョン2.0以前の各パラメータのデフォルト値はEAN-13(JAN-13)と同じになります。)

<bc:barcode>
  <bc:isbn>
    <height>{length:14mm}</height>
    <module-width>{length:0.33mm}</module-width>
    <quiet-zone enabled="{boolean:true}">{length:5mm}</quiet-zone>
    <checksum>{checksum-mode:auto=add|check}</checksum>
    <human-readable>
      <placement>{human-readable-placement:bottom}</placement>
      <font-name>{font-name:OCRB}</font-name>
      <font-size>{length:3.7mm}</font-size>
    </human-readable>
  </bc:isbn>
</bc:barcode>

再配布条件

Copper PDF バーコードプラグインは自由に配布することができます。
付属のライブラリについては、
copper-pdf/plugins/avalon-framework.LICENSE.txt
copper-pdf/plugins/barcode4j.LICENSE.txt
copper-pdf/plugins/Qrcode.LICENSE.txt
をお読みください。


PDF

Code 128

実例

example-code128

構文

<bc:barcode message="0123456789"<
  <bc:code128<
      <bc:height<15mm</bc:height<
      <bc:module-width<0.21mm</bc:module-width<
      <bc:quiet-zone enabled="true"<10mw</bc:quiet-zone<
      <bc:human-readable<
        <bc:placement<bottom</bc:placement<
        <bc:font-size<8pt</bc:font-size<
      </bc:human-readable<
  </bc:code128<
</bc:barcode<

メモ

  • {height}は少なくともバーコードの長さの0.15倍か0.25インチ以上無ければならない

メッセージ書式

  • 有効文字:全7ビットASCII(US-ASCII)文字セットがサポートされている
  • ファンクション1から4までが使用可能であり、メッセージではASCII文字の0xF1 (241), 0xF2 (242), 0xF3 (243) and 0xF4 (244) としてコード化される。

PDF