PHPドライバ2.1.2をリリースしました

PHPドライバを更新しました。変更点は次の通りです。

debパッケージのPHPバージョンチェックの不具合を修正。 phpDocumentorを4.1.4に更新。 コールバック関数を参照として渡してしまっている部分を値を渡すように修正。 以下の関数には、コールバック関数の関数名をリテラルとして直接渡せるようになります。 set_message_func set_progress_func set_resolver_func

SourceForge.jpからダウンロードしてください

PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

Rubyドライバをリリースしました

日本発のプログラミング言語で、ウェブ開発等でも定評のある、Ruby対応のドライバをリリースしました。以前もJRubyでJavaのドライバを使う方法があったのですが、今回は本当にRubyのために開発されたドライバです。

JavaならJSP、PHPならSmarty、PerlならTemplate-Toolkit、C#/VB.NETならASPのように、Copper PDFはそれぞれの開発言語でのウェブ開発との親和性を第一としてきましたが、Rubyも例外ではありません。

例えば、ERBで作ったテンプレートでPDFを出したければこのようになります。

require ‘CTI’ include CTI require ‘erb’ # セッションの開始 get_session(‘ctip://localhost:8099/’, { ‘user’ => ‘user’, ‘password’ => ‘kappa’ } ) do |session| # テンプレートを変換 session.transcode do |out| begin $stdout = out ERB.new(DATA.read).run ensure $stdout = STDOUT end end end __END__ <html> <head> <title>ERB</title> </head> <body> <p>Hello ERB</p> <p>ただいまの時刻は <%= Time.now %></p> </body> </html> […]

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

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

UNICODEの制御文字が含まれる文書で文字化けが発生していた問題、不正なXML宣言を含むHTMLの処理に関するバグを修正しました。

また、Copper PDFにはページ数の制限機能がありますが、従来は制限に達するとエラーとなり出力結果が得られなくなっていたのを、途中までのページをPDFとして出力する機能を追加しました。

変更点 UNICODE制御文字の扱いについて変更しました

・以下の文字を幅ゼロの文字として認識するようにしました U+200B U+200C U+200D U+200E U+200F U+202A U+202B U+202C U+202D U+202E U+2060

・以下をスペース文字として認識するようにしました U+200B U+200C U+200D U+200E U+200F U+202A U+202B U+202C U+202D U+202E U+2060

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

・XML宣言が2つ以上あるとページが出力されない

以下の機能を追加しました

“output.page-limit.abort”に”normal”を追加することで、”output.page-limit”でページ数を制限した際に、途中までのページをPDFとして出力するようにしました。

PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

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

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

ドライバ付属のCommons HTTP ClientでHTTP通信を行った時に、 NoClassDefFoundError: org/apache/commons/logging/LogFactory が生ずるバグを修正しました。 Tomcat等のサーブレットエンジンから使用した場合には影響ありません。

サンプルを追加しました

Antで文書を一括変換するサンプルのbuild.xmlファイルを加えました。

copperコマンドのシェルスクリプト、batファイルを加えました。 これらについては、以下のドキュメントを参照して下さい。 https://dl.cssj.jp/docs/copper/3.0/html/2100_tools.html#admin-copper

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

PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

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

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

変更点 以下のバグを修正しました

“output.page-margins”に4つの値を指定するとエラーになる インラインブロックの中に大きさを%指定した画像があると、画像の大きさがゼロになる

SELECTフォームパーツの表示をブラウザに近くなるように改善しました 文字コードの検出を一般的なブラウザに準拠するようにしました

XHTML(拡張子.xhtmlでMIME型”application/xhtml+xml”の場合) 1. UTF-8, UTF-16のBOM 2. XML宣言

HTML(拡張子.html, .htmでMIME型”text/html”の場合) 1. UTF-8, UTF-16のBOM 2. HTMLのMETAタグ(複数METAによる指定がある場合は最初の指定を優先する) 3. XML宣言

PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

バージョン3.0.7からアップグレードしたCopper PDFが起動しない場合の対処方法について

Copper PDFバージョン3.0.7を、.rpmまたは.debパッケージにより3.0.8以降にアップグレードした際に、Copper PDFが起動しなることがあります。これは、3.0.7の.rpmまたは.debパッケージに不具合があり、必要なユーザー(copper)が削除されることが原因です。他の方法でインストールした場合は影響ありません。

対処方法

rootで以下のコマンドを実行してcopperユーザーを追加することで起動するようになります。

/usr/sbin/groupadd -r copper /usr/sbin/useradd -r -d /var/lib/copper-pdf -c “Copper PDF” -s /bin/nologin copper -g copper chown copper:copper /etc/copper-pdf/password.txt

PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

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

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

変更点 以下のバグを修正しました

画像(PDFではなくPNG, JPEGなど))として出力時に縦書きの文字が2重3重に描画される <input type=”text”> に width:auto; を指定すると幅が0になる <input type=”file”> のテキストボックス部分が2重に表示される

以下の優先順位でHTMLの文字コードを認識するようにしました

1. UTF-8, UTF-16のBOM 2. XML宣言 3. HTMLのMETAタグ(複数METAによる指定がある場合は最初の指定を優先する) 従来はBOMが認識されず、複数のMETAタグが存在するとHTMLが正しく読み込まれない不具合が生じていました

一般的なブラウザとの互換性を向上させました

‘*’をHTMLの要素名の中に使えるようにしました。 <a*> のような名前のタグを使用でき、CSS内で a* {color:Red;} のような指定ができます フォーム要素(INPUT, SELECT, BUTTON)は上位の要素のフォントサイズの影響を受けないようにしました プルダウンメニュー(SELECT)のボタンを表示するようにしました

PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

Q. RESTインターフェースで大きなデータをPOSTするとエラーになります。

RESTインターフェースでCopper PDFにアクセスする場合、パラメータが application/x-www-form-urlencoded 形式だと、POSTできるサイズに上限があります(概ね190KB)。

大きなデータをRESTインターフェースで送る場合は、multipart/form-data 形式で送って下さい。以下はRubyとPythonのコード例です。

Ruby:

require ‘httpclient’

# 変換対象のHTML data = <<DATA

RubyからCopper PDFを使う。

DATA

# POSTの準備 client = HTTPClient.new postdata = { “rest.user” => “user”, “rest.password” => “kappa”, “rest.main” => data, }

# 大きなデータを扱えるようにmultipart/formdataで送信(boundaryは適当な文字列) boundary = “3w48588hfwfdwed2332hdiuj2d3jiuhd32” puts client.post_content(“http://localhost:8097/transcode”, postdata, “content-type” => “multipart/form-data, boundary=#{boundary}”)

Python:

import urllib2

# multipart/form-dataの出力(boundaryは適当な文字列) boundary = […]

.NET版ドライバにDLL(.NET3.5, 4.0用)を追加しました

Copper PDF の.NET版ドライバに、.NET 3.5, .NET 4.5 向けにビルド済みのDLLを添付しました。こちらのアドレスからダウンロードして下さい。

http://sourceforge.jp/projects/copper/releases/?package_id=12608

従来、.NET版ドライバには対応.NETバージョンを明示していませんでしたが、.NET 3.5以降が対応バージョンとなります。

PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

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

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

変更点 以下のバグを修正しました

PDFのMediaBoxが、通常と比べて上下逆さまなため、Apache PDFBoxでページの高さを正しく検出できない問題に対応しました

JDK1.5以外で画像(PDFではなくPNG, JPEGなど)として出力時に文字が二重に表示される問題に対応しました

以下の改良をしました

RPM, DEBパッケージでsudoを不要にしました

Red Hat Linux, CentOSでRPMによるアップグレード時にCopper PDFがrootで起動される不具合に対処しました

座標変換のために、以下のCSS3プロパティを実装しました

‘-cssj-transform’ ‘-cssj-transform-origin’ ※他のブラウザとの互換性のために-webkit- -moz-で始まるプロパティ名が使えます

透明色のために、次のCSS3関数を実装しました

rgba

テキスト装飾のために、次のCSS3プロパティを実装しました

‘-cssj-text-fill-color’ ‘-cssj-text-stroke-width’ ‘-cssj-text-stroke-color’ ‘-cssj-text-stroke’ ※Google Chromeとの互換性のために-webkit-で始まるプロパティ名が使えます

‘text-shadow’(一部制約あり)

PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大