** cssj.inc.php [#dca98407]
|RIGHT:100|LEFT:360|c
|~サマリ|高品質印刷用PDF出力プラグイン|
|~リビジョン|1.1|
|~対応バージョン|1.4.5_1|
|~リビジョン|1.3.2|
|~対応バージョン|1.4.7|
|~投稿者|[[miyabe]]|
|~投稿日|&new{2005-07-24 (日) 03:56:52};|

[[PDF版(ページの出力例)>http://cgi.port4.info/cssj/pukiwiki/pukiwiki.php?plugin=cssj&pages=CSSJ%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3]]
#contents

** 概要 [#g5a7d277]
** 概要 [#i531ce60]
#ref(copper-pdf.gif)
[[Copper PDF:http://copper-pdf.com/]]を用いてPDFを出力できるようにするプラグインです。

[[CSSJ:http://www.cssj.jp/]]を用いてPDFを出力できるようにするプラグインです。
*** 動作環境 [#o515ebb2]
[[Copper PDF 2.0.0:http://copper-pdf.com/?cat=11]]以降またはCSSJ Server 1.2.0以降が必要です。

*** 動作環境 [#u7d590d0]
Copper PDF(またはCSSJ)を動かすためには、[[JavaVM(J2SE 1.4.1以降)>http://java.sun.com/j2se/1.4.2/ja/download.html]]が必要です。

[[CSSJサーバー>http://www.cssj.jp/download/server.html]] 1.2.0以降が必要です。
とりあえずは[[試用キー>http://www.cssj.jp/java/keygen/evaluate.html]]を使ってください。
*** 主な機能 [#p0b2fbba]
- 任意のページをPDF化します。
- 複数のページをまとめて完全なドキュメントを作ります。
- スタイルシートを切り替えて、1つの文書を別のスタイルで出力します。

CSSJサーバーを動かすためには、[[JavaVM(J2SE 1.4.1以降)>http://java.sun.com/j2se/1.4.2/ja/download.html]]が必要です。
以下の機能を利用するにはCopper PDFの製品ライセンスの購入が必要です。
- 用紙サイズをA4縦かA4横か選択できます。
- PDFにファイルを添付します。
- 暗号化PDFを生成します。

*** 主な機能 [#q0d04269]
** ダウンロード [#a957464c]
[[こちらのページ:http://sourceforge.jp/projects/copper/releases/?package_id=8746]]
からcssj-pukiwikiの最新のリリースをダウンロードしてください。

- 任意のページをPDF化します。
- 複数のページをまとめて完全なドキュメントを作ります。
** 基本的な導入方法 [#pacd83b5]
アーカイブ内にはEUC-JP用のプラグインとUTF-8用のプラグインがそれぞれ別のディレクトリ(euc_jp, utf8))に格納されています。使用するPukiWikiのエンコーディングに合わせて選択してください。

** ダウンロード [#q6b2b055]
各ディレクトリ内のpluginディレクトリとskinディレクトリを、PukiWikiの同名のディレクトリにそのまま上書きしてください。

[[こちらのページ:http://www.cssj.jp/download/application.html]]
からダウンロードしてください。
次に、skin/cssj/global.inc.phpをテキストエディタで開き、$host, $port, $user, $passwordの値をCopper PDFに接続できるように設定してください。

** 導入方法 [#s2896dd5]
** プラグインの設定 [#f0ac7bd1]
さらに詳細な設定をする場合は、以下のファイルを編集してください。

アーカイブに含まれるpluginディレクトリとskinディレクトリを、PukiWikiの同名のディレクトリにそのまま上書きしてください。
:skin/cssj/print-skin|PDF出力のためのスタイルシートが格納されたディレクトリ。
:skin/cssj/global.ini.php|Copper PDFの接続設定、入出力オプション、利用可能なスタイルシート、その他の設定(詳細はファイル中のコメント参照)。

次に、plugin/cssj.inc.phpをテキストエディタで開き、$port,$user,$passwordの値をCSSJサーバーに接続できるように設定してください。
スタイルシートは、print-skinディレクトリ内に .css という拡張子で配置してください。

** ページのPDF化 [#xd97e012]
Copper PDFの入出力オプション等は[[Copper PDFのドキュメント>http://copper-pdf.com/?cat=5]]を参照してください。

CSSによるスタイル付けはW3Cの[[CSS 2.1>http://www.w3.org/TR/CSS21/]]に従います。
印刷に関するものは[[Paged media>http://www.w3.org/TR/CSS21/page.html]]の章で解説されています。

また、CSS2の[[邦訳>http://www.y-adagio.com/public/standards/tr_css2/toc.html]]と
CSS2.1での[[変更点>http://www.d-toybox.com/spec/CSS2.1/appendixC/]]が公開されています。

** URL指定でのプラグインの呼び出し [#g14af341]
URL指定でのプラグインで使用できるパラメータの概要は次のとおりです。

|~パラメータ名|~説明|~必須|
|plugin|必ず cssj としてください。|○|
|title|文書タイトル| |
|author|文書作者| |
|pages|PDF化するページ名。複数の場合はカンマ区切り。|○|
|style|使用するスタイルシート名。| |
|attachments|添付ファイル('use'=使用, 'attach'=PDFに添付)| |

また、Copper PDFの[[入出力プロパティ:http://dl.cssj.jp/docs/copper/contents/5100_io-properties.html]]を使用できます。ただし、プロパティ名中のピリオド'.'はカンマ','に置き換えて使用してください。

*** 1つまたは複数のページのPDF化 [#s48fee06]
''?plugin=cssj&title=タイトル&pages=ページ名1,ページ名2,ページ名3..''という文字列をURLの後につけてPukiWikiにアクセスすることで、1つまたは複数のページをまとめて指定されたタイトルのPDFに変換することができます。タイトルを省略した場合は、最初のページの名前が使われます。

例えば、http://localhost/pukiwiki.php?FrontPageのPDF出力が欲しい場合は、http://localhost/pukiwiki.php?plugin=cssj&pages=FrontPageへアクセスしてください。

** インラインプラグイン [#k1f0d5a9]
*** スタイルシートの切り替え [#q800c0b8]
スタイルシートは style パラメータで切り替えることができます。スタイルシート名は、print-skinディレクトリ内のCSSファイルから、拡張子(.css)を省略したものです。

*** ファイルの添付 [#ae9f1d8f]
global.ini.phpの設定で$attachmentsが'attach'に設定されている場合は、ページに添付されたファイルがPDFにも自動的に添付されます。ファイルを添付したくない場合は、$attachmentsを'use'にしておいてください。また、attachmentsパラメータでも設定を上書きすることができます。

*** 入出力プロパティの設定 [#sa08b41a]
Copper PDFの[[入出力プロパティ:http://dl.cssj.jp/docs/copper/contents/5100_io-properties.html]]はglobal.ini.phpで設定できますが、パラメータにより上書きすることもできます。ただし、パラメータではプロパティ名の'.'を','に置き換えてください。

例えば、トンボを表示する場合は output,marks=both というパラメータを付加してください。

** 「このページのPDF」メニュー [#ma1386a3]
「このページのPDF」メニューは、現在表示されているページを手軽にPDF化する機能です。
#ref(pdf-skin.png)

*** Copper PDFスキン [#qf2d8e44]
Copper PDFスキンを有効にすることで、「このページのPDF」メニューが表示されます。PukiWikiの設定ファイル(pukiwiki.ini.php)の、SKIN_DIR定数を'skin/cssj/'に設定することでCopper PDFスキンを有効にすることができます。

*** 「このページのPDF」メニューだけ使用する場合 [#t8318f5f]
お使いのスキン(pukiwiki.skin.phpファイル)の「このページのPDF」メニューを表示させたい場所に、以下のコードを記述してください。

<?php include('skin/cssj/pdfmenu.php'); ?>

** ページ内でのプラグインの呼び出し [#k46bb0db]

PDFへのリンクはインラインプラグインを利用して作ることもできます。以下の書式で記述してください。

''&cssj''''(title,page1,page2,page3...){content};''

titleはPDFのタイトルで、page1,page2,page3...は変換対象のページ名です。
ページ名を省略すると、インラインプラグインが記述されたページ自身が対象となります。

contentはリンクに表示される文字列です。省略すると、タイトルが使われます。

** カスタマイズ [#aa87f152]
生成されるリンクの横には、PDFアイコンが表示され、Copper PDFスキンの「このページのPDF」と同じ機能が利用できます。

必要に応じて、以下のファイルを編集してください。
:plugin/cssj.ini.php|CSSJサーバーの接続設定、PDF出力オプション、一部のスタイル情報。
:skin/cssj.css|出力スタイル。
** プラグインの動作についての注意点 [#z8ea14f1]
バージョン1.2.1まであった、出力したPDFをキャッシュする機能は廃止しました。Copper PDFはキャッシュがなくても十分な速度でPDFを出力します。

PDFの出力オプション等は[[CSSJのドキュメント>http://www.cssj.jp/docs/index.html]]を参照してください。
他のページの画像を参照している場合(例えばページAに添付された画像ファイルを、ページB上に表示する場合)、Copper PDFはHTTPでPukiWikiが動作しているウェブサーバーにアクセスして画像を取得しようとします。そのため、ファイヤーウォールやDNSの名前解決の問題により、ネットワーク環境によって画像などが表示できない可能性があります。

CSSによるスタイル付けはW3Cの[[CSS 2.1>http://www.w3.org/TR/CSS21/]]に従います。
印刷に関するものは[[Paged media>http://www.w3.org/TR/CSS21/page.html]]の章で解説されています。
ページに直接添付されている画像ファイル(例えばページAに添付された画像ファイルを、ページA上に表示する場合)は、ドライバによってCopper PDFに直接送られるため上記のような問題は発生しません。

また、CSS2の[[邦訳>http://www.y-adagio.com/public/standards/tr_css2/toc.html]]と
CSS2.1での[[変更点>http://www.d-toybox.com/spec/CSS2.1/appendixC/]]が公開されています。
** ライセンス [#gb1b3d21]
Apache License Version 2.0 です。
詳細はパッケージに含まれる文書(README.txt)を参照してください。

** 制限事項等 [#q608d158]
バグ報告、要望などはSourceForgeプロジェクトページまでお願いいたします。

CSSJサーバーはネットワークでつながった別のハードウェア上にあっても構いませんが、
画像などのリソースへはCSSJサーバーからHTTPでアクセスできなければなりません。
そのため、ファイヤーウォールやDNSの名前解決の問題により、ネットワーク環境によって画像などが表示できない可能性があります。
http://sourceforge.jp/projects/copper/

出力したPDFファイルをcacheディレクトリに蓄えるため、いずれかのページを編集した後、2度目以降のアクセスは高速になります。キャッシュのキーとして、ページ名を連結したものに対するMD5ハッシュが使われるため、衝突する可能性はゼロではありません。また、いろいろなページの組み合わせでPDFを出力すると、その分だけキャッシュにPDFファイルがたまります。
©2005-2009 GNN & Co.,Ltd.

PukiWiki 1.4.5_1で動作確認しています。他のバージョンでは応答がないままかたまってしまうことがあります。その場合cssj.inc.phpの以下の部分を修正するとなおることがあります。

cssj.inc.phpの58行目
** 動作デモ [#vbbe99f2]

修正前
[[こちらでデモサーバーを動かしています:http://demo.zama.gnn.co.jp/copper/pukiwiki/index.php?SandBox]]

''$charset = CONTENT_CHARSET;''
毎日リセットされますので、遠慮なく編集してみてください。

修正後
----

''$charset = 'EUC-JP';''


** ライセンス [#jc515788]

[[CSSJドライバライセンス:http://www.cssj.jp/download/driver.html]]と同等の条件です。
- cssj.cssの中で、ie5を非表示にしてしまっているので、表組がPDFになりません。 -- [[ XD]] &new{2006-07-13 (木) 20:50:20};
- php --  &new{2008-02-08 (金) 20:29:10};
- 票組みが表示されない問題を解消しました。 -- [[miyabe]] &new{2008-10-23 (木) 16:43:41};
- いいですね~ :) -- [[teanan]] &new{2008-10-23 (木) 18:38:24};
- GPL互換(?)のApache License 2.0を適用しました。また、Copper PDF本体も個人的な利用については近いうちに制約を緩和します。 -- [[miyabe]] &new{2009-01-03 (土) 19:54:03};
- とても便利で助かります^-^ -- [[ぴあっと]] &new{2009-01-07 (水) 22:48:49};
- 予告どおり個人用無料キー発行いたします。機能に制限はありますが、「すかし」は出なくなります。http://copper-pdf.com/?p=155 -- [[miyabe]] &new{2009-01-09 (金) 19:21:58};
- 有難うございました。難しそうですがやってみます。 -- [[matsu]] &new{2009-11-07 (土) 18:06:44};

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.074 sec.

OSDN