PukiWikiプラグイン1.3.2をリリースしました。

PukiWikiプラグイン・バージョン1.3.2をリリースしました。文書の表題や作者を設定する機能が加えられています。

SourceForgeのダウンロードページから入手してください。

PukiWikiプラグインのマニュアルはこちらです。


PDF

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

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

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

  • コアフォントを使用している場所で両あわせをすると、単語の途中に空白ができる。
  • 大きなdata URLの処理などで長文のエラーメッセージが発生すると、ドライバの接続が切れる。
  • “output.image.resolution”のデフォルト値が72となっており、解像度が正しく反映されない。2.0.9以降では (以前の設定 × “output.resolution” / 72) で換算した値を設定してください。
  • 文書中の処理命令で”output.resolution”を適用できない。
  • CSSJとの互換性のためのCSSプロパティ’-cssj-regeneratable’を使用できない。

テキスト処理の改善

  • コアフォントと他の種類のフォントが選択可能なとき、他の種類のフォントが優先されるようにしました。

PDFのタイムスタンプとファイルIDの設定

次の入出力プロパティでPDFのCreationDateとModDateを設定できるようになりました。
“2009-05-22 21:10:14″あるいは”2009-05-22 21:10:14 +0900″のように設定してください。

  • “output.pdf.meta.creation-date”
  • “output.pdf.meta.mod-date”

次の入出力プロパティでPDFのファイルIDを設定できるようになりました。
32桁固定の16進数で設定してください。

  • “”output.pdf.file-id”

PDF

ECサイトのデモを追加しました

動作デモのコーナーにECサイトの動作イメージデモを追加しました。

こちらからご覧ください。
Commerce


PDF

PHPドライバ1.1.4[Content-Lengthが送られない不具合を修正]

PHPドライバで、cssj_ob_start_main関数を使用して変換した文書を、直接クライアントに送信する場合、元のドキュメントのサイズが大きい場合にContent-Lengthヘッダが送られない不具合がありました。

cssj_ob_start_resourceまたはcssj_ob_start_mainを使用して、パススルーでPDFをブラウザに送るアプリケーションで問題が発生する可能性があります。5月21日に続き頻繁な修正となり申し訳ございませんが、ドライバの更新をお願いいたします。

PHPドライバのダウンロードページからダウンロードしてください。

不具合の詳細

Copper PDFはPHPのoutput bufferを利用して変換元の文書をキャプチャします。以下のような手順で処理しています。

ob_start(コールバック関数, チャンクサイズ);
...変換元の文書の出力...
ob_end_clean();
header("Content-Length: ファイルの大きさ");

コールバック関数はバッファの内容をCopper PDFに送った後消去するため、ob_end_clean()が呼び出されるまでの間、本来であれば何もブラウザに送信しません。

しかし、PHPドライバ1.1.3で大きな文書を処理した場合にバッファが足りなくなる問題を回避するために、チャンクサイズを指定したところ、PHPはバッファの内容が指定したチャンクサイズに達すると、コールバック関数によりバッファの内容が削除されても、データが送信されたものとみなして、HTTPヘッダが送られた状態(headers_sent()がTRUEを返す状態)にしてしまいます(あまり好ましい動作ではなく、PHPのドキュメントにも記述がありませんが、そのような仕様になっているようです)。

PHPドライバ1.1.4では、次の通り二重にバッファリングするようにして回避しました。

ob_start();
ob_start(コールバック関数, チャンクサイズ);
...変換元の文書の出力...
ob_end_clean();
ob_end_clean();
header("Content-Length: ファイルの大きさ");

上記の場合、内側のバッファでデータ送信が行われても、外側のバッファに対して行われるので、外側のバッファが終了しない限り、クライアントに影響することはありません。

対策

ドライバ関係の不具合が起こっている状況を踏まえて、開発中のCopper PDFにドライバの負荷テストに使用するための機能を組み込み、ネットワーク越し、ローカル接続の両方で3種類のドライバの負荷テストを実施しました。

Java, Perlドライバと修正済みのPHPドライバで問題が発生しないことを確認しています。


PDF

Perlドライバ1.1.2, PHPドライバ1.1.3[環境によりドライバが応答しなくなるバグ修正]

Perlドライバ1.1.1以前、PHPドライバ1.1.2以前に、ネットワーク環境により、ドライバが応答しなくなる可能性のある問題が見つかったため対応いたしました。ローカルマシン接続の場合でも、OSによっては不定期に問題が発生する可能性があります。

またPHPドライバ1.1.2以前で、巨大なファイルを変換すると、処理が停止する問題を修正しました。

Perl, PHPドライバをお使いの方は、早めの更新をお願いいたします。不具合によりご迷惑をおかけいたしますことをお詫びいたします。

各ドライバのダウンロードページからダウンロードしてください。


PDF

Q. 保守費用、バージョンアップ時の費用は発生しますか?

製品には、正式ライセンスキー発行後90日間のメールでのサポートが付属しています。さらにメールでのサポートを1年間延長する場合は、98,000円で承っております。

マイナーバージョンアップの場合、費用は発生しません。弊社サイトで公開しているプログラムを自由にお使いいただけます。

メジャーバージョンアップの際の費用は、都度お知らせいたします。

FAQの一覧


PDF

Q. 認証が必要なウェブサイトをPDFに変換できますか?

Copper PDFのHTTPクライアントはBASIC認証とDigest認証が必要なウェブサイトにアクセスする機能を持っています。

クッキーを利用してセッションキーを保持しなければならないような認証には対応していません。

ただし、Copper PDFにはクッキーを送信する機能があるため、アプリケーション側の処理で対応できる可能性はあります。

FAQの一覧


PDF

Q. Copper PDFに接続するときに渡すユーザーとパスワードは何ですか?

Copper PDFは、ソケット通信によりプログラムと連携するため、ネットワーク上に公開しているCopper PDFが勝手に使われないよう、簡単な認証機能を持っています。

将来的にユーザーによってデフォルトの設定を切り替えられるようにする可能性もありますが、現在のところユーザー名は”user”だけです。

FAQの一覧


PDF

Q. PDFをHTMLに変換できますか?

Copper PDFはPDFからHTMLへの変換には対応していません。HTMLからPDFへの変換のみ行います。

FAQの一覧


PDF

Q. PDF自体の加工はできますか?

Copper PDFにはPDF自体を加工する機能はありません。

FAQの一覧


PDF