Q. 囲み文字を表示するには?

囲み文字を実現するには、SVGを利用してください。

○のSVG画像と、HTMLファイルの記述例をサンプルとして用意しました。ZIPファイルに含まれるcircle.htmlをCopper PDFで変換してください。

サンプルをダウンロード

やり方は、囲みたい文字の上に○の画像を重ねるだけです。ただし、画像を文字より若干大きくすることと、横にマイナスのマージンを指定して文字に食い込ませること、画像の位置を若干下げることがポイントです。以下のHTMLコード例をご覧ください。

亀<object style=”width: 1.2em; height: 1.2em; margin-left: -1.1em; vertical-align: -.2em;” data=”circle.svg” type=”image/svg+xml”>

widthとheightに1.2emを指定して、大きさを文字の約1.2倍としています。左側マージンに-1.1emを指定しているため、画像が左側の文字の真ん中にくるように重なります。そのままでは画像の下辺が文字のベースラインに合わさり、若干位置が高くなっているため、vertical-align: -.2em;を指定して位置を調整しています。

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

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

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

以下のバグを修正しました 改ページ直後のテーブルセルの内容が全て上付きになる。 背景色を指定したボックスの、最初の行の背景が塗りつぶされる。 以下の修正をしました。 両あわせの方法をより一般的なブラウザに近くなうように修正 sRGBカラー情報 PDFにsRGB(IEC61966-2-1)カラー情報を埋め込むようにしました。 生成されるPDFがよりブラウザに近い色合いとなります。 PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

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

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

以下のバグを修正しました 改ページ直後のテーブルセルの内容が全て上付きになる。 背景色を指定したボックスの、最初の行の背景が塗りつぶされる。 alignが指定されたまたは絶対位置指定されたテーブルのマージンが適用されない。 overflow: hidden;が指定されたボックスAの中に浮動ボックスBを配置した場合に、ボックスAの高さが拡張されない。 以下の修正をしました。 両あわせの方法をより一般的なブラウザに近くなうように修正 ‘text-decoration’による下線、上線が行をはみ出さないように修正 PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

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

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

rpm, debパッケージの修正 /var/lib/copper-pdf/conf から /etc/copper-pdf にシンボリックリンクを張っていたものを、 逆転させました。/etc/copper-pdf が実際の設定ファイルの場所になります。 入力データ形式 SVGと、Java実行環境のImage I/Oがサポートする画像を直接変換できるようになりました。 新しいドライバインターフェース 新しいソケット通信インターフェース(CTIP2) HTTP / HTTPSインターフェース PDF/A-1b(ISO 19005-1)をサポート 長期保存用の文書を生成できるようになりました。 sRGBカラー情報 PDFにsRGB(IEC61966-2-1)カラー情報を埋め込むようにしました。 生成されるPDFがよりブラウザに近い色合いとなります。 PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

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

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

以下のバグを修正しました 引用符が開いていない状態で{content: close-quote;}があるとエラーにより停止する。 IMGタグで文書中に埋め込まれた画像のMIME型がimage/*でない場合表示されない。 PDF スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

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

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

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

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

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

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 スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

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

動作デモのコーナーにECサイトの動作イメージデモを追加しました。 こちらからご覧ください。

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

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 スタイル サイトの設定 横書き 縦書き 縦2段 文字 特小 小 中 大 特大 周囲余白 なし 小 大

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

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

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

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

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

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