Copper PDF 3.0 説明書

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Copper PDF 3.0 説明書 2015-11-19"

Transcription

1 297mm height / 210mm width / HTML PDF変換サーバー Copper PDF バージョン 3.0 説明書 発売元 株式会社 GNN

2 NOTICE Copper PDF Zamasoft. All rights reserved. This product includes software developed by Andy Clark. This product includes software developed at The Apache Software Foundation (http://www.apache.org/). This software contains code from the World Wide Web Consortium (W3C) for the Document Object Model API (DOM API), SVG Document Type Definition (DTD) and the The Simple API for CSS (SAC API).

3 目 次 1.Copper PDF 入 門 Copper PDFの 概 要 Copper PDFとは なぜCopper PDFが 必 要 か 動 作 環 境 サーバー プログラミングインターフェース(API) 5 旧 インターフェース(CTIP 1.0) 5 Java ドライバ 5 Perlドライバ 5 PHPドライバ 5 新 インターフェース(CTIP 2.0) 5 Java ドライバ / transcode Antタスク 5 Perlドライバ 5 PHPドライバ 6.NETドライバ 6 HTTP / RESTインターフェース 機 能 一 覧 入 力 データ 形 式 7 ドキュメント 7 スタイルシート 7 ベクター 画 像 データ 7 ラスター(ビットマップ) 画 像 データ PDF 出 力 画 像 出 力 フォント 関 連 機 能 HTTP 接 続 印 刷 サポート 目 次 ページ 参 照 プログラムインターフェース 10 Copper PDF 2.0 以 前 10 Copper PDF 2.1 以 降 その 他 の 機 能 とりあえず 使 ってみよう Copper PDFのインストール ウェブインターフェースでHTMLを 変 換 する コマンドラインアプリケーションでHTMLを 変 換 する プログラムからHTMLを 変 換 する 管 理 者 ガイド セットアップ Java 実 行 環 境 のインストール Copper PDF の 配 布 パッケージ Windows 2000/XP/Vista/7 18 付 属 のプログラムを 使 ってサービスをインストールする 19 Windows XP 以 前 19 Windows Vista 以 降 19 Java Service Wrapperを 使 ってサービスをインストールする[2.1.4] 20 iii

4 サービスの 管 理 と 動 作 状 態 の 確 認 Red Hat Enterprise Linux(RHEL) / CentOS 21 Copper PDFサーバーの 起 動 停 止 Debian 22 Copper PDFサーバーの 起 動 停 止 FreeBSD 23 Copper PDFサーバーの 起 動 停 止 その 他 の 環 境 ディレクトリ 構 成 25 アーカイブ 内 のディレクトリ 構 成 25 RPMまたはDebianパッケージの 構 成 ライセンスキー ファイルの 配 置 旧 バージョンからのアップデート Copper PDFのツール copper コマンドラインアプリケーション 28 形 式 28 概 要 28 オプション 28 説 明 29 入 力 について 29 出 力 について 29 javaコマンドで 実 行 する 方 法 copper-webapp ウェブアプリケーション 30 概 要 30 javaコマンドで 実 行 する 方 法 copperd ドキュメント 変 換 サーバー 32 形 式 32 概 要 32 オプション 32 説 明 34 javaコマンドで 実 行 する 方 法 設 定 ファイル Copper PDFサーバーの 動 作 設 定 (copperd.properties) SSL/TLSの 設 定 38 秘 密 鍵 とCSRを 用 意 する 39 サイト 証 明 書 を 用 意 する 39 秘 密 鍵 とサイト 証 明 書 をキーストアに 格 納 する Apacheを 通 しての 接 続 ログの 設 定 (logging.properties) アクセス 制 御 の 設 定 (access.txt) profilesディレクトリ デフォルトの 入 出 力 プロパティ(default.properties) fontsディレクトリ フォントの 設 定 フォント 設 定 の 反 映 ドキュメント 中 でのフォントの 利 用 デフォルトのフォント フォントの 種 類 コアフォント CIDフォント 50 埋 め 込 みフォント 51 CID Identity 51 iv

5 CID-Keyed フォント 51 PANOSE コード 52 参 考 情 報 52 フォント 幅 情 報 ファイル フォントファイルの 種 類 フォント 設 定 ファイル 54 コアフォントのエンコーディング(encodings 要 素 ) 54 encodingsに 含 まれる 要 素 55 cmapファイル(cmaps 要 素 ) 55 cmapsに 含 まれる 要 素 55 コアフォント(core-fonts 要 素 ) 55 core-fontsに 含 まれる 要 素 55 letter-font 55 symbol-font 56 letter-fontおよびsymbol-fontに 含 まれる 要 素 56 CIDフォント(cid-fonts 要 素 ) 57 cid-fontsに 含 まれる 要 素 57 cid-keyed-font 57 font-file 58 font-dir 59 system-font 59 all-system-fonts 60 cid-keyed-font, font-file, system-fontに 含 まれる 要 素 61 一 般 フォントファミリ(generic-fonts 要 素 ) 61 generic-fontsに 含 まれる 要 素 フォント 設 定 ファイルの 設 定 例 62 デフォルトのフォントの 変 更 開 発 者 ガイド プログラムインターフェースの 概 要 アプリケーションからCopper PDFの 機 能 を 使 うには 通 信 の 手 順 copperdへの 接 続 認 証 メッセージハンドラの 設 定 プログレスリスナの 設 定 出 力 先 の 設 定 変 換 結 果 の 出 力 先 の 設 定 入 出 力 プロパティの 設 定 URIの 解 決 と 関 連 ファイル(リソース)の 取 得 65 リソースにサーバーからアクセスする 場 合 67 URIパターン 68 リソースを 事 前 にサーバーに 送 る 場 合 69 ソースリゾルバを 使 う 場 合 設 定 のリセット ドキュメント 本 体 の 送 信 または 変 換 対 象 のドキュメントの 指 定 69 ドキュメント 本 体 をサーバーに 送 る 70 ドキュメント 本 体 にサーバーからアクセスする 場 合 複 数 の 結 果 の 結 合 [3.0.0] 変 換 処 理 の 中 断 通 信 の 終 了 CTIP 1.0 インターフェースの 特 徴 結 果 サイズの 取 得 72 v

6 3.2.2 メッセージハンドラ(エラーハンドラ)の 設 定 CTIP 1.0 プロトコルの 仕 様 Java ドライバ 使 用 方 法 APIの 概 要 74 サーバーへの 接 続 認 証 74 エラーハンドラ プログレスリスナの 設 定 75 出 力 先 の 設 定 75 プロパティの 設 定 75 リソースの 送 信 アクセス 許 可 75 本 体 の 送 信 75 通 信 の 終 了 サンプル サーブレットの 作 成 フィルターを 使 ったServlet/JSPの 変 換 ソースコード Perlドライバ 使 用 方 法 APIの 概 要 79 サーバーへの 接 続 認 証 79 エラーハンドラ プログレスリスナの 設 定 79 出 力 先 の 設 定 79 プロパティの 設 定 79 リソースの 送 信 アクセス 許 可 80 本 体 の 送 信 80 通 信 の 終 了 サンプル PHPドライバ 使 用 方 法 APIの 概 要 83 サーバーへの 接 続 認 証 83 エラーハンドラ プログレスリスナの 設 定 83 出 力 先 の 設 定 83 プロパティの 設 定 84 リソースの 送 信 アクセス 許 可 84 本 体 の 送 信 84 通 信 の 終 了 サンプル Content-Lengthヘッダの 送 信 copper Antタスク Antタスクの 概 要 copper タスクの 使 用 方 法 うまく 動 かない 場 合 88 Can't connect to X11... というエラーが 表 示 される 88 ライセンスが 認 証 されない 場 合 CTIP 2.0 インターフェースの 概 要 接 続 情 報 メッセージコード サーバー 情 報 vi

7 3.7.4 CTIP 2.0 プロトコルの 仕 様 Java ドライバ 概 要 ドライバの 準 備 タイムアウトの 設 定 APIの 概 要 95 サーバーへの 接 続 認 証 95 サーバー 情 報 の 取 得 95 メッセージハンドラ プログレスリスナの 設 定 95 出 力 先 の 設 定 95 プロパティの 設 定 95 ソースリゾルバの 設 定 96 リソースの 送 信 96 本 体 の 送 信 変 換 96 複 数 の 結 果 の 結 合 96 処 理 の 中 断 リセット 通 信 の 終 了 サンプル プログラミングのポイント 99 CTISessionHelperの 利 用 99 繰 り 返 し 処 理 100 出 力 先 (Results)の 設 定 100 サーバーから 要 求 されたリソースの 送 信 (SourceResolver) 100 MetaSource 101 複 数 の 結 果 の 結 合 101 abortによる 中 断 サーブレット/JSPでの 利 用 ソースコード Copper PDFのライブラリに 直 接 アクセスする JRubyを 使 う 場 合 Jythonを 使 う 場 合 Perlドライバ 概 要 ドライバの 準 備 APIの 概 要 112 サーバーへの 接 続 認 証 112 サーバー 情 報 の 取 得 112 メッセージハンドラ プログレスリスナの 設 定 113 出 力 先 の 設 定 113 プロパティの 設 定 113 ソースリゾルバの 設 定 113 リソースの 送 信 113 本 体 の 送 信 変 換 113 複 数 の 結 果 の 結 合 113 処 理 の 中 断 リセット 通 信 の 終 了 サンプル プログラミングのポイント 115 Content-Type, Content-Length ヘッダの 出 力 115 他 のプログラムを 呼 び 出 して 変 換 する 115 繰 り 返 し 処 理 116 出 力 先 の 設 定 116 サーバーから 要 求 されたリソースの 送 信 116 複 数 の 結 果 の 結 合 117 vii

8 3.9.6 ソースコード PHPドライバ 概 要 ドライバの 準 備 APIの 概 要 119 サーバーへの 接 続 認 証 119 サーバー 情 報 の 取 得 119 メッセージハンドラ プログレスリスナの 設 定 120 出 力 先 の 設 定 120 プロパティの 設 定 120 ソースリゾルバの 設 定 120 リソースの 送 信 120 本 体 の 送 信 変 換 120 複 数 の 結 果 の 結 合 120 処 理 の 中 断 リセット 通 信 の 終 了 サンプル プログラミングのポイント 122 Content-Type, Content-Length ヘッダの 出 力 122 他 のプログラムを 呼 び 出 して 変 換 する 122 繰 り 返 し 処 理 123 出 力 先 の 設 定 123 サーバーから 要 求 されたリソースの 送 信 123 複 数 の 結 果 の 結 合 ソースコード NETドライバ 概 要 ドライバの 準 備 タイムアウトの 設 定 APIの 概 要 126 サーバーへの 接 続 認 証 126 サーバー 情 報 の 取 得 126 メッセージハンドラ プログレスリスナの 設 定 126 出 力 先 の 設 定 126 プロパティの 設 定 126 ソースリゾルバの 設 定 126 リソースの 送 信 126 本 体 の 送 信 変 換 126 複 数 の 結 果 の 結 合 127 処 理 の 中 断 リセット 通 信 の 終 了 サンプル プログラミングのポイント 131 Utilsの 利 用 131 繰 り 返 し 処 理 131 出 力 先 (Results)の 設 定 131 サーバーから 要 求 されたリソースの 送 信 (SourceResolver) 132 SourceInfo 133 複 数 の 結 果 の 結 合 133 Abortによる 中 断 Rubyドライバ 概 要 ドライバの 準 備 135 viii

9 APIの 概 要 135 サーバーへの 接 続 認 証 135 サーバー 情 報 の 取 得 135 メッセージハンドラ プログレスリスナの 設 定 136 出 力 先 の 設 定 136 プロパティの 設 定 136 ソースリゾルバの 設 定 136 リソースの 送 信 136 本 体 の 送 信 変 換 136 複 数 の 結 果 の 結 合 136 処 理 の 中 断 リセット 通 信 の 終 了 サンプル プログラミングのポイント 138 Content-Type, Content-Length ヘッダの 出 力 138 繰 り 返 し 処 理 139 出 力 先 の 設 定 139 サーバーから 要 求 されたリソースの 送 信 139 複 数 の 結 果 の 結 合 ソースコード Pythonドライバ 概 要 ドライバの 準 備 APIの 概 要 141 サーバーへの 接 続 認 証 142 サーバー 情 報 の 取 得 142 メッセージハンドラ プログレスリスナの 設 定 142 出 力 先 の 設 定 142 プロパティの 設 定 142 ソースリゾルバの 設 定 142 リソースの 送 信 142 本 体 の 送 信 変 換 142 複 数 の 結 果 の 結 合 142 処 理 の 中 断 リセット 通 信 の 終 了 サンプル プログラミングのポイント 145 Content-Type, Content-Length ヘッダの 出 力 145 繰 り 返 し 処 理 145 出 力 先 の 設 定 145 サーバーから 要 求 されたリソースの 送 信 146 複 数 の 結 果 の 結 合 ソースコード transcode Antタスク Antタスクの 概 要 transcode タスクの 使 用 方 法 うまく 動 かない 場 合 (ローカルマシンで 実 行 する 場 合 ) 150 Can't connect to X11... というエラーが 表 示 される 150 ライセンスが 認 証 されない 場 合 HTTP/RESTインターフェース 概 要 アクションの 実 行 ウェブブラウザからのアクセス Ruby (httpclient) 155 ix

10 Python (urllib2, urllib) C# (.NET WebClient) ASP.NET (C#, VisualBasic) th Dimension (Internet Commands) その 他 のサンプルについて HTTPクライアント 機 能 BASIC 認 証 またはDigest 認 証 プロクシの 設 定 HTTPヘッダの 送 信 参 照 元 (Referer)の 送 信 クッキーの 送 信 タイムアウトの 設 定 出 力 制 限 機 能 ページ 数 の 制 限 データサイズの 制 限 デザイナーガイド Copper PDFによる 文 書 のレイアウト Copper PDFで 文 書 をレイアウトするには 入 出 力 プロパティ 対 応 する 入 力 ファイル HTML/XMLの 処 理 174 ドキュメントの 判 別 174 キャラクタ エンコーディング 174 文 書 情 報 175 XSLTスタイルシートの 適 用 画 像 176 Copper PDFがサポートする 画 像 176 他 の 画 像 形 式 の 利 用 176 ラスター(ビットマップ/ピクセルマップ) 画 像 176 GIF / PNG 画 像 176 JPEG / JPEG 2000 画 像 177 その 他 の 画 像 177 画 像 の 解 像 度 177 SVG 画 像 177 SVG 画 像 ファイルの 参 照 177 インラインSVG 178 画 像 を 読 み 込 めない 場 合 EPUB 電 子 書 籍 出 力 するファイル 形 式 PDFの 出 力 179 PDFのバージョンと 機 能 179 暗 号 化 179 ファイルの 添 付 181 PDFの 圧 縮 形 式 181 PDF 中 の 画 像 の 圧 縮 形 式 181 PDFの 表 示 環 境 のキャラクタ エンコーディング 182 作 成 更 新 時 刻 ファイルIDの 設 定 182 すかし 183 印 刷 時 だけ または 画 面 表 示 だけすかしを 表 示 する 185 PDF/A-1bに 準 拠 したファイルの 出 力 186 PDFビューワの 表 示 設 定 [3.0.2/2.1.11] 186 x

11 PDFの 表 示 の 際 に 実 行 されるJavaScript[3.0.2/2.1.11] 画 像 の 出 力 187 画 像 出 力 の 制 約 187 画 像 出 力 の 解 像 度 SVGの 出 力 一 般 的 なブラウザとの 互 換 性 互 換 性 モードの 切 り 替 え 標 準 モードとmsieモードの 違 い 188 CSSで 数 字 のクラス 名 が 認 識 される 188 CSSで':'の 代 わりに'='が 使 用 できる 189 CSSの 色 指 定 で#を 省 略 しても 認 識 される 190 CSSの 長 さ 指 定 で 単 位 を 省 略 しても 認 識 される 190 フォームの 前 後 にマージンが 設 定 される 190 段 落 と 見 出 しのマージン 上 下 のマージンをなくす 場 合 がある 190 ボックスの 幅 または 高 さに100%が 指 定 された 場 合 外 側 のボックスをはみ 出 さない190 絶 対 位 置 指 定 ボックス 浮 動 ボックスの 大 きさが 内 容 により 拡 張 される 191 通 常 のフローのボックスが 幅 が 指 定 されたボックスにより 拡 張 される 191 幅 がautoの 固 定 レイアウトテーブルが 固 定 レイアウトのまま 処 理 される 191 テーブル 行 に 対 するmax-height [css]が 適 用 されない 191 ブロックに 対 するline-height [css]による 高 さが 確 保 されない 191 全 角 スペースの 間 で 折 り 返 しされない 191 input 要 素 の 高 さが 強 制 される 192 マージンの 設 定 に 関 わらず 中 央 寄 せされる 192 匿 名 のテーブルセルにより 補 完 されない 192 インラインボックスにwidth [css]が 適 用 される 192 text-align [css]がブロックの 配 置 にも 適 用 される 192 テーブルカラムのプロパティがセルに 継 承 される 193 width [css]が 設 定 されたテーブルセルには{white-space: nowrap;が 適 用 されない 既 知 の 制 限 事 項 193 MS 明 朝 系 フォントの 文 字 幅 について 193 サポートしていないCSSプロパティ 自 動 レイアウトテーブル XML/HTMLの 拡 張 機 能 見 出 し 195 ブックマーク 195 現 在 ページのセクション 目 次 の 生 成 リンクとフラグメント 197 フラグメント 識 別 子 によるリンク 197 -cssj-page-ref 関 数 注 釈 XML 中 でHTMLの 要 素 と 属 性 を 使 用 する ルビ[3.0.0] CSSによるドキュメントのレイアウト スタイルシートの 型 メディアタイプ ドキュメント 中 にスタイルシートを 記 述 する 201 HTMLのstyle 属 性 201 HTMLのstyle 要 素 202 jp.cssj.stylesheet 処 理 命 令 外 部 のCSSの 使 用 204 HTMLのlink 要 素 204 xi

12 指 示 子 204 xml-stylesheet 処 理 命 令 デフォルトのスタイルシート 長 さの 単 位 CSSの 拡 張 機 能 名 前 空 間 ページカウンタ 全 角 数 字 と 漢 数 字 による 箇 条 書 き 番 号 禁 則 処 理 210 word-wrap[3.0.0] 211 -cssj-no-break-characters[3.0.6] 212 -cssj-break-characters[3.0.6] 圏 点 [3.0.4] 214 -cssj-text-emphasis-style 215 -cssj-text-emphasis-color 216 -cssj-text-emphasis 文 字 の 影 [3.0.8] 218 text-shadow 袋 文 字 [3.0.8] 219 -cssj-text-fill-color 220 -cssj-text-stroke-width 220 -cssj-text-stroke-color 220 -cssj-text-stroke 透 明 化 [3.0.6] 222 opacity 透 明 色 [3.0.8] 角 丸 境 界 [3.0.6] 224 border-top-left-radius 224 border-top-right-radius 225 border-bottom-left-radius 225 border-bottom-right-radius 225 border-radius 回 転 拡 大 変 形 [3.0.8] 227 -cssj-transform 227 -cssj-transform-origin ページ 処 理 機 能 ページのレイアウト ページの 大 きさの 制 約 と 切 り 落 とし パス 以 上 の 変 換 処 理 ページの 参 照 グレイスケール 印 刷 片 面 印 刷 と 両 面 印 刷 ページごとに 生 成 されるコンテンツ 改 ページ 制 御 用 語 の 定 義 強 制 改 ページ orphans [css]とwidows [css] 241 orphans [css] 241 widows [css] 242 orphans [css]とwidows [css]の 競 合 改 ページの 抑 制 244 内 部 の 改 ページ 抑 制 244 xii

13 前 後 の 改 ページ 抑 制 自 動 改 ページ 245 通 常 のフローのブロック 246 浮 動 ボックス テーブル 内 での 改 ページ 改 ページされない 場 所 page-break-xxxの 適 用 テーブル 行 内 部 (セル 内 部 )での 改 ページ デフォルトの 改 ページ 禁 止 WebFont 249 ルール 249 font-family 250 font-style 250 font-weight 250 unicode-range 251 src 縦 書 き cssj-writing-mode 文 書 の 書 字 方 向 書 字 方 向 の 混 在 cssj-direction-mode 多 段 組 cssj-column-count cssj-column-width cssj-columns cssj-column-gap cssj-column-rule-color cssj-column-rule-style cssj-column-rule-width cssj-column-rule cssj-column-fill cssj-column-span 改 段 と 改 ページ 268 自 動 的 な 改 段 と 改 ページ 268 強 制 的 な 改 段 と 改 ページ バーコード QRコード バーコードの 表 示 ISBNバーコード QRコード 270 version 271 ecc 271 encmode 271 module-width 271 quiet-zone MathML 資 料 集 入 出 力 プロパティ 一 覧 文 書 中 で 設 定 できないプロパティ 機 能 限 定 版 メッセージハンドラから 取 得 できる 情 報 Copper PDF 2.0 以 前 (CTIP 1.0) 288 xiii

14 5.2.2 Copper PDF 2.1 以 降 (CTIP 2.0) 288 メッセージコードのフィルタリング[3.0.0] CSSプロパティのサポート 状 況 HTMLの 各 要 素 属 性 のサポート 状 況 拡 張 機 能 処 理 命 令 の 拡 張 CSSプロパティの 拡 張 300 CSSプロパティ 300 CSS 関 数 305 CSS 識 別 子 306 CSSルール XMLの 拡 張 306 XML 要 素 307 XML 属 性 307 xiv

15 1.Copper PDF 入 門 1.Copper PDF 入 門 1.1 Copper PDFの 概 要 Copper PDFとは Copper PDFはHTML+CSSをはじめとする 文 書 をサーバー 側 でレイアウトしてPDF 等 に 変 換 する ドキュメント 変 換 サーバーです HTML, CSSをはじめ XHTML, XML, SVG, XSLTといったウェブ 向 けの 標 準 規 格 に 対 応 しています また JPEG, PNG 等 の 画 像 を 読 み 込 んでPDFに 変 換 することができます PDF 以 外 の 各 種 画 像 フォーマットへの 変 換 も 可 能 です Copper PDFは100% Javaアプリケーションです Java 実 行 環 境 がサポートされている Windows, Linux, Solaris, MacOS, FreeBSD など 様 々なOS 上 で 実 行 可 能 です ウェブアプリケーションの 開 発 言 語 として 一 般 的 なJava, Perl, PHP, C#, VB.NETをはじ めとするプログラミング 言 語 向 けに 使 いやすく 高 機 能 なオブジェクト 指 向 APIを 用 意 しています PDFのもととなるHTMLの 出 力 は 普 通 のウェブアプリケーションを 開 発 す る 場 合 と 同 じであり JSP, Smarty, TemplateToolkit, ASP.NETのようなテンプレートエン ジンも 利 用 することができます 各 プログラミング 言 語 からCopper PDFへ ネットワー クを 介 してアクセスする 仕 組 みなので アプリケーション 側 はJava 実 行 環 境 を 必 要 とせ ず また 負 荷 分 散 によって 非 常 に 高 負 荷 が 予 想 されるシステムにも 対 応 可 能 です HTTP/HTTPSによる 接 続 をサポートしており[2.1.0] Ruby, Python, 4th Dimension 等 HTTPクライアントを 利 用 できる 各 種 開 発 環 境 からも 容 易 に 利 用 することができます 1.1 Copper PDFの 概 要 1

16 1.Copper PDF 入 門 図 1.1 システムの 構 成 例 なぜCopper PDFが 必 要 か 例 えば ネット 上 でクーポンやチケットのようなものを 印 刷 させるために 印 刷 専 用 ページを 用 意 し 各 自 のブラウザで 印 刷 していただくとします しかし ほとんどのブ ラウザが 標 準 に 準 拠 するようになったと 言 っても 各 ブラウザで 完 全 に 同 じ 表 示 を 実 現 することは レイアウトが 複 雑 になればなるほど 難 しくなります その 点 サーバー 側 でPDFに 変 換 してしまえば 完 全 に 同 じ 表 示 を 保 障 することができます また PDFでは 暗 号 化 やファイル 添 付 等 のHTMLにはない 機 能 が 利 用 できます サードパーティーの 製 品 を 使 うことにより PDFに 著 作 権 管 理 やタイムスタンプを 付 与 することができます PDFを 動 的 に 出 力 するためのソフトウェアとしては 各 種 帳 票 出 力 ソフトウェアがあり ます しかし それらはレイアウトを 決 めるためにプログラミングが 必 要 であったり 独 自 の 帳 票 デザインツールが 必 要 であるため それらの 使 い 方 を 学 習 する 必 要 がありま す しかも 各 メーカーで 共 通 化 されていないため 別 の 会 社 の 製 品 を 使 おうと 思 った ら また 使 い 方 を 学 習 しなおす 必 要 があります また 全 般 的 に 複 数 ページにわたるPDF の 出 力 は 面 倒 です しかし HTML+CSSによるレイアウトであれば 既 にウェブで 広 く 使 われているため 開 発 者 が 新 しく 学 習 することは 最 小 限 で 済 みます HTML+CSSは 従 来 は 限 られたレイアウトしか 実 現 できませんでしたが 近 年 は 十 分 に 印 刷 にも 利 用 でき るほど 高 機 能 になりました HTML+CSSからPDFを 出 力 することは ウェブブラウザの 印 刷 機 能 を 使 っても 可 能 です しかし 普 及 しているウェブブラウザは 画 面 でスクロールさせて 見 ることを 主 目 的 にしており 印 刷 への 対 応 は 十 分 ではありません 例 えば 予 期 しないところで 途 切 れ てしまったり 画 面 表 示 では 実 現 できていた 表 示 が 印 刷 ではできなかったりといったこ とが 起 こります また 数 千 ページにおよぶ 文 書 を 印 刷 しようとすると 一 般 的 なブラ ウザは 非 常 にメモリを 消 費 し 動 作 が 重 くなるか 最 悪 の 場 合 はクラッシュしてしまう でしょう Copper PDFは 独 自 の 設 計 により 理 論 的 にはほぼ 無 制 限 の 大 きさの 文 書 を 一 定 のメモリ 使 用 量 でPDFに 変 換 することができます Copper PDFの 概 要

17 1.Copper PDF 入 門 冊 子 では 目 次 の 生 成 ページ 番 号 の 付 与 が 必 要 であり 特 に 日 本 語 圏 では 日 本 語 特 有 の 禁 則 処 理 両 合 わせ 縦 組 ルビへの 対 応 が 必 須 と 言 えます Copper PDFはこれらの 機 能 を 独 自 にサポートしています 1.1 Copper PDFの 概 要 3

18 1.Copper PDF 入 門 1.2 動 作 環 境 Copper PDFは サーバーと プログラミングインターフェース(API) が 別 々に 動 作 しま す ユーザーが 開 発 したアプリケーションからはAPIを 利 用 してサーバーにアクセスし ます アプリケーションはサーバーと 同 一 のマシン 上 でも 別 のマシン 上 でも 構 いませ ん サーバーを 動 作 させるためのマシンにはJavaが 必 須 ですが アプリケーション 側 に Javaは 必 須 ではありません サーバー Copper PDFサーバーにはコマンドラインから 直 接 PDF 変 換 できるインターフェースと ウェブインターフェースが 付 属 しています copperd(copper PDFサーバー) copper(コマンドラインインターフェース) copperwebapp(ウェブインターフェース)の 実 行 には 最 低 限 以 下 の 環 境 が 必 要 です copper Ant タスクの 実 行 にも 同 様 の 環 境 が 必 要 です Copper PDF 2.1.0からはtranscode Antタスク の 使 用 を 推 奨 します Java JRE( 国 際 化 対 応 版 )/JDK バージョン 5.0, MB 以 上 の 空 きメモリ 50MB 以 上 の 空 きディスクスペース Copper PDF 2.1.x までは JDK1.4.2 でも 動 作 します 以 下 の 環 境 を 推 奨 します Java JDK バージョン 5.0, 6.0 1GB 以 上 の 空 きメモリ 2GB 以 上 の 空 きディスクスペース 以 下 のOS 上 での 動 作 を 確 認 しています Windows 2000/XP/Vista/7 Red Hat Enterprise Linux(RHEL) 4/5 Debian 4.0 "etch"/5.0 "lenny" Solaris 10 MacOS X FreeBSD 7/8 ウェブインターフェースには 以 下 のブラウザとAdobe Reader 等 のPDFを 表 示 できるソフ トウェア 必 要 です Firefox 2 以 降 Internet Explorer 7 以 降 動 作 環 境

19 1.Copper PDF 入 門 Google Chrome 2 以 降 Safari 4 以 降 プログラミングインターフェース(API) Copper PDFを 利 用 するアプリケーションの 開 発 に 使 用 する 各 プログラミング 言 語 向 け のドライバはCopper PDF 本 体 とは 別 に 配 布 しています Copper PDF 2.1.0からは より 強 力 なプログラミングインターフェース(CTIP 2.0)と HTTP/RESTインターフェースがサポートされました HTTP/RESTインターフェース は 各 開 発 環 境 から 利 用 することができます 旧 インターフェース(CTIP 1.0) Java ドライバ Java バージョン1.4.2, 5.0, 6.0 Perlドライバ Perl バージョン5.6.1 以 降 PHPドライバ PHP バージョン4.3.0 以 降 またはPHP バージョン5.0.0 以 降 新 インターフェース(CTIP 2.0) Java ドライバ / transcode Antタスク Java バージョン 5.0, 6.0[2.1.0] Javaドライバ 2.0.x までは JDK1.4.2 でも 動 作 します Perlドライバ Perl バージョン5.6.1 以 降 [2.1.0] File::Temp モジュール IO::Socket::SSL (SSL 接 続 をする 場 合 ) 1.2 動 作 環 境 5

20 1.Copper PDF 入 門 PHPドライバ PHP バージョン5.2.0 以 降 [2.1.0].NETドライバ.NET Framework 2.0 以 降 [2.1.0] HTTP / RESTインターフェース 各 種 開 発 環 境 ( 環 境 非 依 存 )[2.1.0] 動 作 環 境

21 1.Copper PDF 入 門 1.3 機 能 一 覧 入 力 データ 形 式 ドキュメント HTML/XHTML (174ページ) - HTML/XHTML 文 書 をレイアウトします XML (174ページ) - XML 文 書 をレイアウトします SVG (177ページ) - SVGを 直 接 PDF 等 のデータ 形 式 に 変 換 します[2.1.0] GIF/PNG (176ページ) JPEG (177ページ) その 他 Java 実 行 環 境 が 対 応 可 能 な 画 像 形 式 (176ページ) - 画 像 を 直 接 PDF 等 のデータ 形 式 に 変 換 します[2.1.0] EPUB (178ページ)[3.1.0] スタイルシート CSS 2.1 (201ページ) - HTML/XHTML/XML 文 書 をCSSでスタイル 付 けします XSLT (176ページ) - XML 文 書 をXSLTで 変 換 します メディアタイプの 設 定 (201ページ) - 印 刷 向 け 以 外 のスタイルシートを 適 用 します ユーザーのCSSスタイルシート (205ページ) ユーザーのXSLTスタイルシート (176ページ) (249ページ)[3.0.0] - ネットワーク 上 からTrueType フォント OTF WOFF[3.1.0]を 読 み 込 めます 縦 書 き (253ページ)[3.0.0] - 縦 書 きレイアウトをサポートしています 段 組 み (263ページ)[3.0.0] - 多 段 組 をサポートしています ルビ (199ページ)[3.0.0] 禁 則 文 字 の 追 加 除 外 (210ページ)[3.0.6] 圏 点 (214ページ)[3.0.4] 文 字 の 影 (218ページ)[3.0.8] 袋 文 字 (219ページ)[3.0.8] 透 明 化 (222ページ)[3.0.6] 角 丸 境 界 (224ページ)[3.0.6] 回 転 拡 大 変 形 (227ページ)[3.0.8] ベクター 画 像 データ SVG (177ページ) - 文 書 中 にSVG 形 式 の 絵 図 を 埋 め 込 みます 1.3 機 能 一 覧 7

22 1.Copper PDF 入 門 ラスター(ビットマップ) 画 像 データ 文 書 中 に 画 像 を 埋 め 込 みます GIF/PNG (176ページ) JPEG (177ページ) - JPEGをそのままPDF 中 に 埋 め 込 むことができます その 他 Java 実 行 環 境 が 対 応 可 能 な 画 像 形 式 (176ページ) - JPEG2000 等 最 新 の 画 像 形 式 にも 対 応 可 能 です PDF 出 力 レイアウト 結 果 をPDFとして 出 力 します PDFバージョン1.2から1.7に 対 応 (179ページ) - 各 バージョンのPDFに 対 応 した 出 力 結 果 が 得 られます PDF/A-1bに 準 拠 したファイルの 出 力 (186ページ)[2.1.0] 画 面 表 示 / 印 刷 時 で 表 示 制 御 が 可 能 なすかし (183ページ)[2.1.8] PDFの 圧 縮 の 設 定 ( 無 圧 縮 /Flate 圧 縮 /ASCIIテキスト) (181ページ) 画 像 の 圧 縮 ( 可 逆 圧 縮 /JPEG/JPEG2000) (181ページ) 添 付 ファイル (181ページ) - PDFに 別 のファイルを 添 付 します ブックマーク (195ページ) - HTMLの 見 出 し(H1~H6)からブックマーク(しおり)を 生 成 します 暗 号 化 (179ページ) - 40~128ビットの 暗 号 化 に 対 応 しています パスワード パーミッションの 指 定 (179ページ) - 暗 号 化 したPDFにパスワードと 利 用 制 限 をかけることができます ハイパーリンク (197ページ) - HTMLのリンク(Aタグ)をPDFにも 適 用 します 文 書 内 リンク (197ページ) - PDFにリンクを 反 映 する 他 ページ 番 号 を 出 力 できます メタ 情 報 ( 文 書 タイトル Creator CreationDate 等 )の 設 定 (175ページ) CreationDate, ModDate, ファイルIDの 設 定 (182ページ) ViewerPreferencesの 設 定 (186ページ)[3.0.2/2.1.11] オープン 時 に 実 行 されるJavaScriptの 設 定 (186ページ)[3.0.2/2.1.11] 画 像 出 力 各 ページを 画 像 として 出 力 します JPEG/PNG (187ページ) その 他 Java 実 行 環 境 が 対 応 可 能 な 画 像 形 式 (176ページ) - JPEG2000 等 最 新 の 画 像 形 式 にも 対 応 可 能 です 画 像 出 力 時 の 解 像 度 設 定 (187ページ) - 任 意 の 解 像 度 で 画 像 を 出 力 できます SVG (187ページ)[3.0.1] 機 能 一 覧

23 1.Copper PDF 入 門 フォント 関 連 機 能 CID-Keyedフォント (51ページ) - フォントファイルを 埋 め 込 まず 大 抵 の 環 境 で 見 る ことができるPDFを 出 力 できます 外 部 (CID Identity)フォント (51ページ) - 特 定 の 環 境 に 依 存 した フォントを 埋 め 込 ま ないPDFを 出 力 できます 埋 め 込 みフォント (44ページ) - 環 境 に 依 存 しないPDFを 出 力 するために TrueType, OpenType 等 のフォントを 埋 め 込 みます デフォルトのフォントの 設 定 (46ページ) フォント 幅 情 報 MSフォントの 使 用 (53ページ) Unicodeサロゲートペア[3.1.0] HTTP 接 続 Copper PDFが 外 部 のサーバーからHTTP 接 続 で 文 書 を 取 得 する 機 能 です タイムアウトの 設 定 (169ページ) ヘッダ(Referer, User-Agent 等 )の 変 更 (167ページ) - 参 照 元 やUser-Agentを 偽 装 するこ とができます プロクシを 介 した 接 続 (167ページ) BASIC 認 証 /Digest 認 証 (166ページ) クッキー (168ページ) 印 刷 サポート 用 紙 サイズ 出 力 サイズの 設 定 (230ページ) ページの 拡 大 縮 小 変 形 (230ページ) トンボの 出 力 (230ページ) - 断 裁 して 製 本 するためのトンボを 表 示 します 欄 外 の 描 画 (232ページ) ページのマージン (230ページ) 片 面 印 刷 両 面 印 刷 の 切 り 替 え (233ページ) グレイスケール 変 換 (233ページ) - カラーの 文 書 をモノトーンに 変 換 します 目 次 ページ 参 照 2パス 以 上 の 処 理 (232ページ) - 目 次 やページ 参 照 のために 文 書 を 複 数 回 処 理 できま す 欄 外 のページ 番 号 見 出 し(234ページ) - 欄 外 にページ 番 号 や 見 出 しを 出 力 します 目 次 の 生 成 (195ページ) - HTMLの 見 出 し(H1~H6)から 目 次 を 生 成 します ページの 参 照 (233ページ) - 文 書 中 の 指 定 した 部 分 のページ 番 号 を 出 力 できます 1.3 機 能 一 覧 9

24 1.Copper PDF 入 門 プログラムインターフェース Copper PDF 2.0 以 前 Java (74ページ) PHP (83ページ) Perl (79ページ) Ant (87ページ) 処 理 中 のページ 内 容 の 取 得 (65ページ) 処 理 状 況 の 取 得 (65ページ) Copper PDF 2.1 以 降 Java (JRuby, Jython) (94ページ) PHP (119ページ) Perl (112ページ).NET (C# / VB.NET) (125ページ) Ruby (135ページ) Python (141ページ) Ant (148ページ) 処 理 中 のページ 内 容 の 取 得 (ページ) 処 理 状 況 の 取 得 (ページ) サーバーからリソースを 要 求 (ページ) HTTP/REST (152ページ) (Apache 経 由 での 接 続 (40ページ) / Ruby (155ページ) / Python (157ページ) / C# (158ページ) / ASP.NET (C# / VB.NET) (160ページ) / 4th Dimension (162 ページ)) その 他 の 機 能 MathML (272ページ) - 文 書 中 にMathMLによる 数 式 を 埋 め 込 みます [3.1.0] バーコード QRコード (269ページ) - 文 書 中 にバーコード QRコードを 埋 め 込 みま す [3.1.0] 改 ページをせずに 文 書 を 出 力 する (232ページ) 解 像 度 (pxの 大 きさ)の 設 定 (206ページ) IE 互 換 モード (ページ) - InternetExplorerの 表 示 に 近 いレイアウトモードです 出 力 データサイズ 制 限 (170ページ) - DoS 攻 撃 対 策 等 のため 出 力 サイズを 制 限 できま す ページ 数 制 限 (170ページ) - DoS 攻 撃 対 策 等 のため 出 力 ページ 数 を 制 限 できます 実 行 経 過 情 報 取 得 (288ページ) - リアルタイムで 文 書 の 変 換 状 況 をアプリケーション が 取 得 できます 機 能 一 覧

25 1.Copper PDF 入 門 1.4 とりあえず 使 ってみよう Copper PDFのインストール Copper PDFは 様 々なOS(Windows, MacOS X, Linuxなど)で 動 かすことができます 例 えばWindowsで 動 かしてみましょう Copper PDFはJava(JDK)を 必 要 とします また Copper PDFが 出 力 したPDFを 見 るためにはAdobe Readerが 必 要 です お 手 元 の 環 境 に 入 っていない 場 合 は それぞれ 以 下 のアドレスからダウンロードしてインストールして 下 さい 進 んでください) (Adobe Reader) (Download JDK へ 以 下 のアドレスから Windows 用 ZIPアーカイブ をダウンロードしてください これ がWindows 版 のCopper PDFの 本 体 です 図 1.2 copper-webappの 起 動 ZIPファイルを 展 開 し CopperPDFディレクトリ 内 のcopper-webapp.exe をダブルクリッ クして 実 行 してください ブラウザが 起 動 し Copper WEBAPP というタイトルのページ が 開 きます これでCopper PDFが 無 事 に 動 作 しました 1.4 とりあえず 使 ってみよう 11

26 1.Copper PDF 入 門 図 1.3 Copper WEBAPPの 初 期 画 面 ウェブインターフェースでHTMLを 変 換 する とりあえず 何 か 表 示 させてみましょう 例 えば 上 部 の 入 力 欄 にhttp://ja.wikipedia.org/ (Wikipediaのアドレス)を 入 力 し 読 込 ボタンを 押 してください しばらく 待 つと ウィ キペディアのトップページがPDF 化 されて ブラウザ 内 に 表 示 されます とりあえず 使 ってみよう

27 1.Copper PDF 入 門 図 1.4 ウェブページの 変 換 結 果 同 じように (XSLT 2.0の 仕 様 書 )を 読 み 込 んでみてくださ い みるみるうちに300ページを 超 える 仕 様 書 のPDFが 生 成 されます このような 大 きな 文 書 でも 高 速 処 理 できることがCopper PDFの 特 徴 です 手 元 のPCの 中 のファイルは 右 側 のファイルツリーから 選 択 して 変 換 することができ ます ドラッグ&ドロップはできませんのでご 注 意 ください Copper WEBAPP を 終 了 させるには 右 上 の 赤 いボタンを 押 してください Copper WEBAPP は Copper PDFでPDF 変 換 するためのHTMLデザインの 補 助 ツールとし てご 利 用 ください コマンドラインアプリケーションでHTMLを 変 換 する Copper PDFは コマンドアプリケーションとしても 動 作 します コマンドライン 上 での 簡 単 な 作 業 や バッチ 処 理 には 便 利 です コマンド プロンプトを 起 動 しCopperPDF ディレクトリに 移 動 して copper を 実 行 してください 例 えXSLT 2.0の 仕 様 書 の 変 換 は 次 のとおりに 行 います 例 1.1 PHPからCopper PDFを 使 う copper -uri -out test.pdf 1.4 とりあえず 使 ってみよう 13

28 1.Copper PDF 入 門 図 1.5 copperの 実 行 しばらくした 後 変 換 結 果 としてtest.pdfというファイルが 生 成 されます プログラムからHTMLを 変 換 する Copper PDFが 真 価 を 発 揮 するのは ここで 説 明 する 他 のプログラムとの 連 携 です プロ グラムから 文 書 の 変 換 を 行 うには あらかじめCopper PDFサーバーを 起 動 した 状 態 にす る 必 要 があります コマンドラインからサーバーブログラム(copperd)を 起 動 するには コマンド プロンプトを 起 動 しCopperPDFディレクトリに 移 動 して copperd -start を 実 行 します とりあえず 使 ってみよう

29 1.Copper PDF 入 門 図 1.6 copperdの 起 動 つぎに ウェブ 開 発 で 広 く 使 われているPHPを 使 ってCopper PDFにアクセスしてみま しょう すでにマシンにPHPがインストールされているか あるいはLANでつながった 他 のマシンにPHPがインストールされている 場 合 は それを 使 って 構 いません copperd は 初 期 設 定 の 状 態 では ローカルマシンだけからアクセスできるようになっています confディレクトリ 内 のaccess.txtを 編 集 して allow 接 続 元 のIPアドレス という 行 を 先 頭 に 加 えて 特 定 のマシンからのアクセスを 許 可 するか あるいは allow * という 行 を 加 えてネットワークからのアクセスを 全 て 許 可 してください(セキュリ ティにご 注 意 ください) Windowsマシンにインストールする 場 合 は 以 下 のアドレスからInstaller をダウンロー ドして インストールしてください Copper PDF のプログラムインターフェースは 本 体 とは 別 に 配 布 されています 以 下 の アドレスから cti-php-2.x.x.zip という 名 前 のファイルをダウンロードしてください 1.4 とりあえず 使 ってみよう 15

30 1.Copper PDF 入 門 展 開 してできたcti-php-2.x.xというディレクトリに 次 の 中 身 のファイルを 保 存 してく ださい( 文 字 コードはシフトJISです) 例 1.2 PHPからCopper PDFを 使 う <?php require_once ('code/cti/drivermanager.php'); //セッションの 開 始 $session = cti_get_session('ctip://localhost:8099/', array('user' => 'user', 'password' => 'kappa')); //ファイル 出 力 $session->set_output_as_file('test.pdf'); // 文 書 の 送 信 $session->start_main('.'); $date = date('y-m-d H:m:s');?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=sjis" /> <title>test</title> </head> <body> <h2>hello World!</h2> ただいまの 時 刻 は<?php echo $date?> </body> </html> <?php $session->end_main(); //セッションの 終 了 $session->close();?> コマンド プロンプトを 起 動 し cti-php-2.x.xディレクトリ 内 で php test.php を 実 行 してください 同 じディレクトリ 内 にtest.pdfというファイルができれば 成 功 で す とりあえず 使 ってみよう

31 1.Copper PDF 入 門 図 1.7 出 力 結 果 1.4 とりあえず 使 ってみよう 17

32 2. 管 理 者 ガイド 2. 管 理 者 ガイド 2.1 セットアップ この 章 ではCopper PDFのセットアップ(インストール) 方 法 について 説 明 します Java 実 行 環 境 のインストール Copper PDFをインストールするためには Java 実 行 環 境 (JREまたはJDK)が 必 要 です Java 実 行 環 境 は 各 OS ベ ン ダ が 配 布 し て い る も の を イ ン ス ト ー ル す る か (Download JDK へ 進 んでください) で 配 布 されているものをインストールしてください 必 要 なJava 実 行 環 境 はバージョン1.5.0 以 降 の 国 際 化 対 応 Java 実 行 環 境 です Java RE (JRE), Java SE(JDK 開 発 環 境 およびサーバー 用 Java VMを 含 むもの)の 両 方 で 動 作 しま すが Java SEを 推 奨 します Copper PDF の 配 布 パッケージ Copper PDF 本 体 は 以 下 のパッケージが 配 布 されています 利 用 する 環 境 に 合 ったパッ ケージをダウンロードしてください (3.x.xの 部 分 はCopper PDFのバージョンにより 異 なります) copper-pdf-3_x_x.zip ZIPアーカイブ copper-pdf-3.x.x-x.noarch.rpm RPMパッケージ copper-pdf_3.x.x_all.deb Debianパッケージ copper-pdf-3.x.x.tar.gz tar.gzアーカイブ Windows 2000/XP/Vista/7 で 配 布 されているZIPアーカイブ copper-pdf-3_x_x.zip を ダウンロードしてください copper-pdf-3_x_x.zipを 展 開 し CopperPDFディレクトリを 適 当 な 場 所 に 配 置 してくださ い アンイストールはCopperPDFディレクトリを 削 除 するだけです セットアップ

33 2. 管 理 者 ガイド Windows 上 でJava6 を 使 用 する 場 合 Copper PDFのサービスを 起 動 しようとすると 以 下 のメッセージが 表 示 されることがあります(Windows2003/2008 Server 上 で 現 象 が 確 認 されています) [174 javajni.c] [error] 指 定 されたモジュールが 見 つかりません この 場 合 jdk1.6.0_x/binディレクトリ 内 のmsvcr71.dllをWindowsのsystem32ディレクトリに コピーすることで 起 動 するようになります 付 属 のプログラムを 使 ってサービスをインストールする この 方 法 では CopperPDFディレクトリまでのファイルパスに 半 角 英 数 字 以 外 の 文 字 (かな 漢 字 など) が 含 まれている 場 合 と Cドライブ 以 外 にある 場 合 はサービ スの 起 動 ができません Cドライブ 直 下 あるいはC:\Program Filesなど 半 角 英 数 字 の 文 字 だけで 構 成 されるファイルパスに 格 納 してください あるいは 後 述 するJava Service Wrapperの 使 用 を 推 奨 します Windows XP 以 前 Windows 版 にはCopper PDFサーバーをサービスとしてインストールするためのバッチ ファイルが 用 意 されています サービスをインストールするには Administrator 権 限 を 持 つユーザーでInstallService.bat(x64 版 JavaVM の 場 合 はInstallService-x64.bat)を 実 行 する だ け で す サ ー ビ ス を 削 除 す る 場 合 は RemoveService.bat(x64 版 JavaVM の 場 合 は RemoveService-x64.bat) を 実 行 してください Windows Vista 以 降 アクセサリの コマンドプロンプト を 管 理 者 で 実 行 し Copper PDFのディレクトリ に 移 動 してからInstallService.bat(x64 版 JavaVM の 場 合 はRemoveService-x64.bat) を 実 行 し てください サービスを 削 除 する 場 合 も 同 様 にRemoveService.bat(x64 版 JavaVM の 場 合 はInstallService-x64.bat)を 実 行 してください 例 2.1 Windows Vista 以 降 でサービスをインストールする C:\>cd [Copper PDFのインストールディレクトリ] C:\[Copper PDFのインストールディレクトリ]>.\InstallService.bat 例 2.2 Windows Vista 以 降 でサービスをインストールする(x64) C:\>cd [Copper PDFのインストールディレクトリ] C:\[Copper PDFのインストールディレクトリ]>.\InstallService-x64.bat 2.1 セットアップ 19

34 2. 管 理 者 ガイド Java Service Wrapperを 使 ってサービスをインストールする[2.1.4] Copper PDFは Java Service Wrapper によるサービスとしてインストールすることがで きます Java Service Wrapperの 全 ての 機 能 を 利 用 し 開 発 元 のタヌキソフトウェア 有 限 会 社 によるサポートを 受 けるためには 別 途 ライセンスの 購 入 が 必 要 です Java Service Wrapperを 使 用 することにより 障 害 発 生 時 の 自 動 復 旧 等 が 可 能 になり より 安 定 して 運 用 することができます Copper PDFをJava Service Wrapperで 動 作 させるためには Java Service Wrapperの 配 布 物 に 含 まれる 内 容 を 次 の 通 りコピーしてください 1. CopperPDF デ ィ レ ク ト リ 直 下 に bin デ ィ レ ク ト リ を 作 り Java Service Wrapper の bin/wrapper.exeをその 中 にコピーする 2. Java Service Wrapperのsrc/bin/InstallApp-NT.bat.in をCopper PDFのbinディレクトリ 内 に InstallCopperPDF-NT.batという 名 前 で 配 置 する 3. Java Service Wrapperのsrc/bin/UninstallApp-NT.bat.in をCopper PDFのbinディレクトリ 内 にUninstallCopperPDF-NT.batという 名 前 で 配 置 する 4. Java Service Wrapperのlib/wrapper.dll, lib/wrapper.jarをcopper PDFのlib 内 にコピーする Java Service Wrapperの 設 定 ファイルは Copper PDFにconf/wrapper.confという 名 前 で 既 に 含 まれています Java Service Wrapperのライセンスを 購 入 した 場 合 は このファイル にライセンスキーの 内 容 を 追 記 してください サービスをインストールする 場 合 は InstallCopperPDF-NT.bat を 実 行 してください 逆 に アンインストールする 場 合 は UninstallCopperPDF-NT.bat を 実 行 してください Windows Vistaでは 必 ず 管 理 者 として 実 行 してください サービスの 起 動 と 停 止 は コ ントロールパネルの 管 理 ツールから 行 ってください サービスの 管 理 と 動 作 状 態 の 確 認 サービスはコントロールパネルの 管 理 ツールから 起 動 停 止 することができます またcopperd.exeの-statusオプションによりサービスの 状 態 を 確 認 することができます セットアップ

35 2. 管 理 者 ガイド 例 2.3 サービスの 動 作 状 態 確 認 C:\>cd [Copper PDFのインストールディレクトリ] C:\[Copper PDFのインストールディレクトリ]>copperd.exe -status * Status Report * [Summary] Uptime:0 days 0 h 0 min 3 s AccessCount:0 [Threads] Total:10 Busy:0 Free:10 Max:50 [Memory] Total:127.06MB Using:3.96MB Free:123.1MB Max: MB Red Hat Enterprise Linux(RHEL) / CentOS RHEL(またはCentOS) 向 けにはRPMパッケージを 配 布 しています RHELでは Java 実 行 環 境 としてjava-(バージョン)-sun が 必 要 です Red Hat Networks のSupplementaryチャンネルからyumでインストールするか Supplement CDに 収 録 されているものをインストールしてください java-(バージョン)-gcj-compatでは 動 作 しません alternatives --config java コマンドでjava-(バージョン)-sunに 切 り 替 えてくだ さい RHELの 代 替 としてCentOSを 使 用 する 場 合 は Oracleのサイト からダウンロードしたRPMを インストールし rpm-i--nodeps copper-pdf-3.x.x-0.noarch.rpm コマンドでインストール してください copper-pdf-3.x.x-0.noarch.rpm をrpmコマンドでインストールしてください アンインス トールの 方 法 は 通 常 のRPMパッケージの 場 合 と 同 じです 例 2.4 RPMパッケージのインストール # sudo rpm -ivh copper-pdf-3.x.x-0.noarch.rpm 例 2.5 RPMパッケージのアンインストール # sudo rpm -e copper-pdf 2.1 セットアップ 21

36 2. 管 理 者 ガイド Copper PDFサーバーの 起 動 停 止 RHELではchkconfigおよびserviceコマンドでCopper PDFサーバーを 管 理 できます Copper PDFサーバーのサービス 名 はcopperdです インストール 直 後 は Copper PDFサー バーの 自 動 起 動 は 無 効 化 されています 例 2.6 copper-pdfの 起 動 # sudo service copperd start 例 2.7 copper-pdfの 動 作 状 態 確 認 # sudo copperd -status 例 2.8 copper-pdfの 停 止 # sudo service copperd stop 例 2.9 copper-pdfの 再 起 動 # sudo service copperd restart 例 2.10 copper-pdfの 自 動 起 動 の 有 効 化 # sudo chkconfig copperd on 例 2.11 copper-pdfの 自 動 起 動 の 無 効 化 # sudo chkconfig copperd off Debian Debian 向 けにはdebパッケージを 配 布 しています Debianでは Java 実 行 環 境 としてsun-java5-jdkまたはsun-java6-jdkが 必 要 です kaffe または java-gcj-compatでは 動 作 しません /etc/apt/sources.listの 各 行 に non-free を 追 加 し sun-java5-jdk ま た は sun-java6-jdk を イ ン ス ト ー ル し update-alternatives --config javaコ マ ン ド で java コ マ ン ド を /usr/lib/jvm/java-1.x.0-sun/jre/bin/java に 切 り 替 えてください 他 の 方 法 でインストールしたJava 実 行 環 境 を 使 う 場 合 は /etc/profile ファイル 等 で JAVA_HOME 環 境 変 数 にJavaのインストールディレクトリのパスを 設 定 してください 例 : export JAVA_HOME=/usr/local/jdk1.6.0_ セットアップ

37 2. 管 理 者 ガイド copper-pdf_3.x.x_all.debをdpkgコマンドでインストールしてください アンインストー ルの 方 法 は 通 常 のdebパッケージの 場 合 と 同 じです 例 2.12 debパッケージのインストール # sudo dpkg -i copper-pdf_2.x.x_all.deb 例 2.13 debパッケージのアンインストール # sudo dpkg -r copper-pdf Copper PDFサーバーの 起 動 停 止 DebianではCopper PDFのサービスは/etc/init.d/copperdとして 配 置 されます インストー ル 直 後 は Copper PDFサーバーの 自 動 起 動 は 無 効 化 された 状 態 です サービスの 管 理 方 法 は 以 下 の 通 り 通 常 のDebianの 手 法 に 従 います 例 2.14 copper-pdfの 起 動 # sudo /etc/init.d/copperd start 例 2.15 copper-pdfの 動 作 状 態 確 認 # sudo copperd -status 例 2.16 copper-pdfの 停 止 # sudo /etc/init.d/copperd stop 例 2.17 copper-pdfの 再 起 動 # sudo /etc/init.d/copperd restart 例 2.18 copper-pdfの 自 動 起 動 の 有 効 化 # sudo update-rc.d /etc/init.d/copperd defaults 例 2.19 copper-pdfの 自 動 起 動 の 無 効 化 # sudo update-rc.d /etc/init.d/copperd remove FreeBSD Java 実 行 環 境 が 必 要 です pkg install openjdkコマンドにより Java 実 行 環 境 をインストー ルしてください copper-pdf-3.x.x.tar.gz を/optディレクトリに 展 開 してください 次 に 展 開 してできた copper-pdf-3.x.xディレクトリを copper-pdfという 名 前 に 変 更 してください 2.1 セットアップ 23

38 2. 管 理 者 ガイド copper-pdfディレクトリ 内 のextras/freebsd/copperdに 起 動 スクリプトの 例 があります こ れを/usr/local/etc/rc.d/copperdにコピーしchmod 555 /usr/local/etc/rc.d/copperdコマンドに より 実 行 権 限 を 付 与 してください Java 実 行 環 境 がopenjdk7の 場 合 は これでセットアップは 完 了 です 他 のJava 実 行 環 境 を 使 う 場 合 は /usr/local/etc/rc.d/copperd.sh を 編 集 し export JAVA_HOME=/usr/local/openjdk7 の 部 分 を 実 際 のJava 実 行 環 境 の 場 所 に 設 定 してくだ さい Copper PDFサーバーの 起 動 停 止 Copper PDFサーバー 起 動 と 停 止 は serviceコマンドにより 行 うことができます 例 2.20 copper-pdfの 起 動 # service copperd start 例 2.21 copper-pdfの 停 止 # service copperd stop その 他 の 環 境 その 他 の 環 境 では tar.gzアーカイブを 使 用 してください copper-pdf-3.x.x.tar.gzを 適 当 なディレクトリに 展 開 してください LinuxあるいはUNIX 系 のOSの 場 合 展 開 してできたディレクトリ 内 のシェルスクリプ ト (copper, copperd, copper-webapp)を 使 用 してください また デーモンをセットアップ するにはextras/redhat/copperdを 編 集 し 16 行 目 でCOPPER_HOME 環 境 変 数 にCopperPDF の 配 置 ディレクトリを 設 定 するようにし 適 切 な 場 所 に 配 置 してください 例 2.22 JAVA_HOME の 設 定 COPPER_HOME=[CopperPDFの 配 置 ディレクトリ] Copper PDFに 付 属 のシェルスクリプトは 環 境 変 数 JAVA_HOME により Javaのインス トールディレクトリを 判 別 します /etc/profile 等 で JAVA_HOME を 適 切 に 設 定 してく ださい 例 2.23 JAVA_HOME の 設 定 export JAVA_HOME=/usr/local/jdk1.6.0_05 JAVA_HOME が 設 定 されていない 場 合 PATH に 加 えられているjavaコマンドが 実 行 さ れます セットアップ

39 2. 管 理 者 ガイド 各 ツールの 実 行 方 法 の 詳 細 はCopper PDFのツール (27ページ)の 解 説 を 参 照 してくださ い アンインストールは 単 にCopperPDFディレクトリを 削 除 するだけです ディレクトリ 構 成 アーカイブ 内 のディレクトリ 構 成 ZIPまたはtar.gzアーカイブを 展 開 すると copper-pdf-3_x_xというディレクトリができま す 各 ツールの 実 行 ファイルは このディレクトリの 直 下 にあります その 他 のディレ クトリ 構 成 は 次 の 通 りです 図 2.8 ディレクトリ 構 成 copper-pdf-3_x_x -- conf 設 定 ディレクトリ `-- profiles プロファイル `-- fonts フォント 設 定 -- docs ドキュメント -- extras アイコン 各 プラットフォーム 向 けのファイル 等 -- legal 付 属 ライブラリのライセンス 文 書 -- jetty サーブレットコンテナ(copper-webapp 用 ) -- lib ライブラリ -- plugins プラグイン[2.1.0] -- logs ログディレクトリ `-- webapp copper-webapp RPMまたはDebianパッケージの 構 成 RPMまたはDebianパッケージでインストールした 場 合 は Copper PDFの 各 コマンドラ インツールは/usr/binと/usr/sbinに 配 置 されます また 他 のディレクトリの 配 置 場 所 は 次 のとおりです 表 2.1 RPM/Debianのディレクトリ 構 成 ディレクトリ lib plugins[2.1.0] docs conf 配 置 場 所 /usr/share/copper-pdf/lib /usr/share/copper-pdf/plugins /usr/share/doc/copper-pdf /etc/copper-pdf (/var/lib/copper-pdf/confにシンボリックリンク) Copper PDF 2.0 系 以 前 では 実 ファイルとシンボリックリンクが 逆 転 しています 2.1 セットアップ 25

40 2. 管 理 者 ガイド ディレクトリ jetty webapp logs 配 置 場 所 /var/lib/copper-pdf/jetty /var/lib/copper-pdf/webapp /var/log/copper-pdf (/var/lib/copper-pdf/logsにシンボリックリンク) /etc/init.d/copperdはcopperユーザーで 実 行 されます ファイルの 読 み 書 きが 行 われる /usr/share/copper-pdf/conf/profiles, /var/log/copper-pdf の 各 ディレクトリはcopperユーザー の 所 有 となります ライセンスキー ファイルの 配 置 Copper PDFは そのままでは 機 能 限 定 版 (286ページ)として 動 作 します Copper PDFを 使 用 するためには ライセンスキー ファイルをlicense-keyという 名 前 で conf デ ィ レ ク ト リ に 配 置 す る 必 要 が あ り ま す ラ イ セ ン ス キ ー は 購 入 してください 全 ての 機 能 を 試 用 する 場 合 は で 試 用 ライセンスキーを 取 得 してください 旧 バージョンからのアップデート confディレクトリ 内 の 各 種 設 定 は 上 位 互 換 です 過 去 のバージョンの 設 定 は 新 しい バージョンで 常 に 動 作 します RPMパッケージまたはdebパッケージは それぞれ 通 常 の 方 法 でアップデートしてくだ さい 例 2.24 RPMパッケージの 更 新 # sudo rpm -Uvh copper-pdf-3.x.x-0.noarch.rpm 例 2.25 debパッケージの 更 新 # sudo dpkg -i copper-pdf_2.x.x_all.deb その 他 (Windows,.zip,.tar.gzアーカイブ)の 場 合 は 先 にconfディレクトリをバックアッ プし Copper PDFを 再 インストールし confディレクトリをアップデート 前 のものと 置 き 換 えてください セットアップ

41 2. 管 理 者 ガイド 2.2 Copper PDFのツール Copper PDFはプログラムとして 実 行 可 能 なツールで 構 成 されています それぞれの ツールにはLinux/UNIX 系 OS( 拡 張 子 のない 実 行 ファイル), Windows( 拡 張 子 が.exeのも の) 向 けの 実 行 ファイルがあります Linux/UNIX 系 OSでは 次 の 環 境 変 数 が 使 用 されます JAVA_HOME 使 用 するJava 実 行 環 境 のディレクトリ("/usr/java/jdk1.6.0_05" 等 )です 設 定 されていな い 場 合 は 環 境 変 数 PATH の 設 定 により 実 行 できるjavaコマンドの 実 行 環 境 が 使 用 され ます JAVA_OPTS javaの 実 行 オプションです Linux/UNIX 系 OSでメモリの 割 り 当 てを 設 定 する 場 合 はJAVA_OPTS 環 境 変 数 を 設 定 し てください また Java 実 行 環 境 としてJDKを 使 用 する 場 合 は -serverオプションを 付 け ることで サーバー 用 のJavaVM が 使 われるため 若 干 パフォーマンスが 向 上 します JREでは-serverオプションは 使 用 できないことがあるためご 注 意 ください 以 下 の 例 ではメモリの 割 り 当 てを 最 大 1024MBとし -serverオプションをつけて 各 ツー ルを 実 行 します 例 2.26 JAVA_OPTS の 設 定 export JAVA_OPTS="-Xmx1024m -server" Javaコマンドで 直 接 ツールを 実 行 する 方 法 については 各 ツールの 説 明 を 参 照 してくだ さい copper コマンドラインアプリケーションです コマンドラインからCopper PDFの 機 能 を 直 接 利 用 することができます copper-webapp ウェブアプリケーションです ウェブブラウザからローカルマシン 上 のファイルや ウェブ 上 のコンテンツを 変 換 する 簡 単 なウェブアプリケーションが 起 動 します copperd Copper PDFサーバーを 起 動 停 止 あるいは 状 態 を 確 認 します プログラムインター フェースからアクセスするためのパスワードの 設 定 もこのコマンドで 行 います 2.2 Copper PDFのツール 27

42 2. 管 理 者 ガイド copper コマンドラインアプリケーション 形 式 copper [-h -in< 入 力 ファイル> -uri< 入 力 URI> -v][-ie< 入 力 エンコーディ ング>][-if< 入 力 形 式 >][-out < 出 力 ファイル>][-p<プロパティ 名 = 値 >][-pf<プ ロパティファイル>][-pw<パスワード>][-s<サーバーURI>] [-sv] [-u<ユーザー >] 概 要 コマンドラインでドキュメントを 変 換 するアプリケーションです オプション -h, -help -v, -version ヘルプメッセージを 表 示 します コマンドラインアプリケーションのバージョンを 表 示 します -in, --input-file ファイル 入 力 ファイルを 指 定 します -uri, --input-uri URI 入 力 ファイルのURIを 指 定 します -ie, --input-encoding ファイル 入 力 ファイルのキャラクタ エンコーディングを 指 定 します -if, --input-format ファイル 入 力 ファイル 形 式 を 指 定 します デフォルトはtext/htmlです -out, --output-file ファイル 出 力 先 ファイルを 指 定 します -p 名 前 = 値 プロパティを 指 定 します -pf, --properties-file ファイル プロパティファイルを 指 定 します -s, --server URI ドキュメント 変 換 サーバーのURIを 指 定 します[2.1.0] 省 略 するとローカルマシンのラ イブラリ "copper:direct:" を 直 接 使 用 します Copper PDFのツール

43 2. 管 理 者 ガイド Copper PDF 以 前 ではCopper PDFサーバー 付 属 のcopperコマンド では -sには"copper:direct:" 以 外 使 用 できません "ctip://" "http://" 等 で 始 まるURIを 指 定 するには Java 版 ドライバ(2.1.3 以 降 ) 付 属 のcopperコマン ドを 使 用 して 下 さい -u, --user ユーザー 名 認 証 のためのユーザー 名 です[2.1.0] -pw, --password パスワード 認 証 のためのパスワードです[2.1.0] -sv, --server-version ドキュメント 変 換 サーバーのバージョン 情 報 を 表 示 します[2.1.0] 説 明 コマンドラインで 実 行 可 能 なドキュメント 変 換 ツールです ツール 実 行 の 度 にJavaVM とCopper PDFを 起 動 するため プログラムインターフェース を 用 いた 処 理 より 遅 くなります また マニュアルの 作 成 等 複 数 のドキュメントの 一 括 変 換 を 行 う 場 合 は transcode Antタスクを 使 う 方 が 効 率 的 です Linux 版 のcopperおよびcopper-webappは 実 行 ユーザーのホームディレクトリに 置 かれた 設 定 ($HOME/.copper ディレクトリ 内 )を 用 います 詳 細 はprofilesディレクトリの 説 明 を 参 照 してください Copper PDF 以 降 では ネットワーク 越 しに 起 動 中 のサーバーに 接 続 して コマンド を 実 行 することができます -s, -u, -pwで 接 続 情 報 を 指 定 してください ドキュメント 変 換 サーバーのURIの 記 述 方 法 は 接 続 情 報 (91ページ) を 参 照 してください 入 力 について -inオプションが 省 略 された 場 合 は 標 準 入 力 を 使 用 します -inオプションと-uriオプションが 両 方 指 定 された 場 合 -inで 指 定 されたファイルの データが 使 われ ドキュメントのURIは-uriで 指 定 されたものと 見 なします -inオプションだけ 指 定 された 場 合 -inで 指 定 されたファイルのデータが 使 われ ド キュメントのURIはそのファイルのシステムURIとします -uriオプションだけが 指 定 された 場 合 そのURIから 取 得 できるデータが 使 われ ド キュメントのURIも 同 じURIとします このとき-ie, -ifオプションは 無 視 されます 出 力 について -outオプションが 省 略 された 場 合 は 標 準 出 力 を 使 用 します -outオプションが 指 定 された 場 合 は 指 定 されたファイルに 出 力 します 2.2 Copper PDFのツール 29

44 2. 管 理 者 ガイド javaコマンドで 実 行 する 方 法 javaコマンドで 直 接 実 行 するには libディレクトリ 内 のboot.jarを-jarオプションにより 実 行 してください また 以 下 のシステムプロパティを-Dオプションにより 設 定 してく ださい java.awt.headless Java 1.4.2でディスプレイのない 環 境 で 実 行 する 場 合 は"true"を 設 定 してください jp.cssj.boot.lib libディレクトリのパスを 設 定 してください jp.cssj.plugin.lib pluginsディレクトリのパスを 設 定 してください[2.1.0] jp.cssj.boot.main "jp.cssj.driver.cli.main"を 設 定 してください jp.cssj.driver.default default.propertiesファイルのパスを 設 定 してください jp.cssj.copper.config confディレクトリのパスを 設 定 してください copper-webapp ウェブアプリケーション 概 要 ウェブアプリケーションとして 動 作 し ブラウザ 上 でドキュメントを 変 換 するツールで す ウェブページや 静 的 なHTMLファイルを 変 換 してレイアウトを 確 認 するために 用 い ることができます プログラムを 起 動 後 ブラウザでhttp://localhost:8803/ にアクセスすると Copper PDFの ウェブアプリケーションが 利 用 できます なお ブラウザが 実 行 可 能 な 環 境 では プロ グラムの 起 動 後 に 自 動 的 にブラウザが 開 きます Copper PDFのツール

45 2. 管 理 者 ガイド 図 2.9 Copper WEBAPPの 初 期 画 面 Windows, X Window Systemなど GUI 環 境 でcopper-webappを 起 動 すると 以 下 のような 小 さなウィンドウが 表 示 され ブラウザの 起 動 と ツールの 停 止 を 行 うことができま す 図 2.10 copper-webappのウィンドウ javaコマンドで 実 行 する 方 法 javaコマンドで 直 接 実 行 するには jettyディレクトリ 内 のstart.jarを-jarオプションにより 実 行 してください また 以 下 のシステムプロパティを-Dオプションにより 設 定 してく ださい java.awt.headless Java 1.4.2でディスプレイのない 環 境 で 実 行 する 場 合 は"true"を 設 定 してください jetty.home START jettyディレクトリのパスを 設 定 してください jettyディレクトリ 内 のstart.configファイルのパスを 設 定 してください 2.2 Copper PDFのツール 31

46 2. 管 理 者 ガイド jp.cssj.driver.default default.propertiesファイルのパスを 設 定 してください jp.cssj.copper.config confディレクトリのパスを 設 定 してください jp.cssj.webapp.config copper-webappの 設 定 ファイルのパスを 設 定 してください [2.0.1] jp.cssj.plugin.lib pluginsディレクトリのパスを 設 定 してください[2.1.0] copperd ドキュメント 変 換 サーバー 形 式 copperd [-cc< 制 御 コマンド>][-cf<ディレクトリ>][-cp<ポート 番 号 >][-h v][-hp<ポート 番 号 >][-jkp <ポート 番 号 >][-kill] [-p<ポート 番 号 >][-passwd <パスワード>][-skp <キーのパスワード>][-sp<ポート 番 号 >][-ss<キーストアの ファイルパス>][-ssp <キーのパスワード>][-start] [-status] [-stop] [-tkp < キーのパスワード>][-tp<ポート 番 号 >][-ts<キーストアのファイルパス>][-tsp <キーのパスワード>][-user <ユーザー 名 >][-userdel <ユーザー 名 >] 概 要 Copper PDFサーバーの 起 動 停 止 と パスワードの 設 定 ツールです サーバーの 起 動 停 止 はこのコマンドを 使 用 するよりは デーモンあるいはサービスを 使 ったほうが 便 利 です 詳 細 はセットアップドキュメント (18ページ)を 参 照 してくだ さい オプション -h, -help -v, -version -start -stop ヘルプメッセージを 表 示 します Copper PDFサーバーのバージョンを 表 示 します サーバーを 起 動 します サーバーを 停 止 します Copper PDFのツール

47 2. 管 理 者 ガイド -kill -status サーバーを 強 制 停 止 します 動 作 中 のサーバーの 状 態 を 表 示 します -cc, --control-command 制 御 コマンド 文 字 列 制 御 コマンドを 指 定 します -cf, --config ディレクトリ 設 定 ディレクトリを 指 定 します -cp, --control-port ポート 番 号 制 御 ポートを 指 定 します -p, --port ポート 番 号 サービスポートを 指 定 します -passwd パスワード 接 続 パスワードを 変 更 します -user ユーザー 名 追 加 またはパスワードを 変 更 するユーザーです[2.1.0] -userdel ユーザー 名 削 除 するユーザーです[2.1.0] -hp, --http-port ポート 番 号 HTTP/RESTインターフェースを 起 動 するポート 番 号 です[2.1.0] -sp, --https-port ポート 番 号 HTTP/RESTインターフェースをSSLで 起 動 するポート 番 号 です[2.1.0] -jkp, --jk-port ポート 番 号 HTTP/RESTインターフェースをAJP13で 起 動 するポート 番 号 です[2.1.2] -ss, --https-keystore SSLに 使 用 するキーストアのファイルパスです[2.1.0] -ssp, --https-keystorepassword SSLに 使 用 するキーストアのパスワードです[2.1.0] -skp, --https-keypassword SSLに 使 用 するキーのPKCS12パスワードです[2.1.0] -tp, --tls-port ポート 番 号 TLSインターフェースを 起 動 するポート 番 号 です[3.0.0] -ts, --tls-keystore TLSに 使 用 するキーストアのファイルパスです[3.0.0] 2.2 Copper PDFのツール 33

48 2. 管 理 者 ガイド -tsp, --tls-keystorepassword TLSに 使 用 するキーストアのパスワードです[3.0.0] -tkp, --tls-keypassword TLSに 使 用 するキーのPKCS12パスワードです[3.0.0] 説 明 各 プログラミング 言 語 向 けのインターフェースを 利 用 するには ドキュメント 変 換 サー バーを 常 駐 させる 必 要 があります また ドキュメント 変 換 サーバーへはネットワーク を 介 してアクセスできるため ドキュメント 変 換 サーバーと それを 利 用 するアプリ ケーションを 別 々のマシン 上 で 動 かすことができます copperdの 設 定 ファイルはcopperd.propertiesです サービスポート(-p) 制 御 ポート(-cp) 制 御 コマンド(-cc) はデフォルトでは 設 定 ファイルのものが 使 われ Copper PDF 以 降 ではHTTPポート(-hp) SSLポート(-hs)とSSLに 使 用 するサーバー キーの 情 報 (-ss, -ssp, skp)を 設 定 可 能 です SSLに 使 用 するサーバーキーの 設 定 方 法 は SSLの 設 定 (38ページ)を 参 照 してください Copper PDF 以 降 ではAJP13ポート(-jkp)を 設 定 可 能 です 詳 細 はmod_jkの 設 定 (40 ページ)を 参 照 してください 上 記 の 設 定 は デフォルトでは 設 定 ファイルのものが 使 われ オプションは 設 定 ファイ ルによる 設 定 を 上 書 きします サーバーの 停 止 (-stop)および 状 態 の 取 得 (-status)には 制 御 用 ポートと 制 御 用 コマンド を 用 います 起 動 時 (-start)の 設 定 と 実 行 中 のサーバーを 制 御 する 際 の 設 定 は 同 じであ る 必 要 があります -stopコマンドは 現 在 接 続 中 のプログラミングインターフェースの 処 理 が 全 て 完 了 して からサーバーを 停 止 します -killコマンドは 全 ての 処 理 を 強 制 的 に 中 断 してサーバーを 停 止 します copperdにはパスワード 設 定 機 能 (-passwd)があります パスワードファイルは 暗 号 化 さ れており 直 接 編 集 できないため このツールを 利 用 して 編 集 してください Copper PDF 以 降 では-user, -userdelオプションによりユーザーの 追 加 と 削 除 ができます javaコマンドで 実 行 する 方 法 javaコマンドで 直 接 実 行 するには libディレクトリ 内 のboot.jarを-jarオプションにより 実 行 してください また 以 下 のシステムプロパティを-Dオプションにより 設 定 してく ださい java.awt.headless Java 1.4.2でディスプレイのない 環 境 で 実 行 する 場 合 は"true"を 設 定 してください Copper PDFのツール

49 2. 管 理 者 ガイド user.home logsディレクトリが 置 かれているディレクトリのパスを 設 定 してください java.util.logging.config.file logging.propertiesファイルのパスを 設 定 してください jp.cssj.boot.lib libディレクトリのパスを 設 定 してください jp.cssj.plugin.lib pluginsディレクトリのパスを 設 定 してください[2.1.0] jp.cssj.boot.main "jp.cssj.copper.main"を 設 定 してください jp.cssj.driver.default default.propertiesファイルのパスを 設 定 してください jp.cssj.copper.config confディレクトリのパスを 設 定 してください 2.2 Copper PDFのツール 35

50 2. 管 理 者 ガイド 2.3 設 定 ファイル confディレクトリの 構 成 は 次 の 通 りです 図 2.11 設 定 ディレクトリの 構 成 conf -- license-key -- copperd.properties -- logging.properties -- password.txt -- access.txt `-- profiles -- default.properties `-- fonts -- fonts.xml -- truetype -- warrays -- afms -- cmaps `-- encodings confディレクトリの 直 下 には 次 の 設 定 ファイルが 収 められています license-key ライセンスキーファイルです copperd.properties Copper PDFサーバーの 動 作 設 定 です logging.properties ログの 設 定 です password.txt パスワードの 設 定 です 編 集 にはcopperdコマンドを 使 ってください access.txt アクセス 制 御 設 定 です また profilesディレクトリ 内 には 次 のファイルがあります default.properties デフォルトの 入 出 力 プロパティです fonts/fonts.xml 使 用 するフォントの 設 定 です 設 定 ファイル

51 2. 管 理 者 ガイド Copper PDFサーバーの 動 作 設 定 (copperd.properties) copperd.propertiesはcopper PDFサーバー(copperd)の 動 作 に 関 する 設 定 です この 設 定 の 変 更 を 反 映 するにはCopper PDFサーバーの 再 起 動 が 必 要 です ファイルの 形 式 は Javaのプロパティファイル です 各 行 に 名 前 = 値 の 形 式 で 記 述 して ください = 記 号 改 行 はそれぞれ\= \nで 記 述 します \の 次 の 改 行 と 空 白 は 無 視 されま す 例 えば 以 下 の 場 合 key1 の 値 は a=b であり key2 の 値 は a, b, c, d, e, f です 例 2.27 propertiesファイルの 記 述 例 key1 = key2 = a\=b a, b, c,\ d, e, f propertiesファイルには 日 本 語 のカナ 漢 字 等 をそのまま 記 述 できません 日 本 語 を 含 むpropertiesファイルは Javaに 付 属 の native2ascii ツールにより マルチバイト 文 字 をエ スケープした 形 式 に 変 換 してください 各 プロパティの 説 明 は 以 下 の 通 りです 表 2.2 copperd.propertiesのプロパティ 一 覧 プロパティ jp.cssj.cssjd.port jp.cssj.cssjd.control-port jp.cssj.cssjd.control-command jp.cssj.cssjd.timeout jp.cssj.cssjd.minthreads 説 明 サービスポートです このポート 番 号 がプログラムインターフェースの 接 続 先 のポート 番 号 となります 制 御 用 ポートです サーバーの 状 態 の 取 得 や 停 止 のためにこのポー トを 使 います このポートへのlocalhost 以 外 からのアクセスはブ ロックされます 制 御 用 コマンドです 制 御 用 ポートからアクセスする 場 合 の 合 言 葉 のようなものです 通 常 は 変 更 する 必 要 はありません 接 続 タイムアウト( 秒 数 )です プログラムインターフェースとの 間 で 指 定 された 時 間 データがや りとりされなかった 場 合 接 続 を 切 断 します 最 小 スレッド 数 です プログラムインターフェースの 接 続 を 待 ち 受 けるために 準 備 して おく 最 小 限 のスレッド 数 です 高 負 荷 が 予 想 される 状 況 では 大 き めの 値 を 設 定 しておくと 処 理 が 効 率 化 しますが 使 用 するメモリ は 増 大 します 2.3 設 定 ファイル 37

52 2. 管 理 者 ガイド プロパティ jp.cssj.cssjd.maxthreads jp.cssj.cssjd.backlog jp.cssj.cssjd.http.port jp.cssj.cssjd.https.port jp.cssj.cssjd.jk.port jp.cssj.cssjd.https.keystore jp.cssj.cssjd.https.keypassword jp.cssj.cssjd.https.keystorepassword jp.cssj.cssjd.tls.port jp.cssj.cssjd.tls.keystore jp.cssj.cssjd.tls.keypassword jp.cssj.cssjd.tls.keystorepassword 説 明 最 大 スレッド 数 です copperdが 同 時 に 処 理 できるプログラムインターフェースからの 接 続 の 最 大 数 です 高 負 荷 が 予 想 され なおかつシステムのリソース に 余 裕 がある 場 合 は 大 きな 値 を 設 定 するのが 有 効 ですが リソー スに 余 裕 がない 環 境 では 大 きな 値 を 設 定 することで 逆 に 非 効 率 に なることがあります 接 続 のバックログ 数 です 未 処 理 の 接 続 がこの 数 を 超 えた 場 合 処 理 に 空 きができるまで 以 降 の 接 続 は 拒 否 します HTTPポート 番 号 です 指 定 したポートで HTTP/RESTインターフェースを 起 動 します [2.1.0] SSL(HTTPS)ポート 番 号 です 指 定 したポートで SSLでHTTP/RESTインターフェースを 起 動 しま す[2.1.0] AJP13ポート 番 号 です 指 定 したポートで AJP13でHTTP/RESTインターフェースを 起 動 し ます[2.1.2] Apacheのmod_jkまたはmod_proxyによるAJP13での 接 続 が 可 能 になります SSLに 使 用 するキーストアのファイルパスです[2.1.0] SSLに 使 用 するキーのPKCS12パスワードです[2.1.0] SSLに 使 用 するキーストアのパスワードです[2.1.0] TLSポート 番 号 です 指 定 したポートで TLSによるプログラムインターフェースを 起 動 します[3.0.0] TLSに 使 用 するキーストアのファイルパスです[3.0.0] TLSに 使 用 するキーのPKCS12パスワードです[3.0.0] TLSに 使 用 するキーストアのパスワードです[3.0.0] SSL/TLSの 設 定 Copper PDFは 高 速 な 独 自 の 通 信 プロトコル(CTIP)の 他 Copper PDF 2.1.0からはHTTPに よる 接 続 をサポートしました さらに SSL(HTTPS)による 暗 号 化 された 接 続 も 可 能 で す Copper PDF 3.0.0からはTLSによる 暗 号 化 された 高 速 な 接 続 をサポートしました 設 定 ファイル

53 2. 管 理 者 ガイド SSLを 有 効 にするためには キーペアを 用 意 してください 以 下 はOpenSSLとJDK 付 属 のkeytoolを 使 用 する 方 法 です 秘 密 鍵 とCSRを 用 意 する 以 下 のコマンドで 秘 密 鍵 とCSR( 証 明 書 署 名 要 求 )を 生 成 してください パスフレーズは 任 意 に 設 定 して 構 いません 例 2.28 秘 密 鍵 の 生 成 openssl genrsa -des3 -out ssl.key 1024 例 2.29 CSRの 生 成 openssl req -new -key ssl.key -out ssl.csr サイト 証 明 書 を 用 意 する サイト 証 明 書 は 前 に 生 成 したCSRを 認 証 局 に 送 付 することで 入 手 することができます が テストや 単 に 通 信 の 暗 号 化 の 目 的 であれば 自 己 署 名 によるサイト 証 明 書 を 使 用 す ることができます 以 下 のコマンドでサイト 証 明 書 を 生 成 してください 例 2.30 自 己 署 名 によるサイト 証 明 書 の 生 成 openssl x509 -in ssl.csr -out ssl.crt -req -signkey ssl.key -days 3650 秘 密 鍵 とサイト 証 明 書 をキーストアに 格 納 する 秘 密 鍵 とサイト 証 明 書 を 利 用 するには JDK 付 属 のkeytoolによって 管 理 されるキースト アファイルに 格 納 する 必 要 があります 最 初 に 以 下 のコマンドで 秘 密 鍵 とサイト 証 明 書 のペアをPKCS12 形 式 のファイルにまとめてください このとき 設 定 するパスワー ドがPKCS12パスワードです 例 2.31 PKCS12キーペアを 生 成 openssl pkcs12 -inkey ssl.key -in ssl.crt -export -out ssl.pkcs12 次 に PKCS12ファイルをキーストアに 格 納 してください このとき キーストアのパス ワードを 設 定 します 例 2.32 PKCS12キーペアをキーストアに 格 納 keytool -importkeystore -srckeystore ssl.pkcs12 -srcstoretype PKCS12 -destkeystore keystore 2.3 設 定 ファイル 39

54 2. 管 理 者 ガイド 以 上 の 手 順 で 生 成 したキーをCopper PDFサーバーのSSL/TLS 通 信 に 使 用 する 場 合 は 設 定 ファイルまたはコマンドラインオプションでキーストアファイルのファイルパスと PKCS12パスワード キーストアのパスワードを 設 定 してください Apacheを 通 しての 接 続 Copper PDF 2.1.2からは Apacheからmod_proxy_ajpまたはmod_jkによる 接 続 ができるよ うに AJP13をサポートしました AJP13により Apacheにより 公 開 されているドメイ ン ポート 上 にCopper PDFのHTTP/RESTインターフェースへの 窓 口 を 設 けることがで きます また SSL 通 信 にApacheを 利 用 することができます AJP13によるマウントポイントは 任 意 のパスに 設 定 することができます 以 下 の 例 は Copper PDF が localhost の 8095 ポ ー ト で AJP13 を 起 動 し て い る 場 合 に /cti/ パ ス で HTTP/RESTインターフェースを 使 用 可 能 にするApache 側 の 設 定 例 です 例 2.33 mod_proxy_ajpの 設 定 <Proxy *> Order deny,allow Allow from all </Proxy> <Location /cti/> ProxyPass ajp:// :8095/ </Location> 例 2.34 mod_jkの 設 定 JkWorkerProperty worker.list=copper JkWorkerProperty worker.copper.type=ajp13 JkWorkerProperty worker.copper.host= JkWorkerProperty worker.copper.port=8095 JkLogFile /var/log/httpd/jk.log JkLogLevel info JkMount /cti/* copper ログの 設 定 (logging.properties) logging.propertiesはcopper PDFサーバーのログ 設 定 ファイルです この 設 定 の 変 更 を 反 映 す る に は Copper PDF サ ー バ ー の 再 起 動 が 必 要 で す ロ グ 設 定 フ ァ イ ル は java.util.loggingのログプロパティファイル の 形 式 で 記 述 してください 設 定 ファイル

55 2. 管 理 者 ガイド 例 2.35 ログの 設 定 例 # Logging levels by categories. jp.cssj.handlers = jp.cssj.logging.filehandler, \ java.util.logging.consolehandler jp.cssj.level = INFO # File jp.cssj.logging.filehandler.level = INFO jp.cssj.logging.filehandler.formatter = java.util.logging.simpleformatter jp.cssj.logging.filehandler.encoding = UTF-8 # ログを 保 持 する 日 数 を 設 定 する(Copper PDF 以 降 ) jp.cssj.logging.filehandler.backlogs = 365 # Console java.util.logging.consolehandler.level = OFF java.util.logging.consolehandler.formatter = java.util.logging.simpleformatter Copper PDF に は 日 付 で ロ グ を ロ ー テ ー シ ョ ン す る ロ グ ハ ン ド ラ (jp.cssj.logging.filehandler) が 用 意 されています ハンドラのプロパティは 次 のとおりで す 表 2.3 jp.cssj.logging.filehandler のプロパティ 名 前 デフォルト 説 明 jp.cssj.logging.filehandler.directory copperdの 標 準 のlogsディレクト リ ログの 出 力 先 ディレクトリ jp.cssj.logging.filehandler.prefix copperd. ログファイル 名 の 先 頭 の 文 字 列 jp.cssj.logging.filehandler.suffix.log ログファイル 名 の 末 尾 の 文 字 列 jp.cssj.logging.filehandler.level ALL ログレベル jp.cssj.logging.filehandler.filter N/A ログのフィルタ jp.cssj.logging.filehandler.formatter java.util.logging.simpleformatter ログのフォーマッタ jp.cssj.logging.filehandler.encoding jp.cssj.logging.filehandler.backlogs UTF-8 ログファイルを 永 久 に 保 存 する ログファイルのキャラクタエン コーディング 過 去 のログファイルを 保 存 する 日 数 2.3 設 定 ファイル 41

56 2. 管 理 者 ガイド アクセス 制 御 の 設 定 (access.txt) access.txtはipアドレスでアクセスできるクライアントを 制 限 する 設 定 です このファイ ルの 変 更 は 自 動 的 に 検 出 されるため 変 更 後 にCopper PDFサーバーを 再 起 動 する 必 要 は ありません 各 行 のルールを [allow deny] IPアドレス という 形 式 で 記 述 します IPアドレスはIPv4, IPv6のどちらの 形 式 も 使 用 可 能 です allowは 指 定 されたアドレスのアクセスを 許 可 し denyはアクセスを 拒 否 するルールで す クライアントからのアクセスがあった 場 合 は 先 頭 から 順 に 検 索 し 最 初 に 一 致 し たルールが 適 用 されます IPアドレスを * にすると 全 てのクライアントにルールを 適 用 します 例 2.36 アクセス 制 御 の 設 定 例 allow deny * profilesディレクトリ profilesディレクトリ 内 の 設 定 は Copper PDFの 出 力 結 果 に 関 係 するものです デフォル トの 入 出 力 プロパティやフォントの 情 報 が 含 まれます Linux 版 のcopperdおよび Windows 版 の 各 種 ツールはconfディレクトリ 内 のprofilesディ レクトリの 設 定 を 使 用 しますが Linux 版 の copper copper-webapp は 初 回 実 行 時 に 実 行 ユーザーのホームディレクトリに.copperという 名 前 のディレクトリをつくり そこに profilesディレクトリを 作 成 します copper, copper-webappを 使 用 する 各 ユーザーはホー ムディレクトリの 設 定 を 編 集 する 必 要 があります copper-webappの 設 定 ファイルは 初 回 実 行 時 に/WEB-INF/client.propertiesから 各 ユー ザーの$HOME/.copper/webapp.proprtiesにコピーされます [2.0.1] デフォルトの 入 出 力 プロパティ(default.properties) default.propertiesはデフォルトの 入 出 力 プロパティを 設 定 するものです 入 出 力 プロパ ティはcopperコマンドの 引 数 やcopper-webappの 設 定 ウィンドウ プログラムインター フェースによって 上 書 きされます default.propertiesは その 初 期 値 をあらかじめ 設 定 す るものです default.propertiesの 変 更 は 実 行 中 のCopper PDFサーバーにより 自 動 的 に 検 知 されますの で 変 更 の 度 にCopper PDFサーバーを 再 起 動 する 必 要 はありません 設 定 ファイル

57 2. 管 理 者 ガイド ファイルの 形 式 は Javaのプロパティファイル です 各 プロパティは 入 出 力 プロパティ の 節 で 解 説 されていますが 1つだけsystem.fontsという 特 別 なプロパティがあります system.fontsは 後 で 次 に 説 明 するフォント 設 定 ファイルをdefault.propertiesファイルから の 相 対 パスで 指 定 したものです fontsディレクトリ フォント 関 連 の 設 定 です 詳 細 はフォントの 設 定 の 章 で 解 説 します 2.3 設 定 ファイル 43

58 2. 管 理 者 ガイド 2.4 フォントの 設 定 Copper PDFはフォントを 埋 め 込 まないPDFと フォントを 埋 め 込 んだPDFの 両 方 を 出 力 することができます デフォルトではフォントを 埋 め 込 みません また 機 能 限 定 版 ラ イセンスではフォントの 埋 め 込 みはできません フォントを 埋 め 込 まないPDFはサイズ が 小 さくなりますが 表 示 する 環 境 によっては 全 く 意 図 しないフォントが 使 われてし まったり 文 字 化 けが 生 じてしまったり まったく 表 示 できないことがあります 重 要 な 文 書 特 に 同 じ 表 示 が 保 障 される 必 要 がある 場 合 は フォントを 埋 め 込 んでください 埋 め 込 むフォントの 指 定 は Copper PDF を 使 うこともできますが 高 速 に 処 理 させるためには あらかじめ 設 定 しておくことを 推 奨 します フォント 関 連 の 設 定 はprofilesディレクトリ 内 のfontsディレクトリに 含 ま れています まだ デフォルトの 設 定 では ここにフォントファイルも 置 くことになり ます fontsディレクトリ 内 の 構 成 は 次 のとおりです 図 2.12 fontsディレクトリの 構 成 fonts -- fonts.xml -- truetype -- warrays -- afms -- cmaps `-- encodings fonts.xml truetype warrays cmaps afms フォント 設 定 ファイルです Copper PDFが 使 用 するフォントの 設 定 が 記 述 されていま す 出 荷 時 のfonts.xmlの 設 定 では このディレクトリ 内 のフォントファイルを 自 動 的 に 読 み 込 むようになっています 使 用 したいフォントをここにコピー(あるいはシンボリッ クリンク)して 設 定 を 反 映 してください truetypeというディレクトリ 名 はCopper PDF 2.0.2までTrueType フォントしか 使 用 できなかったためで 実 際 はOpenType CFF/Type2 (.otf)フォント WOFF[3.1.0]にも 対 応 しています CID-Keydフォントを 使 用 するために 既 定 のフォントの 幅 情 報 が 配 置 されています CID-KeydフォントのためのCMapファイルが 配 置 されています コアフォントのフォントメトリックス 情 報 がAFM 形 式 で 配 置 されています フォントの 設 定

59 2. 管 理 者 ガイド encodings コアフォントのための 文 字 名 と 各 エンコーディングとの 対 応 表 が 配 置 されています フォント 設 定 の 反 映 Copper PDFはfonts.xmlを 解 析 し フォントへアクセスするための 情 報 をfonts.xmlが 配 置 されているのと 同 じディレクトリに fonts.xml.dbというファイル 名 で 保 存 します Copper PDF は fonts.xml と fonts.xml.db の タ イ ム ス タ ン プ を 比 較 し 異 な っ て い れ ば fonts.xmlを 自 動 的 に 読 み 込 むため fonts.xmlへの 変 更 はすぐに 反 映 されます ただし OSへのフォントのインストールや truetypeディレクトリ 内 におけるフォント ファイルの 追 加 削 除 置 き 換 え 等 を 自 動 検 出 しません 変 更 を 反 映 させるためには fonts.xml.dbファイルを 削 除 してください 動 作 中 のCopper PDFはfonts.xml.dbの 削 除 を 自 動 的 に 検 出 して 設 定 を 再 読 み 込 みします ドキュメント 中 でのフォントの 利 用 ド キ ュ メ ン ト 中 で 使 用 さ れ る フ ォ ン ト を 特 定 す る た め の CSS プ ロ パ テ ィ は font-family [css] (ファミリ 名 ), font-weight [css] ( 太 さ), font-size [css] ( 大 きさ), font-style [css] (スタイル) の4つです(font [css] プロパティでまとめて 指 定 すること もできます) 指 定 されたファミリ 名 太 さ スタイルから 記 述 された 文 字 を 表 記 できる 最 も 近 いフォントが 選 択 されます 該 当 する 太 さのフォントが 見 つからない 場 合 は 機 械 的 に 文 字 の 輪 郭 を 拡 張 して 太 い フォントがつくられます ( 逆 に 指 定 した 太 さより 細 いフォントがない 場 合 機 械 的 に 細 いフォントをつくることはありません 最 も 細 いフォントが 使 われるだけです) また font-style [css] にitalicまたはobliqueが 指 定 されたとき 斜 体 スタイルのフォン トが 見 つからない 場 合 は フォントを 機 械 的 に 傾 けます 同 時 にfont-weight [css] が 指 定 されている 場 合 は 以 下 の 表 のとおり font-style [css] の 指 定 がitalicかobliqueかで 選 択 されるフォントが 異 なることがあります 表 2.4 フォントスタイルの 選 択 条 件 italic 指 定 の 場 合 oblique 指 定 の 場 合 太 さ と ス タ イ ル が 一 致 す る フォントがある 太 さだけ 一 致 するフォントが ある スタイルだけ 一 致 するフォン トがある 太 さとスタイルが 一 致 するフォ ントを 使 用 する 太 さが 一 致 するフォントを 傾 け て 使 用 する スタイルが 一 致 するフォントを 太 くして 使 用 する 太 さとスタイルが 一 致 するフォン トを 使 用 する 太 さが 一 致 するフォントを 傾 けて 使 用 する スタイルが 一 致 するフォントを 太 くして 使 用 する 2.4 フォントの 設 定 45

60 2. 管 理 者 ガイド 条 件 italic 指 定 の 場 合 oblique 指 定 の 場 合 太 さだけ 一 致 するフォントと スタイルだけ 一 致 するフォン トがある 太 さ も ス タ イ ル も 一 致 す る フォントがない スタイルが 一 致 するフォントを 太 くして 使 用 する 他 の 条 件 が 一 致 するフォントを 太 くして 傾 けて 使 用 する 太 さが 一 致 するフォントを 傾 けて 使 用 する 他 の 条 件 が 一 致 するフォントを 太 くして 傾 けて 使 用 する デフォルトのフォント ドキュメント 中 でフォントが 指 定 されていない 場 合 あるいは 指 定 されたフォントが 見 つからない 場 合 は output.default-font-family [io] により 設 定 されたフォント が 使 われます これはデフォルトではserif(ローマンあるいは 明 朝 体 )です CMapに 該 当 するコードがない コアフォントにも 該 当 する 文 字 がない かつインス トール 済 みのフォントにも 該 当 する 文 字 がないといった 理 由 で どうしても 表 示 でき ない 文 字 がドキュメント 中 に 記 述 された 場 合 は 代 わりに16 進 数 でユニコードを 表 す 組 文 字 ( のような 文 字 )が 表 示 されます フォントの 種 類 Copper PDFがサポートするフォントには コアフォント CID-Keyed フォント CID Identityフォント 埋 め 込 みフォント の4 種 類 があります コアフォントは 常 に 利 用 可 能 ですが 埋 め 込 みフォント CID Identityフォント CID-Keyedフォントのどれを 利 用 す るかは output.pdf.fonts.policy [io] によって 選 択 されます また Copper PDFの 拡 張 CSSプロパティ -cssj-font-policy [css] によってドキュメント 中 で 指 定 するこ ともできます デフォルトではコアフォントとCID-Keyedフォントだけが 使 われます output.pdf.fonts.policy [io] ま た は -cssj-font-policy [css] に cid-keyed, cididentity, embeddedを 指 定 することで それぞれCID-Keyedフォント CID Identityフォン ト 埋 め 込 みフォントを 切 り 替 えることができます コアフォントは 常 に 使 用 されます が "-core"を 指 定 することで 除 外 することができます[3.0.0] またスペース 区 切 で 複 数 指 定 することも 可 能 です[2.0.1] "embedded cid-keyed"のようにスペース 区 切 りで 複 数 指 定 された 場 合 は 最 初 に 指 定 されたものから 優 先 的 に 使 用 されます[2.0.9] ただし コアフォ ントの 優 先 度 は 常 に 最 低 となります PDF/A-1を 出 力 する 場 合 は 上 記 の 設 定 に 関 わらず 埋 め 込 みフォントだけが 使 われま す[2.1.0] outlinesを 指 定 すると 埋 め 込 みフォントが 使 われ なおかつ 全 てのフォントがアウトラ イン 化 されます [3.1.1] outlines 指 定 はPDF/A-1でも 有 効 です フォントの 設 定

61 2. 管 理 者 ガイド コアフォント コアフォントは ほとんどのPDF 表 示 環 境 が 標 準 的 にサポートしているフォントで フォントの 埋 め 込 みをせずに 表 示 することができます 14 種 類 あることから コア14 フォントとも 呼 ばれます コアフォントはさらにletter( 欧 文 文 字 記 号 だけで 構 成 され るもの) symbol( 欧 文 文 字 記 号 以 外 の 文 字 を 含 むもの)の2 種 類 に 分 けられます 次 の 表 はコアフォントの 一 覧 です 表 2.5 コアフォント 正 式 名 称 略 称 ファミリ 名 太 字 斜 体 種 類 Times Roman Times-Roman Times letter Times Bold Times-Bold Times letter Times Italic Times-Italic Times letter Times Bold Itatdc Times-BoldItalic Times letter Helvetica Helvetica Helvetica letter Helvetica Bold Helvetica-Bold Helvetica letter Helvetica Oblique Helvetica-Oblique Helvetica letter Helvetica Bold Oblique Helvetica-BoldOblique Helvetica letter Courier Courier Courier letter Courier Bold Courier-Bold Courier letter Courier Oblique Courier-Oblique Courier letter Courier Bold Oblique Courier-BoldOblique Courier letter Symbol Symbol Symbol symbol ITC Zapf Dingbats ZapfDingbats ZapfDingbats symbol CSSのfont-family [css] プロパティによるフォントの 指 定 は 正 式 名 称 略 称 ファミ リ 名 の い ず れ で も 可 能 で す フ ァ ミ リ 名 を 使 用 し た 場 合 は font-style [css], font-weight [css] プロパティの 指 定 により 同 じファミリ 名 を 持 つフォントのうち ス タイルと 太 さが 最 も 一 致 するフォントが 自 動 的 に 選 択 されます コアフォントのフォントメトリックス 情 報 ( 文 字 の 幅 などの 情 報 )がAFM(Adobe Font Metrics)ファイルとして fonts/afmsディレクトリに 収 められています これらのファイ ルをユーザーが 変 更 する 必 要 はありません 2.4 フォントの 設 定 47

62 2. 管 理 者 ガイド 各 文 字 とPDF 内 で 使 用 される 文 字 コードとの 対 応 表 が fonts/encodingsディレクトリに 収 められています UNICODE.txtはletterフォントの 文 字 名 とユニコードとの 対 応 表 です symbol.txtとzdingbat.txtはそれぞれsymbol, ITC Zapf Dingbatsのためのユニコード 対 応 表 です これらのファイルをユーザーが 変 更 する 必 要 はありません 以 下 はletterフォントで 使 用 できる 文 字 セット(WinAnsiEncodingエンコーディング)の 文 字 一 覧 表 です それぞれの 文 字 は8ビット(16 進 数 で2 桁 )のユニコードに 対 応 しており 縦 が 上 位 桁 横 が 下 位 桁 です ただし 80から9Fまでのコードで 空 いている 部 分 は 対 応 する 文 字 がないことを 表 し 下 に4 桁 の16 進 数 字 がある 文 字 には 同 じ 文 字 に 対 して2つ のコードがあります 例 えばダブルダガー( )を 表 示 する 場 合 はドキュメント 中 で&#x87;または&#x2021と 表 記 してください 表 2.6 WinAnsiEncodingの 文 字 一 覧 A B C D E F 2! " # $ % & ' ( ) * +, -. / : ; < = >? A B C D E F G H I J K L M N O 5 P Q R S T U V W X Y Z [ \ ] ^ _ 6 ` a b c d e f g h i j k l m n o 7 p q r s t u v w x y z { ~ 8 20AC 201A ƒ E ˆ 02C Š Œ 0152 Ž 017D C 201D DC 2122 š A œ 0153 ž 017E Ÿ 0178 A ª «B ± ² ³ µ ¹ º» ¼ ½ ¾ C À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï D Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß E à á â ã ä å æ ç è é ê ë ì í î ï F ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ フォントの 設 定

63 2. 管 理 者 ガイド 表 2.7 Symbolの 文 字 一 覧 以 下 はSymbolで 使 用 できる 文 字 の 一 覧 です 文 字 の 下 の 数 字 は16 進 ユニコードです A0! # % 0025 & B ( 0028 ) B, 002C E / 002F : 003A ; 003B < 003C = 003D > 003E? 003F 2245 Α 0391 Β 0392 Χ 03A Ε 0395 Φ 03A6 Γ 0393 Η 0397 Ι 0399 ϑ 03D1 Κ 039A Λ 039B Μ 039C Ν 039D Ο 039F Π 03A0 Θ 0398 Ρ 03A1 Σ 03A3 Τ 03A4 Υ 03A5 ς 03C2 Ω 03A Ξ 039E Ψ 03A8 Ζ 0396 [ 005B 2234 ] 005D 22A5 _ 005F F8E5 α 03B1 β 03B2 χ 03C7 δ 03B4 ε 03B5 φ 03C6 γ 03B3 η 03B7 ι 03B9 ϕ 03D5 κ 03BA λ 03BB µ 00B5 03BC ν 03BD ο 03BF π 03C0 θ 03B8 ρ 03C1 σ 03C3 τ 03C4 υ 03C5 ϖ 03D6 ω 03C9 ξ 03BE ψ 03C8 ζ 03B6 { 007B 007C 007D 223C 20AC ϒ 03D E ƒ B0 ± 00B D7 221D F F8E6 F8E7 21B5 ℵ 2135 I 2111 R 211C A F6DA F6D9 F6DB 220F 221A 22C5 00AC D4 21D0 21D1 21D2 21D3 25CA 2329 F8E8 F8E9 F8EA 2211 F8EB F8EC F8ED F8EE F8EF F8F0 F8F1 F8F2 F8F3 F8F4 232A 222B 2320 F8F F8F6 F8F7 F8F8 F8F9 F8FA F8FB F8FC F8FD F8FE 2.4 フォントの 設 定 49

64 2. 管 理 者 ガイド 以 下 はZapfDingbatsで 使 用 できる 文 字 の 一 覧 です 文 字 の 下 の 数 字 は16 進 ユニコードで す 表 2.8 ZapfDingbatsの 文 字 一 覧 A E B 261E 270C 270D 270E 270F A 271B 271C 271D 271E 271F A 272B 272C 272D 272E 272F A 273B 273C 273D 273E 273F A 274B 25CF 274D 25A0 274F B2 25BC 25C D A 275B 275C 275D 275E F8D7 F8D8 F8D9 F8DA F8DB F8DC F8DD F8DE F8DF F8E0 F8E1 F8E2 F8E3 F8E ❶ 2776 ❷ 2777 ❸ 2778 ❹ 2779 ❺ 277A ❻ 277B ❼ 277C ❽ 277D ❾ 277E ❿ 277F ➀ 2780 ➁ 2781 ➂ 2782 ➃ 2783 ➄ 2784 ➅ 2785 ➆ 2786 ➇ 2787 ➈ 2788 ➉ 2789 ➊ 278A ➋ 278B ➌ 278C ➍ 278D ➎ 278E ➏ 278F ➐ 2790 ➑ 2791 ➒ 2792 ➓ A 279B 279C 279D 279E 279F 27A0 27A1 27A2 27A3 27A4 27A5 27A6 27A7 27A8 27A9 27AA 27AB 27AC 27AD 27AE 27AF 27B1 27B2 27B3 27B4 27B5 27B6 27B7 27B8 27B9 27BA 27BB 27BC 27BD 27BE CIDフォント 欧 文 以 外 の 文 字 をPDFに 含 める 場 合 は CIDフォントを 用 います フォントを 埋 め 込 む 方 法 と フォントを 埋 め 込 まない 方 法 があり フォントを 埋 め 込 まない 方 法 には さら にCID IdentityとCID-Keyedフォントの2 種 類 の 方 法 があります どの 種 類 のフォントを 利 用 するかは 入 出 力 プロパティoutput.pdf.fonts.policy [io] の 設 定 によります フォントの 設 定

65 2. 管 理 者 ガイド 埋 め 込 みフォントまたはCID Identityを 使 用 する 場 合 Copper PDFにフォントをインス トールする 必 要 があります Copper PDFの 出 荷 時 の 状 態 では truetypeディレクトリ 配 置 したフォントが 自 動 的 に 読 み 込 まれるようにfonts.xmlが 設 定 されています 埋 め 込 みフォント PDFにフォントの 字 体 データそのものを 埋 め 込 む 方 式 で 環 境 に 関 係 なく 確 実 に 同 じ 字 体 で 文 字 が 表 示 されることが 保 証 されます フォントを 埋 め 込 む 場 合 文 書 中 で 使 用 されている 文 字 のフォントだけをPDFに 含 める ため ファイルサイズは 最 小 限 に 抑 えられますが 出 力 されたPDFは 編 集 や 加 工 には 適 しません 表 示 や 印 刷 の 見 栄 えに 厳 密 さが 求 められる 場 合 や 広 く 配 布 する 文 書 あるいは 長 期 保 存 する 文 書 に 適 しています CID Identity フォントの 埋 め 込 みをせず グリフID(フォントファイルに 含 まれる 文 字 の 番 号 )をその ままPDF 内 に 記 述 する 方 式 です Copper PDFの 動 作 環 境 と PDFを 表 示 する 環 境 に 同 一 のフォントがインストールされている 必 要 があります グリフIDは 特 定 のフォント ファイルに 依 存 するため PDFを 表 示 する 環 境 にインストールされたフォントファイル が 異 なれば 似 たような 書 体 のフォントであっても 文 字 化 けが 発 生 するか 全 く 表 示 で きなくなります 同 一 のマシン 上 や 同 じ 組 織 内 での 編 集 や 加 工 印 刷 を 目 的 とする 文 書 に 適 しています フォントの 埋 め 込 みをする 場 合 にくらべて 出 力 されるPDFのサイズは 小 さくなりま す CID-Keyed フォント CID Identityフォント 同 様 にフォントの 埋 め 込 みをしませんが Adobe 社 により 公 開 され ているコード 体 系 (CMap)を 使 用 します PDFを 表 示 する 環 境 で 利 用 可 能 な 書 体 の 近 いフォントが 自 動 的 に 選 ばれるので 特 定 のフォントファイルに 依 存 することはありません ただし 使 用 できる 文 字 はAdobe 社 が 提 供 するCMapファイルで 定 義 された 文 字 に 限 られます また 全 ての 環 境 でPDFを 表 示 できることが 保 証 されるものではありません 特 定 の 言 語 環 境 のWindows やMacOS 特 定 のバージョン 以 降 のAdobe Readerなど 表 示 編 集 加 工 する 環 境 が 比 較 的 限 られ 表 示 や 印 刷 の 見 栄 えに 厳 密 さが 求 められない 文 書 には 有 効 です PDFのファイルサイズは 最 も 小 さくなります 2.4 フォントの 設 定 51

66 2. 管 理 者 ガイド PANOSE コード CID-Keyedフォントの 場 合 表 示 環 境 にインストールされた 書 体 の 近 いフォントを 選 ぶために PANOSE-1( パノーズ)という10 桁 のコードを 使 います PDFでは さらにクラ スID サブクラスIDというコードが 先 頭 に 付 けられるため 12 桁 となります クラスID サブクラスIDと PANOSE-1 コードはTrueType またはOpenType フォントか ら ツールを 使 って 取 得 することができます Microsoft 社 が 配 布 しているfonttools.exeに 含 まれるttfdump.exeというツールを 利 用 すると 便 利 です 以 下 はmsgothic.ttcからフォントの 情 報 を out.txtというテキストファイルに 書 き 出 すコ マンドです -c1は.ttcファイル( 複 数 のTrueType フォントを 含 むファイル) の1 番 目 の フォント 情 報 を 取 得 するためのオプションで 2 番 目 のフォント 情 報 を 取 得 する 場 合 は- c2のように 指 定 してください.ttfまたは.otfファイルではこのオプションは 不 要 です 例 2.37 ttfdump.exe によるフォント 情 報 の 取 得 C:\TTFDump>ttfdump.exe "C:\Windows\Fonts\msgothic.ttc" -c1 > out.txt 以 下 の 部 分 (OS/2テーブル)のsFamilyClassがクラスID サブクラスIDで PANOSE が10 桁 のPANOSE-1 コードです この 場 合 フォント 設 定 ファイル 中 ではPANOSE コードを と 指 定 してください 例 2.38 抽 出 されたフォント 情 報 の 例... 略 'OS/2' Table - OS/2 and Windows Metrics Size = 96 bytes (expecting 96 bytes) 'OS/2' version: 3... 略... ystrikeoutsize: 13 ystrikeoutposition: 66 sfamilyclass: 8 subclass = 1 PANOSE: Unicode Range 1( Bits 0-31 ): E00002FF Unicode Range 2( Bits ): 6AC7FDFB 略... 参 考 情 報 PANOSE-1 コードの 仕 様 です フォントの 設 定

67 2. 管 理 者 ガイド TrueType フォントのOS/2テーブルの 仕 様 です Microsoft 社 のFontToolsのページです ここでダウンロードしたfonttools.exeを 実 行 する と 展 開 されたファイルの 中 にttfdump.exeがあります フォント 幅 情 報 ファイル 文 字 列 をレイアウトするとき 各 文 字 の 幅 や 基 底 線 の 情 報 が 必 要 です CID-Keyedフォ ントは フォントそのものは 含 まないフォント 幅 情 報 ファイルをもとにレイアウトしま す フォント 幅 情 報 ファイルはfonts/warraysディレクトリに 既 定 のものが 用 意 されてい ます 出 荷 時 のfonts.xmlの 設 定 では 文 書 中 がMincho, Gothicというフォント 名 で 明 朝 体 とゴ シック 体 のフォントが 使 われるようになっています それぞれserif, sans-serifという CSS 総 称 フォント 名 にも 結 び 付 けられており またMinchoはデフォルトのフォントで す つまり CID-Keyedフォントが 利 用 する 設 定 では 対 応 するフォントがない 場 合 は 全 てMinchoとなります これらのフォントは 実 際 には 多 くの 日 本 語 表 示 環 境 に 入 ってい ると 考 えられる 等 幅 の 明 朝 体 ゴシック 体 フォントが 使 用 されるようにPANOSE が 設 定 されています Copper PDF 以 降 では MS 明 朝 MSゴシック MS P 明 朝 MS Pゴシック MS UI Gothicの 幅 情 報 が 用 意 されています 出 荷 時 のfonts.xmlの 設 定 では それぞれの 名 前 で 文 書 中 から 使 用 できるようになっています これらのフォントを 使 うと 日 本 語 Windows 環 境 を 対 象 とした 軽 量 なPDFを 生 成 することができます ただし MS 系 フォン トが 入 っていない 環 境 では 隣 り 合 う 文 字 が 重 なったり 離 れすぎてしまったりという 現 象 が 発 生 します 手 持 ちのフォントから 幅 情 報 を 抽 出 し 新 たにフォント 幅 情 報 ファイルを 作 成 する 場 合 は 付 属 の ツ ー ル を 使 っ て く だ さ い 以 下 の よ う に java コ マ ン ド で 直 接 jp.cssj.sakae.pdf.tools.warraytool を 実 行 してください クラスパスとクラス 名 に 続 く 引 数 はそれぞれ cmapファイル Javaエンコーディング 名 フォントファイルです 複 数 の フォントを 含 むファイル(.ttc)の 場 合 さらにフォントの 番 号 を 続 けることができます 例 2.39 幅 情 報 の 抽 出 java -cp lib/cssj-sakae.jar:lib/sakae-opentype.jar:lib/commonslogging.jar:lib/cti-server.jar \ jp.cssj.sakae.pdf.tools.warraytool \ conf/profiles/fonts/cmaps/unijis-utf16-h \ UTF-16BE \ /usr/share/fonts/truetype/kochi/kochi-mincho.ttf \ > conf/profiles/fonts/warrays/kochi-mincho.txt 2.4 フォントの 設 定 53

68 2. 管 理 者 ガイド フォントファイルの 種 類 埋 め 込 みフォント CID Identityフォントを 使 用 する 場 合 あるいは 後 述 するようにCID- Keyedフォントのためにフォントの 幅 情 報 を 抽 出 するためには Copper PDFが 動 作 する 環 境 にフォントファイルがインストールされている 必 要 があります Copper PDFがサポートするフォントファイルの 種 類 は 以 下 の 通 りです TrueType "OpenType(TrueType flavor)" 一 般 的 にTrueType と 呼 ばれるフォントファイルです.ttfまたは.ttc( 複 数 のフォントを 含 むもの)という 拡 張 子 のファイルとして 配 布 されています OpenType CFF/Type2 一 般 的 に 単 にOpenType と 呼 ばれる CFF/Type2 形 式 のOpenType フォントファイルで す.otfという 拡 張 子 のファイルとして 配 布 されています Copper PDF 2.0.3からサ ポートされました また Copper PDFは 上 記 のフォントファイル 以 外 に Java 実 行 環 境 によりサポートされ るフォントファイルを 使 用 することができます SunのJava 実 行 環 境 (1.5.0 以 降 )は TrueType に 加 えてType1フォント(.pfa,.pfb) F3フォント(.f3b)をサポートしています フォント 設 定 ファイル PDF 出 力 に 使 用 するフォントの 情 報 はフォント 設 定 ファイル(fonts.xml) に 記 述 してくだ さい フォント 設 定 ファイルはXML 形 式 で ルート 要 素 はfontsです フォント 設 定 ファ イルには 各 種 ファイルのファイルパスの 情 報 も 含 まれており ファイルパスはフォン ト 設 定 ファイルからの 相 対 パスとなります fonts 要 素 には 次 の 要 素 が 含 まれています コアフォントのエンコーディング(encodings 要 素 ) コアフォントのエンコーディング 情 報 のファイルを 設 定 します 通 常 は 編 集 する 必 要 はありません letterフォント(synbolとzapfdingbats 以 外 のフォント)を 使 用 する 場 合 使 用 できる 文 字 セットにはStandardEncoding MacRomanEncoding WinAnsiEncodingの3 種 類 がありま す Copper PDFの 出 荷 時 にはWinAnsiEncodingが 設 定 されています core-fonts 要 素 の encoding 属 性 の 指 定 を 変 更 することで 切 り 替 えることができます フォントの 設 定

69 2. 管 理 者 ガイド encodingsに 含 まれる 要 素 表 2.9 encoding 要 素 属 性 必 須 説 明 src グリフコードとグリフ 名 の 対 応 を 記 述 したファイルです cmapファイル(cmaps 要 素 ) CID-Keyedフォントのエンコーディング 情 報 のファイルを 設 定 します 通 常 は 編 集 する 必 要 はありません cmapsに 含 まれる 要 素 表 2.10 cmap 要 素 属 性 必 須 説 明 src Adobe Japan 1-4コードと 文 字 コードの 対 応 を 記 述 したファイルです java-encoding 文 字 コードのJavaエンコーディング 名 です コアフォント(core-fonts 要 素 ) コアフォントの 設 定 です 通 常 は 編 集 する 必 要 はありませんが 使 用 するエンコーディ ングを 変 更 したり ドキュメントから 参 照 する 際 の 別 名 を 追 加 することができます 表 2.11 core-fonts 要 素 属 性 必 須 説 明 unicode-src ユニコードと 文 字 名 の 対 応 を 記 述 したファイルです encoding エンコーディング 名 です encodingsで 設 定 されたものの 中 から 選 択 できます core-fontsに 含 まれる 要 素 core-fonts 要 素 にはletter-font, symbol-fontのいずれかを 含 むことができます letter-font letter-font 要 素 は 通 常 の 欧 文 フォントの 設 定 です 2.4 フォントの 設 定 55

70 2. 管 理 者 ガイド 表 2.12 letter-font 要 素 属 性 必 須 説 明 src AFMファイルです encoding core-fontsのencoding 属 性 を 上 書 きします symbol-font symbol-font 要 素 は 記 号 フォント(SymbolまたはZapfDingbats)の 設 定 です 表 2.13 symbol-font 要 素 属 性 必 須 説 明 src AFMファイルです encoding-src ユニコードとグリフコードの 対 応 を 記 述 したファイルです letter-fontおよびsymbol-fontに 含 まれる 要 素 letter-font お よ び symbol-font 内 に alias 要 素 を 追 加 す る こ と で ド キ ュ メ ン ト 中 の font-family [css] で 参 照 することができる 別 名 が 追 加 されます 表 2.14 alias 要 素 属 性 必 須 説 明 name フォントの 別 名 です letter-fontおよびsymbol-font 内 のinclude, exclude 要 素 により フォントが 使 用 される 文 字 範 囲 を 指 定 できます[2.0.3] includeにより フォントが 使 用 される 文 字 範 囲 を 明 示 するこ とができ excludeにより 除 外 する 文 字 範 囲 を 明 示 することができます include, exclude の 記 述 がない 場 合 は 利 用 可 能 な 全 ての 文 字 でフォントが 利 用 されます 表 2.15 include 要 素 属 性 必 須 説 明 unicode-range カンマで 区 切 ったユニコード 範 囲 ( 詳 細 は 後 述 ) 表 2.16 exclude 要 素 属 性 必 須 説 明 unicode-range カンマで 区 切 ったユニコード 範 囲 ( 詳 細 は 後 述 ) フォントの 設 定

71 2. 管 理 者 ガイド unicode-rangeはu+に 続 く16 進 数 によるユニコードとハイフンを 用 います 例 えば 日 本 語 のかなを 含 める 文 字 範 囲 の 指 定 は 次 の 通 りです 例 2.40 ハイフンによる 文 字 範 囲 <include unicode-range="u ff" /> また 下 位 の 桁 をワイルドカードに 置 き 換 えることもできます 以 下 の 記 述 は U+1F00-1FFFと 書 くのと 等 価 です 例 2.41 ワイルドカードによる 文 字 範 囲 <include unicode-range="u+1f??" /> 複 数 の 文 字 範 囲 はカンマで 区 切 ってください 例 2.42 複 数 の 文 字 範 囲 <include unicode-range="u ff,u+1f??" /> CIDフォント(cid-fonts 要 素 ) cid-fontsに 含 まれる 要 素 cid-fonts 要 素 にはcid-keyed-font, font-file, font-dir, system-font, all-system-fontsのいずれか を 含 むことができます cid-keyed-font cid-keyed-font 要 素 はフォントファイルを 使 用 する 代 わりに フォントの 幅 情 報 を 記 述 したファイルを 利 用 してCID-Keyedフォントを 定 義 するものです 表 2.17 cid-keyed-font 要 素 属 性 必 須 説 明 name フォント 名 です italic weight panose フォントを 斜 体 にする 場 合 はtrue そうでない 場 合 はfalseを 設 定 してください フォントの 太 さです 100から900まで100 刻 みの 値 で 設 定 してください 400が 普 通 の 太 さです PDFのFontDescripterのPanoseフィールドに 対 応 する 値 です クラスID サブクラスID 10 桁 のPANOSE-1 コードの 順 でスペース 区 切 りで 記 述 した12の 数 字 から 構 成 されます cmap 横 書 きのCMap 名 です 2.4 フォントの 設 定 57

72 2. 管 理 者 ガイド 属 性 必 須 説 明 vcmap 縦 書 きのCMap 名 です warray フォント 幅 情 報 ファイルです font-file font-file 要 素 はフォントファイルを 直 接 指 定 します 表 2.18 font-file 要 素 属 性 必 須 説 明 name フォント 名 フォントデータから 取 得 されますが ここで 上 書 きする こともできます src フォントファイルです index 複 数 のフォントを 含 むTTCファイルの 中 で 使 用 するフォントの 番 号 です 省 略 した 場 合 は0です TTCファイルでない 場 合 は 無 視 され ます フォントのタイプをスペース 区 切 りで 記 述 します 値 は 次 のいずれ かです types embedded cid-identity cid-keyed 埋 め 込 みフォント CID Identityフォント CID-Keyedフォント italic weight cmap vcmap (type="cid-keyed"の 場 合 ) フォントが 斜 体 かどうかはフォントデータから 取 得 されますが こ こで 上 書 きすることもできます 斜 体 にする 場 合 はtrue そうでない 場 合 はfalseを 設 定 してください フォントの 太 さはフォントデータから 取 得 されますが ここで 上 書 きすることもできます 100から900まで100 刻 みの 値 で 設 定 してく ださい 横 書 きのCMap 名 です 縦 書 きのCMap 名 です フォントの 設 定

73 2. 管 理 者 ガイド font-dir font-dir 要 素 は 指 定 したディレクトリに 存 在 するフォントファイルを 直 接 まとめて 読 み 込 みます 表 2.19 font-dir 要 素 属 性 必 須 説 明 dir フォントファイルが 格 納 されるディレクトリです フォントのタイプをスペース 区 切 りで 記 述 します 値 は 次 のいずれかです types embedded cid-identity 埋 め 込 みフォント CID Identityフォント system-font 表 2.20 system-font 要 素 system-fontはjava 実 行 環 境 を 利 用 してフォントを 読 み 込 みます OSやウィンドウシステ ムにインストールされたフォントを 名 前 で 指 定 できますが 縦 書 きなどフォントの 一 部 の 機 能 に 制 約 があります 属 性 必 須 説 明 name src file [3.0.0] srcまたはfileが 必 要 srcまたはfileが 必 要 フォント 名 です フォントデータから 取 得 されますが ここで 上 書 きすることもできます システムにインストールされたフォント 名 です フォントファイルです font-file 要 素 による 読 み 込 みでは Copper PDF 独 自 の プ ロ グ ラ ム で 読 み 込 み ま す が こ ち ら で は java.awt.font を 使 用 します 通 常 はfont-file 要 素 を 使 ってください 2.4 フォントの 設 定 59

74 2. 管 理 者 ガイド 属 性 必 須 説 明 フォントのタイプをスペース 区 切 りで 記 述 します 値 は 次 のいず れかです types embedded cid-identity cid-keyed 埋 め 込 みフォント CID Identityフォント CID-Keyedフォント italic weight フォントが 斜 体 かどうかはフォントデータから 取 得 されますが ここで 上 書 きすることもできます 斜 体 にする 場 合 はtrue そうで ない 場 合 はfalseを 設 定 してください フォントの 太 さはフォントデータから 取 得 されますが ここで 上 書 きすることもできます 100から900まで100 刻 みの 値 で 設 定 し てください 400が 普 通 の 太 さです cmap (type="cid-keyed"の 場 合 ) 横 書 きのCMap 名 です vcmap 縦 書 きのCMap 名 です all-system-fonts all-system-fontsはjava 実 行 環 境 が 利 用 可 能 なフォントを 全 て 読 み 込 みます 表 2.21 all-system-fonts 要 素 属 性 必 須 説 明 dir [3.0.0] フォントファイルが 格 納 されるディレクトリです font-dir 要 素 による 読 み 込 みでは Copper PDF 独 自 のプログラムで 読 み 込 みますが こちらではjava.awt.Font を 使 用 します 通 常 はfont-dir 要 素 を 使 ってください フォントのタイプをスペース 区 切 りで 記 述 します 値 は 次 のいずれかです types embedded cid-identity 埋 め 込 みフォント CID Identityフォント フォントの 設 定

75 2. 管 理 者 ガイド cid-keyed-font, font-file, system-fontに 含 まれる 要 素 フォントの 名 前 はフォントデータから 取 得 されますが cid-keyed-font, font-file, systemfontにalias 要 素 を 追 加 することにより さらにフォントの 別 名 を 追 加 できます 記 述 方 法 はcore-font, symbol-fontのalias と 同 じです cid-keyed-font, font-file, system-fontにinclude, exclude 要 素 を 追 加 することにより 有 効 な 文 字 範 囲 を 指 定 することができます 記 述 方 法 はcore-font, symbol-fontのinclude, exclude と 同 じです 一 般 フォントファミリ(generic-fonts 要 素 ) font-family [css] で 指 定 できるserif, sans-serif, monospace, fantasy, cursiveという 5 種 類 の 一 般 フォント ファミリに 対 応 するフォントを 指 定 するものです generic-fontsに 含 まれる 要 素 generic-fontsにはcssの 一 般 フォントファミリ 名 に 対 応 する5つの 名 前 の 要 素 serif, sans-serif, monospace, fantasy, cursiveが 含 まれます font-family [css] 等 で 指 定 するフォント 名 には 実 際 のフォント 名 以 外 に5 種 類 の 一 般 フォントファミリ 名 を 指 定 することができます generic-fontsは この 一 般 フォントファ ミリ 名 と 実 際 のフォントとの 対 応 付 けをするものです 表 2.22 serif 要 素 属 性 必 須 説 明 font-family カンマで 区 切 ったフォント 名 を 優 先 順 位 の 高 いものから 順 に 記 述 します 表 2.23 sans-serif 要 素 属 性 必 須 説 明 font-family カンマで 区 切 ったフォント 名 を 優 先 順 位 の 高 いものから 順 に 記 述 します 表 2.24 monospace 要 素 属 性 必 須 説 明 font-family カンマで 区 切 ったフォント 名 を 優 先 順 位 の 高 いものから 順 に 記 述 します 2.4 フォントの 設 定 61

76 2. 管 理 者 ガイド 表 2.25 fantasy 要 素 属 性 必 須 説 明 font-family カンマで 区 切 ったフォント 名 を 優 先 順 位 の 高 いものから 順 に 記 述 します 表 2.26 cursive 要 素 属 性 必 須 説 明 font-family カンマで 区 切 ったフォント 名 を 優 先 順 位 の 高 いものから 順 に 記 述 します フォント 設 定 ファイルの 設 定 例 デフォルトのフォントの 変 更 output.pdf.fonts.policy [io] に embedded を 指 定 す る か CSS で {-cssj-fontpolicy: embedded;をしていすると 埋 め 込 みフォントが 使 用 されますが 出 荷 時 の フォント 設 定 ファイルでは 大 抵 の 場 合 は 全 ての 文 字 が のような 組 み 文 字 になって しまいます これは デフォルトのフォントが 一 般 フォントファミリのserifになってお り serifはcid-keyedフォントにした 対 応 付 けてないためです output.default-font-family [io] でデフォルトのフォントを 変 更 するか あるい はフォント 設 定 ファイルを 修 正 して 一 般 フォントファミリを 埋 め 込 み 可 能 なフォント に 対 応 させます 例 えばtruetypeディレクトリにIPAフォント (http://ossipedia.ipa.go.jp/ipafont/) を 配 置 した 場 合 は generic-fontsの 部 分 を 以 下 のように 設 定 することで フォントの 埋 め 込 みに デ フォルトでIPAフォントが 使 われるようになります 例 2.43 例 のタイトル <generic-fonts> <serif font-family="mincho,ipa P 明 朝,UniKS-Myungjo,UniCNS- Ming,UniGB-Song" /> <sans-serif font-family="gothic,ipa Pゴシック,UniKS- Gothic,UniCNS-Ming,UniGB-Heiti" /> <monospace font-family="gothic,ipa ゴシック,UniKS-Gothic,UniCNS- Ming,UniGB-Heiti" /> <fantasy font-family="comic-sans-ms,gothic,ipa Pゴシック,UniKS- Gothic,UniCNS-Ming,UniGB-Heiti" /> <cursive font-family="comic-sans-ms,mincho,ipa P 明 朝,UniKS- Myungjo,UniCNS-Ming,UniGB-Song" /> </generic-fonts> フォントの 設 定

77 3. 開 発 者 ガイド 3. 開 発 者 ガイド 3.1 プログラムインターフェースの 概 要 アプリケーションからCopper PDFの 機 能 を 使 うには OSのバックグラウンドで 動 作 しているCopper PDFサーバー(copperd)を アプリケー ションから 呼 び 出 すためには ソケット 通 信 を 使 います 通 信 用 のドライバは 各 言 語 ごとに 配 布 しています これは 一 般 的 なデータベースサーバーと 同 様 のしくみです また Copper PDF 2.1 以 降 ではHTTPによる 接 続 をサポートしており HTTPクライアント プログラムやライブラリを 使 用 して 接 続 することができます いずれにしても ネット ワーク 越 しの 接 続 が 可 能 です 図 3.13 アプリケーションからcopperdにアクセスする 通 信 方 式 には 次 の3 種 類 があります CTIP 1.0 (72ページ) Copper PDFの 前 の 製 品 (CSSJ)から 使 われている 高 速 で 信 頼 性 の 高 い 通 信 方 式 です CTIP 2.0 (91ページ)[2.1.0] CTIP 1.0の 高 速 高 信 頼 性 をそのままに 機 能 を 強 化 した 通 信 方 式 です 3.1 プログラムインターフェースの 概 要 63

78 3. 開 発 者 ガイド HTTP/REST (152ページ)[2.1.0] HTTPベースの 通 信 方 式 です 普 通 のHTTPクライアントを 使 うことができます CTIP 2.0と 同 等 の 機 能 を 持 ちます CTIP 1.0/2.0 によるアクセスのために 現 在 のところJava, Perl, PHPのドライバと Antタ スクが 用 意 されています これらのプログラミング 言 語 では プログラミングインター フェースから 高 速 にアクセスできます Java 版 のドライバとAntタスクはHTTP/RESTに 対 応 しており 全 く 同 じプログラムで 両 方 のプロトコルを 切 り 替 えることができます HTTP/RESTでは ドライバは 必 要 とせず 各 プログラミング 言 語 からHTTPクライアン トを 利 用 してアクセスすることができます CTIP 1.0/2.0 と 比 較 して おおむね70% 程 度 にパフォーマンスが 低 下 しますが ほとんどの 場 合 は 問 題 となることはありません 通 信 の 手 順 ドライバとcopperdとの 通 信 は 以 下 の 手 順 が 基 本 となります 1. copperdへの 接 続 認 証 2. メッセージハンドラの 設 定 3. プログレスリスナの 設 定 4. 変 換 結 果 の 出 力 先 の 設 定 5. 入 出 力 プロパティの 設 定 6. リソースの 送 信 アクセス 許 可 7. ソースリゾルバの 設 定 [2.1.0] 8. 設 定 のリセット[2.1.0] 9. ドキュメント 本 体 の 送 信 または 変 換 対 象 のドキュメントの 指 定 10. 変 換 処 理 の 中 断 [2.1.0] 11. 通 信 の 終 了 上 記 のうち 2~8の 手 順 は 省 略 されるか 順 序 が 入 れ 替 わっても 構 いません 10は ド キュメントの 変 換 中 に 処 理 を 中 止 したいときに 実 行 します CTIP 2.0では 通 信 の 終 了 をせずに 2に 戻 って 手 順 を 再 実 行 することができます 以 下 各 手 順 について 順 を 追 っ て 説 明 します copperdへの 接 続 認 証 copperdにアクセスするためには copperdのホスト 名 ポート 番 号 を 知 る 必 要 がありま す これらの 設 定 はcopperdの 設 定 (copperd.properties)によります ローカルマシンで 初 期 設 定 のままCopper PDFを 動 かしている 場 合 ホスト 名 はlocalhost(あるいは (IPv4) ま た は ::1(IPv6)) CTIP の ポ ー ト 番 号 は 8099(CTIP 1.0, CTIP 2.0 で 共 通 ) HTTP/RESTのポート 番 号 は8097です 簡 単 なセキュリティ 機 能 として ユーザーIDとパスワードにより 認 証 があります サー バーの 初 期 設 定 の 状 態 ではユーザーIDは"user" パスワードは"kappa"ですが サーバー 側 でcopperdコマンドにより 変 更 することができます (32ページ) プログラムインターフェースの 概 要

79 3. 開 発 者 ガイド copprdはクライアントのipアドレスによりアクセスを 制 限 します 初 期 設 定 の 状 態 では ローカルマシン( (IPv4)または::1(IPv6))からのアクセスだけが 許 可 されていま す これはサーバー 側 のアクセス 制 御 の 設 定 (access.txt)を 編 集 することで (42ページ) 起 動 中 に 変 更 することができます メッセージハンドラの 設 定 メッセージハンドラは 変 換 処 理 の 過 程 で 出 力 された 警 告 やエラー 処 理 情 報 を 受 け 取 るためのインターフェースです (CTIP 1.0では エラーハンドラ という 名 前 になって いました) プログレスリスナの 設 定 プログレスリスナはサーバー 側 でのデータの 処 理 状 況 をプログラムが 知 るためのイン ターフェースです クライアント 側 で 処 理 状 況 をユーザーに 通 知 させ 待 ち 時 間 の 目 安 にするためのものであるため データの 処 理 状 況 は 必 ずしも 正 確 なものではありませ ん あるいは 一 切 処 理 状 況 が 通 知 されないこともあります 出 力 先 の 設 定 変 換 結 果 はストリーム ファイル 等 に 出 力 することができます 出 力 先 の 指 定 方 法 は プログラミング 言 語 によります Copper PDFはウェブ 上 での 利 用 を 重 視 しているため クライアントのブラウザに 送 る 方 法 は 必 ず 用 意 されています 変 換 結 果 の 出 力 先 の 設 定 ドキュメントを 変 換 した 結 果 得 られるPDF 画 像 等 のデータはクライアント 側 で 受 信 し てドライバにより 構 築 されます 出 力 結 果 はファイルに 保 存 するか あるいはウェブア プリケーションであればそのままユーザーに 送 り 出 すことができます CTIP 2.0では 複 数 の 結 果 を 受 信 することができます 例 えば 複 数 ページの 文 書 を 複 数 の 画 像 ファイルとしてクライアント 側 で 保 存 することができます 入 出 力 プロパティの 設 定 ドキュメントの 変 換 方 法 の 詳 細 は 入 出 力 プロパティによって 細 かく 指 定 することがで きます 利 用 可 能 な 入 出 力 プロパティのリストは 入 出 力 プロパティ 一 覧 (274ページ)を 参 照 してください URIの 解 決 と 関 連 ファイル(リソース)の 取 得 ドキュメントからは 様 々な 形 で 関 連 するCSSや 画 像 ファイル 等 のリソースが 参 照 され ます リソースはURIによって 参 照 されます URIには 絶 対 URIと 相 対 URIがあります が Copper PDFは 必 ずドキュメントを 実 際 の あるいは 仮 想 的 なURIに 結 びつけ 相 対 URI はドキュメントのURI を 基 準 に 解 決 されます 例 えば ドキュメントのURI が 3.1 プログラムインターフェースの 概 要 65

80 3. 開 発 者 ガイド で あ っ た 場 合 ド キ ュ メ ン ト 中 に <img src="../images/photo.jpeg"> と い う 記 述 が あ れ ば 存 在 する 画 像 が 使 われます ドキュメントのURIを 相 対 URIとすることができます もっとも 簡 単 なURIは "."(カレ ントディレクトリ)で このとき 相 対 URIで 参 照 されたリソースの 解 決 後 のURIは 相 対 URIのままとなります Copper PDFが あるURIで 参 照 されるリソースにアクセスする 場 合 3 通 りの 方 法 があり ます 1つは サーバーから 直 接 アクセスする 方 法 です file: で 始 まるURIであれば サーバー マシン 上 のファイルを 取 得 しようとします http: で 始 まるURIであれば HTTPでネット ワークから 取 得 しようとします Copper PDFは 最 初 はこれらのアクセスを 禁 止 するよ うに 設 定 されているため プログラムでアクセス 許 可 する 必 要 があります 図 3.14 copperdがリソースにアクセスする 場 合 (サーバーマシン 上 のファイル) 図 3.15 copperdがリソースにアクセスする 場 合 (ネットワークからの 取 得 ) 2つめは ドライバによって 事 前 にクライアントからサーバーにリソースを 送 る 方 法 で す リソースを 仮 想 的 なURIに 結 びつけて 事 前 に 送 っておくと サーバーはそのURIの リソースを 取 得 する 際 に 実 際 のURIにアクセスするのではなく 事 前 に 送 ったデータ を 使 用 します プログラムインターフェースの 概 要

81 3. 開 発 者 ガイド 図 3.16 クライアント 側 からcopperdにリソースを 送 る 場 合 3つめはソースリゾルバ[2.1.0]によって サーバーが 必 要 としたリソースをクライアント が 送 信 可 能 であるかを 問 い 合 わせ 送 信 可 能 なリソースを 都 度 サーバーに 送 る 方 法 で す サーバーは 最 初 にクライアントから 送 られたリソースがあるかどうかをチェックし なければ 実 際 にURIアクセスすることを 試 みます また 既 にクライアントから 送 られ たリソースがある 場 合 は クライアントにリソースの 送 信 を 要 求 しません そのため 優 先 順 位 は2 番 目 の 方 法 3 番 目 の 方 法 1 番 目 の 方 法 の 順 ということになります リソースにサーバーからアクセスする 場 合 必 要 とするリソースがドライバから 送 られていなかった 場 合 copperdは 実 際 にその URIで 表 される 場 所 にアクセスしてデータを 取 得 しようと 試 みます Copper PDFはHTTPクライアントを 持 っており HTTP(https://で 始 まるURI) SSL(https:// で 始 まるURI)によりアクセス 可 能 なデータを 取 得 することができます またCopper PDFが 動 作 しているローカルマシン 上 のファイル(file://で 始 まる ブラウザでローカル マシン 上 のファイルを 開 く 場 合 のURI)へアクセスすることができます データスキー ムURI(data:で 始 まる URI 中 にデータを 含 むURI)もサポートしています その 他 のデー タへはjava.net.URL を 利 用 してアクセスするため Java 実 行 環 境 がサポートするコンテ ンツハンドラに 依 存 します この 方 法 の 利 点 は 変 換 対 象 の 文 書 から 参 照 されているリソースを copperdその 都 度 自 動 的 に 集 めてくることです また リソースがサーバーのディスク 上 にある 場 合 は 事 前 にドライバがリソースを 送 る(この 作 業 は 実 質 的 には copperdがアクセスできる 場 所 にファイルをコピーする 作 業 です) 手 間 が 省 けるため パフォーマンス 上 有 利 です 欠 点 として セキュリティの 問 題 が 挙 げられます 変 換 対 象 となる 文 書 を 誰 でも 編 集 で きる 場 合 そこにサーバー 上 のファイル 名 を 指 定 することで サーバー 上 のファイルが 盗 まれてしまう 可 能 性 があります また 始 まるURIを 使 うことで 他 のサー バーへの 不 正 なアクセスのための 踏 み 台 にされる 恐 れがあります そのため ネット ワークの 構 成 を 含 めて 十 分 に 注 意 して 運 用 することが 必 要 となります 無 制 限 にサーバー 上 のリソースにアクセスされるのを 防 止 するため copperdがアクセ スするリソースを 制 限 する 簡 単 なセキュリティ 機 能 が 用 意 されています サーバー 上 のリソースを 利 用 するには 適 宜 アクセス 許 可 を 行 う 必 要 があります 3.1 プログラムインターフェースの 概 要 67

82 3. 開 発 者 ガイド デフォルトの 状 態 では サーバーから 全 てのリソースへのアクセスが 禁 止 されていま す copperdが 文 書 に 関 連 するCSSや 画 像 等 にアクセスするためにはアプリケーション で 明 示 的 に 許 可 する 必 要 があります URIパターン リソースへのアクセス 許 可 制 限 は URIパターンによって 指 定 します 本 文 の 変 換 を 始 める 前 に クライアントは 利 用 できるURIと 除 外 するURIのパターンを 指 定 します URIパターンにはワイルドカードを 使 うことができます "*"というワイルドカード は '/'(スラッシュ) 以 外 の 任 意 の 文 字 列 を 表 します "**"というワイルドカードは それ に 加 えて'/'も 含 めることを 表 します ワイルドカードの 例 は 以 下 の 通 りです というパターンは 直 下 の 全 ての リソースを 現 します は 以 下 の 全 てのリ ソースを 表 します は 以 下 の 全 てのCSSファイ ルを 表 します アクセスの 制 御 は 指 定 された 順 に 行 われます 例 えば 最 初 に 次 のパターンへのアクセスを 禁 止 したとします 次 に 以 下 のパターンへのアクセスを 許 可 したとします こ の と き へ の ア ク セ ス は 許 可 さ れ ま す が へのアクセスは 禁 止 されます 逆 に 最 初 に 以 下 のパターンへのアクセスを 許 可 したとします この 場 合 は 後 の 指 定 に 関 係 なくhttp://www.company.com/ 以 下 へのアクセスが 全 て 許 可 されてしまいます http: または https: で 始 まるURIでは %エスケープした 文 字 は デコードされたものとし て 比 較 されます また パターンで* にマッチするようにするには 代 わりに%2A を 記 述 し て く だ さ い 例 え ば %2A/* と い う パ タ ー ン は と い う URI に も というURIにもマッチします [2.1.7] プログラムインターフェースの 概 要

83 3. 開 発 者 ガイド リソースを 事 前 にサーバーに 送 る 場 合 ドライバがリソースをcopperdに 送 る 際 には リソース 本 体 のデータとリソースの 仮 想 的 なURIに 加 え リソースのMIME 型 およびキャラクタ エンコーディングを 送 ること ができます MIME 型 とキャラクタ エンコーディングは 必 須 ではなく 省 略 された 場 合 は 拡 張 子 やファイルの 内 容 をもとにサーバー 側 で 自 動 的 に 判 断 されます また 画 像 などのバイナリデータではキャラクタ エンコーディングは 無 意 味 です 仮 想 的 なURIは file:///var/data/image.gif のような 絶 対 URIや data/style.cssのような 相 対 URIです copperdはこれらのuriで 表 されるリソースが 必 要 になった 場 合 そのURIで 表 される 実 際 の 場 所 にアクセスすることはせず クライアント 側 から 送 られたデータ を 使 います おなじURIで2 度 リソースを 送 った 場 合 は 前 のリソースは 後 に 送 られたリ ソースで 上 書 きされます この 方 法 は 事 前 に 画 像 などのデータをサーバーに 送 り 出 す 手 間 がかかる 分 パフォー マンス 上 不 利 になります また アプリケーションは 本 文 から 参 照 されているリソー スを 事 前 に 把 握 している 必 要 があります 一 方 で 変 換 対 象 やリソースを1つ1つアプリケーションで 指 定 するため 予 期 しなかっ たファイルにアクセスされてしまうといった セキュリティ 上 の 危 険 は 少 なくなりま す ソースリゾルバを 使 う 場 合 ソースリゾルバは サーバー 側 で 必 要 とされたリソースのURIをクライアントに 通 知 し 可 能 であればクライアントからデータを 送 信 するためのインターフェースです ド キュメントから 参 照 されるリソースは 事 前 にクライアントから 送 ることができますの が そのためには ドキュメントからどのリソースが 参 照 されているのかを クライア ントが 知 っていることが 前 提 となります しかし HTMLからCSSが 読 み 込 まれ さらに CSSから 別 のCSSや 画 像 が 参 照 されるといった 複 雑 な 状 況 では アプリケーションで 事 前 に 必 要 なリソースを 解 析 することは 困 難 です CTIP 2.0では サーバー 側 でまず 処 理 を 開 始 し 必 要 になったリソースをその 都 度 クライアントに 要 求 し ドライバは 要 求 さ れたリソースをサーバーに 送 るか あるいはリソースの 不 存 在 を 通 知 することができま す 設 定 のリセット CTIP 2.0では メッセージハンドラ プログレスリスナ 入 出 力 プロパティの 設 定 と サーバー 側 で 受 信 済 みのリソースを 全 てリセットすることができます リセットによ り 全 ての 状 態 は 接 続 直 後 に 戻 ります ドキュメント 本 体 の 送 信 または 変 換 対 象 のドキュメントの 指 定 最 後 にドキュメント 本 体 をCopper PDFが 変 換 するために 必 要 な 情 報 を 送 ります リ ソースの 場 合 と 同 様 データをサーバーに 送 る 方 法 と サーバー 側 からデータを 取 得 す る 方 法 があります 3.1 プログラムインターフェースの 概 要 69

84 3. 開 発 者 ガイド ドキュメント 本 体 をサーバーに 送 る 変 換 対 象 のドキュメント 本 体 をクライアントからサーバー 側 に 送 る 場 合 は 必 ずド キュメントを 仮 想 的 なURIと 結 びつける 必 要 があります また 必 須 ではありませんが ドキュメントのMIME 型 とキャラクタ エンコーディング 予 測 されるドキュメントサ イズを 明 示 することができます サーバー 側 でのドキュメントの 変 換 処 理 は 本 体 の 送 信 と 並 行 して 行 われます ドキュメント 本 体 にサーバーからアクセスする 場 合 サーバーに 変 換 対 処 のドキュメントのURIを 送 ることにより サーバー 側 で 変 換 対 象 の 文 書 を 取 得 することができます ドキュメント 中 の 相 対 パスは ドキュメントのURIを 基 点 に 解 決 します ドキュメントのURIに 対 しては URIパターンによるアクセス 許 可 とは 無 関 係 にアクセス 可 能 です ドキュメントのURIは 事 前 にサーバーに 送 ったリソースでも 構 いません ことのき 事 前 に 送 ったリソースがドキュメント 本 体 となります リソースに 対 するアクセス 禁 止 設 定 は ドキュメント 本 体 のURIには 適 用 されません 複 数 の 結 果 の 結 合 [3.0.0] 通 常 は ドキュメント1つの 変 換 処 理 に 対 して 結 果 が 出 力 されますが 複 数 の 結 果 を 結 合 するモードに 移 行 することにより 複 数 のドキュメントの 変 換 結 果 を 結 合 して1つの 処 理 結 果 とすることができます このモードでは 各 々の 変 換 処 理 で 結 果 を 出 力 することはせず 一 連 の 変 換 処 理 の 終 了 をクライアントが 明 示 した 時 点 で 結 合 された 結 果 が 出 力 されます processing.pass-count [io] により 2パス 以 上 の 変 換 処 理 (232ページ)を 行 う 場 合 それぞれのドキュメントが 複 数 のパスで 変 換 され その 結 果 が 結 合 されます 複 数 のド キ ュ メ ン ト を 通 し て 2 パ ス 以 上 の 変 換 処 理 を 行 う 場 合 は processing.middle-pass (ページ) を 使 ってください 変 換 処 理 の 中 断 CTIP 2.0では 変 換 処 理 の 最 中 に 処 理 を 中 断 することができます クライアントから 処 理 の 中 断 を 要 求 されてから 実 際 に 処 理 が 中 断 されるまでには 若 干 の 遅 れが 生 じます 処 理 を 中 断 する 際 には なるべくきりのよいところまで 処 理 を 継 続 して 途 中 のページ までが 含 まれたPDFのようなファイルが 生 成 されるようにするか ファイルが 破 壊 され ても 強 制 的 に 停 止 する2つのモードを 選 ぶことができますが 必 ず 要 求 どおりに 処 理 が 終 わる 保 障 はありません プログラムインターフェースの 概 要

85 3. 開 発 者 ガイド 通 信 の 終 了 通 信 の 終 了 をサーバーに 通 知 すると サーバーの 方 から 接 続 を 切 断 します CTIP 1.0で は 接 続 を 切 断 して 接 続 しなおさない 限 り 次 のドキュメント 変 換 処 理 は 実 行 できません が CTIP 2.0ではそのまま 処 理 を 繰 り 返 すことができます 3.1 プログラムインターフェースの 概 要 71

86 3. 開 発 者 ガイド 3.2 CTIP 1.0 インターフェースの 特 徴 Copper PDF 2.1.0からは より 強 力 なインターフェース(CTIP 2.0)と より 手 軽 な HTTP/RESTインターフェースを 使 用 可 能 です 従 来 のインターフェースもサポートさ れていますが 新 しいインターフェースの 使 用 を 検 討 してください CTIP 2.0インターフェースの 説 明 (91ページ) HTTP/RESTインターフェースの 説 明 (152ページ) 結 果 サイズの 取 得 HTTPのContent-Lengthヘッダを 送 るためには 結 果 全 体 のデータのバイト 数 を 事 前 に 知 る 必 要 がありますが CTIP 1.0ではプログレスリスナをその 目 的 に 使 用 することができ ます プログレスリスナが 要 求 した 場 合 は 変 換 結 果 の 先 頭 が 得 られる 前 に 結 果 全 体 のデータのバイト 数 が 渡 されます メッセージハンドラ(エラーハンドラ)の 設 定 エラーハンドラは 変 換 処 理 の 過 程 で 出 力 された 警 告 やエラー 処 理 情 報 を 受 け 取 るた めのインターフェースです ( 処 理 情 報 を 受 け 取 る 機 能 は 後 で 追 加 されたため エラーハ ンドラ という 名 前 になっています) エラーハンドラが 受 け 取 ることができるメッ セージは 以 下 の4つに 分 類 されます 種 類 コード 説 明 警 告 1 エラー 2 致 命 的 エラー 3 処 理 情 報 4 処 理 の 続 行 が 可 能 なエラーです 入 出 力 設 定 や 変 換 対 象 文 書 に 問 題 がありま すが 処 理 結 果 自 体 は 得 ることができます 処 理 の 続 行 が 不 可 能 になるか 出 力 結 果 を 得 られなくなるエラーです このエ ラーが 発 生 した 場 合 正 常 な 処 理 結 果 が 得 られることは 期 待 できません(PDF 等 のデータが 壊 れている 可 能 性 があります) 通 信 障 害 など システムの 問 題 に 起 因 する 深 刻 なエラーです このエラーが 発 生 した 場 合 正 常 な 処 理 結 果 が 得 られることは 期 待 できません(PDF 等 のデー タが 壊 れている 可 能 性 があります) これはエラーメッセージではありません 出 力 済 みのページ 数 処 理 中 の 内 容 などの 情 報 です 以 上 のうち コード4の 処 理 情 報 は "カテゴリ: 値 " という 形 式 で 渡 されます (Java 版 のド ライバではカテゴリと 値 を 別 々に 受 け 取 ることもできます) カテゴリと 値 は 資 料 集 の メッセージハンドラから 取 得 できる 情 報 (288ページ)を 参 照 してください CTIP 1.0 インターフェースの 特 徴

87 3. 開 発 者 ガイド CTIP 1.0 プロトコルの 仕 様 プロトコルの 仕 様 書 は 以 下 のアドレスで 公 開 しています 3.2 CTIP 1.0 インターフェースの 特 徴 73

88 3. 開 発 者 ガイド 3.3 Java ドライバ1 Copper PDF 2.1.0からは より 強 力 なJavaドライバ バージョン2 が 利 用 可 能 です 従 来 のドライバもサポートされていますが 新 しいドライバの 使 用 を 検 討 してください Javaドライバ バージョン2の 説 明 (94ページ) 使 用 方 法 Java 用 ド ラ イ バ は Copper PDF 本 体 と は 別 に 配 布 さ れ て い ま す か ら cssj-driver-java 1.x.x を ダウンロードしてください アーカイブを 展 開 した 後 にできるlibディレクトリ 内 の cssj-driver-1.x.x.jarがドライバのライブラリです このファイルをクラスパスに 追 加 (あ るいはアプリケーションのライブラリディレクトにコピー)してください ドライバの 窓 口 となるクラスはjp.cssj.cti.CTIDriverManagerです 例 えばlocalhostの8099 番 ポートで 起 動 しているcopperdに ユーザーID"user" パスワード"kappa"で 接 続 するに は 以 下 のようにします 例 3.1 copperdへの 接 続 //ドライバクラスのインポート import jp.cssj.cti.ctidriver; import jp.cssj.cti.ctidrivermanager; import jp.cssj.cti.ctisession;... CTIDriver driver = CTIDriverManager.createDriverFor("localhost", "8099"); CTISession session = driver.createsession("user", "kappa"); // 各 種 操 作 APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はドライバのapidocディレクトリ 内 のJavadocか オンラインのAPIドキュメ ントを 参 照 してください サーバーへの 接 続 認 証 public static CTIDriver createdriverfor(string host, int port) Java ドライバ1

89 3. 開 発 者 ガイド public CTISession createsession(string user, String password) throws IOException, SecurityException エラーハンドラ プログレスリスナの 設 定 public void seterrorhandler(errorhandler eh) public void setprogresslistener(progresslistener l) 出 力 先 の 設 定 public void setoutput(outputstream out, String mimetype) throws IOException プロパティの 設 定 public void setproperty(string name, String value) throws IOException リソースの 送 信 アクセス 許 可 public void includeresource(string uripattern) throws IOException public void excluderesource(string uripattern) throws IOException public OutputStream sendresource(string uri, String mimetype, String encoding) throws IOException 本 体 の 送 信 public void formatmain(string uri) throws IOException public OutputStream sendmain(string uri, String mimetype, IOException String encoding) throws 通 信 の 終 了 public void close() throws IOException サンプル 以 下 は サーバー 側 から 取 り 出 したデータを 変 換 するサンプルです 3.3 Java ドライバ1 75

90 3. 開 発 者 ガイド 例 3.2 jp.cssj.cti.examples.serverresource package jp.cssj.cti.examples; import java.io.bufferedoutputstream; import java.io.fileoutputstream; import java.io.outputstream; import jp.cssj.cti.ctidriver; import jp.cssj.cti.ctidrivermanager; import jp.cssj.cti.ctisession; import jp.cssj.cti.helpers.stdioerrorhandler; /** * サーバーでデータを 取 得 して 変 換 します */ public class ServerResource { /** 接 続 先 のホスト 名 */ private static final String HOST = "localhost"; /** 接 続 先 のポート 番 号 */ private static final int PORT = 8099; /** パスワード */ private static final String PASSWORD = "kappa"; public static void main(string[] args) throws Exception { //ドライバを 取 得 CTIDriver driver = CTIDriverManager.createDriverFor(HOST, PORT); // 接 続 する(ユーザー 名 は"user"で 固 定 ) CTISession session = driver.createsession("user", PASSWORD); try { //test.pdfに 結 果 を 出 力 する OutputStream out = new BufferedOutputStream(new FileOutputStream( "test.pdf")); try { session.setoutput(out, "application/pdf"); //エラーメッセージを 標 準 出 力 に 表 示 する session.seterrorhandler (StdioErrorHandler.getInstance()); "true"); "true"); //ハイパーリンクとブックマークを 作 成 する session.setproperty("output.pdf.hyperlinks", session.setproperty("output.pdf.bookmarks", Java ドライバ1

91 3. 開 発 者 ガイド // 以 下 にあるリソースへアクセスする session.includeresource("http://www.cssj.jp/**"); // index.htmlを 変 換 session.formatmain ("http://www.cssj.jp/index.html"); finally { out.close(); finally { //セッションを 閉 じる( 忘 れやすいので 注 意!) session.close(); クライアント 側 のデータを 変 換 するサンプルを 含 め これらのファイルはドライバの src/examplesに 収 められています サーブレットの 作 成 webappにウェブアプリケーションのサンプルが 収 められています このサンプルの ソースコードはwebapp/WEB-INF/srcにあります このサンプルは index.pdfにアクセスすると index.jspの 出 力 結 果 をPDFに 変 換 されたも のが 表 示 されるというものです webappディレクトリをサーブレット コンテナに 配 備 することで 実 際 に 動 かすことができます web.xml 内 のcontext-paramの 部 分 を 接 続 先 のcopperdに 合 わせて 設 定 してください サンプルのjp.cssj.cti.servlet.AbstractCSSJServletを 継 承 することで PDFを 出 力 するサー ブレットを 簡 単 に 作 ることができます ドライバを 利 用 してユーザーが 全 く 独 自 に サーブレットを 作 ることも 可 能 ですが 変 換 結 果 を 直 接 クライアントを 送 る 場 合 は 以 下 のようにContent-Lengthヘッダを 送 ることを 忘 れないで 下 さい Content-Lengthヘッ ダを 送 らないと Acrobat Readerプラグインで 表 示 されない 場 合 があります 例 3.3 Content-Lengthヘッダの 送 出... import jp.cssj.cti.helpers.progressadapter;...セッションの 作 成... session.setprogresslistener(new ProgressAdapter(true) { public void contentlength(long contentlength) { response.setcontentlength((int) contentlength); );... 変 換 処 理 Java ドライバ1 77

92 3. 開 発 者 ガイド フィルターを 使 ったServlet/JSPの 変 換 ウェブアプリケーションのサンプルに 含 まれるjp.cssj.cti.servlet.CSSJFilterは Servlet 2.3 の フィルタ を 利 用 してServletまたはJSPの 出 力 結 果 をPDFに 変 換 するものです サンプルでは filterディレクトリ 内 に 置 かれたファイルをPDFに 変 換 します ファイル は 静 的 なファイルのほか JSPなど 動 的 なファイルでも 構 いません CSSなどのリソースはresourcesファイルに 置 いています これらのファイルに 直 接 アク セスされるのを 防 ぐために jp.cssj.cti.servlet.accessfilterを 使 うことができます この フィルタは CSSJFilter 以 外 からのアクセスに 対 して 404エラーを 返 します ソースコード ドライバのソースはドライバの 配 布 ファイルのsrcディレクトリに 収 められています このソースは JDK1.4.2 以 降 でコンパイルすることができます Java ドライバ1

93 3. 開 発 者 ガイド 3.4 Perlドライバ1 Copper PDF 2.1.0からは より 強 力 なPerlドライバ バージョン2 が 利 用 可 能 です 従 来 のドライバもサポートされていますが 新 しいドライバの 使 用 を 検 討 してください Perlドライバ バージョン2の 説 明 (112ページ) 使 用 方 法 Perl 用 ド ラ イ バ は Copper PDF 本 体 と は 別 に 配 布 さ れ て い ま す からダウンロードしてくだ さ い ア プ リ ケ ー シ ョ ン は code デ ィ レ ク ト リ を ラ イ ブ ラ リ パ ス に 含 め usecssj::driver; でモジュールをインポートしてください APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はapidoc 内 のAPIドキュメントか オンラインのAPIドキュメントを 参 照 し てください サーバーへの 接 続 認 証 create_driver_for HOST PORT [ENCODING] CSSJ::Driver->create_session USER PASSWORD エラーハンドラ プログレスリスナの 設 定 CSSJ::Session->set_error_func FUNCTION CSSJ::Session->set_progress_func FUNCTION CSSJ::Session->set_content_length_func FUNCTION 出 力 先 の 設 定 CSSJ::Session->set_output OUTPUTHANDLE [MIME_TYPE] プロパティの 設 定 CSSJ::Session->set_property NAME VALUE 3.4 Perlドライバ1 79

94 3. 開 発 者 ガイド リソースの 送 信 アクセス 許 可 CSSJ::Session->include_resource URI_PATTERN CSSJ::Session->exclude_resource URI_PATTERN CSSJ::Session->start_resource FILEHANDLE URI [MIME_TYPE ENCODING] CSSJ::Session->end_resource FILEHANDLE 本 体 の 送 信 CSSJ::Session->format_main URI CSSJ::Session->start_main FILEHANDLE URI [MIME_TYPE ENCODING] CSSJ::Session->end_main FILEHANDLE 通 信 の 終 了 CSSJ::Session->close サンプル Perl 用 インターフェースは ファイルハンドルに 対 する 出 力 をキャプチャしてサーバー に 送 ります 以 下 の 例 では$session->start_mainと$session->flush_mainの 間 で 出 力 された HTMLが 変 換 されます 例 3.4 content.pl #!/usr/bin/perl =head1 NAME コンテンツ 変 換 サンプル =head2 概 要 start_mainとend_mainの 間 の 出 力 結 果 をPDFに 変 換 します =cut use lib '../code'; # ドライバのインポート use CSSJ::Driver(create_driver_for); # ドライバの 作 成 $driver = create_driver_for('localhost', 8099, 'EUC-JP'); # 接 続 $session = $driver->create_session('user', 'kappa'); # Content-Lengthヘッダの 送 信 Perlドライバ1

95 3. 開 発 者 ガイド $session->set_content_length_func (sub { my $length = shift; print "Content-Length: $length\n\n"; binmode(stdout); ); # Content-Typeヘッダの 送 信 print "Content-Type: application/pdf\n"; # リソースの 送 信 $session->start_resource(stdout, 'file:/skin.css'); print << 'EOF'; p { background-color: Gray; EOF $session->end_resource(stdout); # 本 体 の 送 信 $session->start_main(stdout, 'file:/test.html', 'text/html', 'EUC- JP'); print << 'EOF'; <html> <head> <title>テストドキュメント</title> <link rel="stylesheet" type="text/css" href="skin.css"> </head> <body> <p>こんにちは</p> </body> </html> EOF $session->end_main(stdout); # セッションを 閉 じる $session->close(); start_resource,start_mainにファイルハンドルを 渡 すと それぞれend_resource,end_mainが 呼 び 出 されるまで ファイルハンドルに 出 力 されたデータをcopperdに 送 ります その 間 ファイルハンドルの 本 来 の 機 能 (STDOUTでは 標 準 出 力 にデータを 送 るなど)は 使 え なくなります requireで 他 のプログラムを 呼 び 出 すことで 他 のプログラムの 出 力 結 果 を 変 換 すること もできます ただし CGIとして 作 成 されたPerlプログラムは HTTPヘッダを 出 力 するた め そのままではヘッダもPDF 内 に 表 示 されてしまいます start_resource, start_mainの 最 後 の 引 数 に1を 設 定 すると 最 初 の 空 行 までの 間 をヘッダと 認 識 して 除 去 します 3.4 Perlドライバ1 81

96 3. 開 発 者 ガイド 例 3.5 content.pl $session->start_main(stdout, 'file:/test.html', 'text/html', 'EUC- JP', 1); require 'program.cgi'; $session->end_main(stdout); Perlドライバ1

97 3. 開 発 者 ガイド 3.5 PHPドライバ1 Copper PDF 2.1.0からは より 強 力 なPHPドライバ バージョン2 が 利 用 可 能 です 従 来 のドライバもサポートされていますが 新 しいドライバの 使 用 を 検 討 してください PHPドライバ バージョン2の 説 明 (119ページ) 使 用 方 法 PHP 用 ド ラ イ バ は Copper PDF 本 体 と は 別 に 配 布 さ れ て い ま す からダウンロードしてくだ さい アプリケーションは codeディレクトリ 内 のcssj_driver.php をインクルード (require_once)してください PHP 用 ドライバではcssj_driver.php(driver パッケージ)の 関 数 を 用 いてください 他 の 関 数 は 低 レベルな 処 理 をするもので 通 常 は 必 要 ありませ ん また ソース 中 の 日 本 語 のコメントのために ファイルはEUC-JPエンコーディングと なっています PHPの 内 部 エンコーディングにEUC-JP 以 外 を 使 う 場 合 は asciiディレク トリの 中 にASCIIコードに 変 換 したものがありますので そちらを 利 用 してください APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はapidocディレクトリ 内 のAPIドキュメント(phpDocumentor) またはオンラ インのAPIドキュメントを 参 照 してください サーバーへの 接 続 認 証 mixed &cssj_create_driver_for ($host $host, $port $port, [$encoding $encoding = 'ISO ']) mixed &cssj_create_session ($driver &$driver, $user $user, $password $password) エラーハンドラ プログレスリスナの 設 定 void cssj_set_error_func ($session &$session, $errorfunc &$errorfunc) void cssj_set_progress_func ($session &$session, $progressfunc &$progressfunc) 出 力 先 の 設 定 boolean cssj_set_output ($session &$session, $out &$out, [$mimetype $mimetype = 'application/pdf']) 3.5 PHPドライバ1 83

98 3. 開 発 者 ガイド プロパティの 設 定 boolean cssj_set_property ($session &$session, $name $name, $value $value) リソースの 送 信 アクセス 許 可 boolean cssj_include_resource ($session &$session, $uripattern $uripattern) boolean cssj_exclude_resource ($session &$session, $uripattern $uripattern) boolean cssj_ob_start_resource ($session &$session, $uri $uri, [$mimetype $mimetype = 'text/css'], [$encoding $encoding = '']) boolean cssj_ob_end_flush_resource () 本 体 の 送 信 boolean cssj_format_main ($session &$session, $uri $uri) boolean cssj_ob_start_main ($session &$session, $uri $uri, [$mimetype $mimetype = 'text/html'], [$encoding $encoding = '']) boolean cssj_ob_end_flush_main () 通 信 の 終 了 boolean cssj_close ($session &$session) サンプル PHP 用 インターフェースは 出 力 バッファを 介 してドキュメントを 変 換 するのが 特 徴 で す 以 下 の 例 ではcssj_ob_start_mainとcssj_ob_end_flush_mainの 間 に 記 述 されたHTMLが 変 換 されます 例 3.6 ob.php <?php require_once ('../code/cssj_driver.php'); header("content-type: application/pdf"); //ドライバの 作 成 $driver = cssj_create_driver_for('localhost', 8099); //セッションの 開 始 $session = cssj_create_session($driver, 'user', 'kappa') or die(' サーバーに 接 続 できません'); //リソースの 送 信 cssj_ob_start_resource($session, 'file:test.css'); readfile('test.css'); cssj_ob_end_flush_resource(); PHPドライバ1

99 3. 開 発 者 ガイド // 出 力 結 果 の 変 換 の 開 始 cssj_ob_start_main($session, 'file:ob.html');?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=euc-jp"> <link rel="stylesheet" type="text/css" href="test.css"> <title>hello CSSJ</title> </head> <body> <h2>ただいまの 時 刻 </h2> <p><?php echo date("l ds of F Y h:i:s A")?></p> </body> </html> <?php // 出 力 結 果 の 変 換 の 終 了 cssj_ob_end_flush_main(); //セッションの 終 了 cssj_close($session);?> 単 純 に 変 数 から 変 数 に 変 換 する 場 合 は 以 下 のような 関 数 を 定 義 しておくと 便 利 です 実 際 の 使 用 例 はvar.phpを 参 照 してください 例 3.7 変 数 の 変 換 /** * 与 えられたデータをPDFに 変 換 して 返 します * $session セッション $input 元 のデータ 変 換 結 果 PDF */ function &topdf(&$session, $input) { // 出 力 先 $output = '';//nullの 場 合 標 準 出 力 となるので 必 ず 文 字 列 を 代 入 しておく 必 要 が ある cssj_set_output($session, $output); 3.5 PHPドライバ1 85

100 3. 開 発 者 ガイド // 変 換 cssj_ob_start_main($session, 'file:test.html'); echo $input; cssj_ob_end_flush_main(); //セッションの 終 了 cssj_close($session); return $output; Content-Lengthヘッダの 送 信 変 換 結 果 の 出 力 先 はデフォルトではクライアントにそのまま 返 されます このとき 自 動 的 にContent-Lengthヘッダが 送 信 されます それ 以 外 の 出 力 先 を 設 定 した 場 合 はContent-Lengthヘッダは 出 力 されません 最 終 的 に クライアントにPDFを 送 信 する 場 合 は Content-Lengthヘッダを 送 らないとAdobe Readerプラグインで 表 示 されない 場 合 がありますのでご 注 意 ください PHPドライバ1

101 3. 開 発 者 ガイド 3.6 copper Antタスク Copper PDF 2.1.0からは より 強 力 なtranscode Antタスク が 利 用 可 能 です 従 来 の Antタスク もサポートされていますが 新 しいAntタスク の 使 用 を 検 討 してください transcode Antタスク (148ページ) Antタスクの 概 要 頻 繁 に 更 新 されるドキュメントを 素 早 くまとめて 変 換 するために Apache Antによる バッチ 処 理 をサポートしています AntはJavaで 開 発 されたフリーのビルド ツールで す Antについての 詳 細 は 書 籍 などをご 参 照 下 さい Antタスクは Copper PDF 本 体 がインストールされたサーバー 上 で 実 行 する 必 要 があり ます 別 途 ライブラリをダウンロードする 必 要 はありません copper タスクの 使 用 方 法 copper タスクはドキュメントの 一 括 変 換 を 行 うためのタスクです なお CSSJ 1.x 系 の で 使 われていたcssjというタスク 名 も 使 用 できます copper タスクを 使 用 するために は Antのbuild.xml 中 で 次 のように 宣 言 する 必 要 があります 例 3.8 copper タスクの 宣 言 <path id="lib.path"> <fileset dir="copper PDFのlibディレクトリのパス" includes="*.jar"/> </path> <typedef classpathref="lib.path" resource="jp/cssj/driver/anttask/tasks.properties"/> 以 降 copperという 要 素 名 でタスクを 使 えるようになります copperタスクに 指 定 することができる 属 性 は 次 の 通 りです 表 3.1 copper タスクの 属 性 属 性 名 configfile configdir srcdir 説 明 Copper PDFの 設 定 ファイル(profiles/default.properties)です Copper PDFの(license-keyファイルが 置 かれた) 設 定 ディレクトリです 変 換 前 のXML,HTMLファイルなどが 格 納 されたディレクトリです 省 略 した 場 合 カレン トディレクトリとなります 3.6 copper Antタスク 87

102 3. 開 発 者 ガイド 属 性 名 includes excludes destdir suffix 説 明 srcdir 中 の 変 換 対 象 となるファイルのパターンです srcdir 中 の 変 換 対 象 外 となるファイルのパターンです 出 力 先 のディレクトリです 省 略 するとsrcDirと 同 じディレクトリになります 出 力 結 果 ファイルの 拡 張 子 です 省 略 した 場 合 は.pdfとなります copper 要 素 内 で property 要 素 を 使 って 入 出 力 プロパティを 設 定 することができます 表 3.2 property 要 素 の 属 性 属 性 名 説 明 name プロパティの 名 前 value プロパティの 値 以 下 の 例 では docs/manual.htmlからdocs/manual.pdfを 出 力 します 例 3.9 copper タスクの 使 用 例 <copper includes="docs/manual.html" suffix=".pdf" configfile="conf/profiles/default.properties"> <includeresource pattern="**" /> <property name="output.pdf.bookmarks" value="true" /> <property name="output.pdf.hyperlinks" value="true" /> <property name="output.pdf.fonts.policy" value="cid-keyed" /> </copper> 上 記 のサンプルは 実 際 にドキュメントディレクトリ(docsあるいは/usr/share/doc/copperpdf)に 収 められています 一 旦 manual.pdfを 削 除 して ドキュメントディレクトリ 内 で antを 実 行 することで 試 すことができます うまく 動 かない 場 合 Can't connect to X11... というエラーが 表 示 される JDK 1.4.2では 以 下 のようなエラーが 発 生 することがあります copper Antタスク

103 3. 開 発 者 ガイド 例 3.10 エラーメッセージの 例 [copper] java.lang.internalerror: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. [copper] at sun.awt.x11graphicsenvironment.initdisplay (Native Method) [copper] at sun.awt.x11graphicsenvironment.<clinit> (X11GraphicsEnvironment.java:134) [copper] at java.lang.class.forname0(native Method)... 省 略... [copper] at org.apache.tools.ant.launch.launcher.run (Launcher.java:246) [copper] at org.apache.tools.ant.launch.launcher.main (Launcher.java:67) [copper] Transcoded 0 file(s). BUILD FAILED /home/miyabe/workspaces/cssj/cssj/build/release/docs/build.xml:11: java.lang.internalerror: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. これは Copper PDFが 一 部 でグラフィック 環 境 を 必 要 とする 処 理 を 行 っているため ディスプレイが 接 続 されていない 環 境 で 発 生 するものです 以 下 のように ANT_OPTS 環 境 変 数 でjava.awt.headlessシステムプロパティをtrueにするように 設 定 することで 問 題 が 解 消 されます 例 3.11 java.awt.headlessの 設 定 export ANT_OPTS=-Djava.awt.headless=true ライセンスが 認 証 されない 場 合 出 力 結 果 に ライセンスファイルが 存 在 しないか 期 限 切 れです と 表 示 される 場 合 や 一 部 の 機 能 が 使 用 できない 場 合 は ライセンスキーのインストールか confディレクト リ(license-keyファイルが 置 かれたディレクトリ)のパスを 指 定 する 必 要 があります confディレクトリはcopperタスクのconfigdir 属 性 で 指 定 するか ANT_OPTS 環 境 変 数 に よりjp.cssj.copper.configシステムプロパティで 指 定 することもできます 例 3.12 設 定 ディレクトリの 指 定 (ANT_OPTS 環 境 変 数 ) export ANT_OPTS=-Djp.cssj.copper.config=/etc/copper-pdf 3.6 copper Antタスク 89

104 3. 開 発 者 ガイド 例 3.13 設 定 ディレクトリの 指 定 (configdir 属 性 ) <copper includes="docs/manual.html" suffix=".pdf" configfile="conf/profiles/default.properties" configdir="/etc/copper-pdf"> <includeresource pattern="**" /> <property name="output.pdf.bookmarks" value="true" /> <property name="output.pdf.hyperlinks" value="true" /> <property name="output.pdf.fonts.policy" value="cid-keyed" /> </copper> copper Antタスク

105 3. 開 発 者 ガイド 3.7 CTIP 2.0 インターフェースの 概 要 接 続 情 報 まず サーバー 側 が 各 接 続 方 式 に 対 応 するように 設 定 されていることを 確 認 してくださ い ドライバ 側 では 次 の 形 式 のURIで 接 続 情 報 を 設 定 します ctip://ホスト 名 :ポート/ 例 えば ローカルマシンの8099 版 ポートでCopper PDFサーバーが 動 作 している 場 合 は ctip://localhost:8099/ というアドレスをドライバに 渡 します TLSによる 暗 号 化 通 信 [3.0.0]を 用 いる 場 合 は ctips://localhost:8094/ のようにURIを 設 定 してください Java 用 ドライバはHTTP/RESTによる 接 続 にも 対 応 しています HTTPを 使 う 場 合 は "http:// :8097/" SSL(HTTPS)を 使 う 場 合 は "https:// : のようにURIを 設 定 してください メッセージコード 処 理 状 況 や 警 告 エラーとして 2バイトのメッセージコード メッセージに 付 随 する 値 人 間 が 読 める 形 式 の 文 字 列 の3つの 値 がドライバに 渡 されます メッセージコード は16 進 数 で 表 記 し 以 下 の 通 りクラス 分 けされます 1XXX 2XXX 3XXX 4XXX 処 理 情 報 文 書 のタイトル 出 力 したページの 番 号 等 です 警 告 メッセージ 通 常 の 運 用 でも 発 生 する 可 能 性 のある 軽 微 なエラーを 示 すもので 処 理 が 続 行 されます エラーメッセージ アプリケーション 等 の 問 題 によるエラーで 処 理 が 中 断 されます 深 刻 なエラー サーバープログラムのバグやシステムの 障 害 によるもので 処 理 が 中 断 されます 全 てのメッセージコードの 一 覧 は 資 料 集 (288ページ)を 参 照 してください サーバー 情 報 ドライバによりCopper PDFサーバーの 環 境 に 関 する 情 報 を 得 ることができます 情 報 の 種 類 はURIで 指 定 します 3.7 CTIP 2.0 インターフェースの 概 要 91

106 3. 開 発 者 ガイド Copper PDFのバージョン 情 報 です これは 以 下 の 形 式 のXMLです 例 3.14 バージョン 情 報 <?xml version="1.0" encoding="utf-8"?> <version> <long-version>copper PDF バージョン 番 号 /ビルド 番 号 </long-version> <name>copper PDF</name> <number>バージョン 番 号 </number> <build>ビルド 番 号 </build> <copyrights> 著 作 権 表 示 </copyrights> <credits> 付 属 ライブラリの 著 作 権 教 示 </credits> </version> [3.0.0] Copper PDFがサポートする 出 力 形 式 です これは 以 下 の 形 式 のXMLです 例 3.15 出 力 形 式 情 報 <?xml version="1.0" encoding="utf-8"?> <output-types> <type name="pdf" mimetype="application/pdf" suffix="pdf"/> <type name="png" mimetype="image/png" suffix="png"/> <type name="jpeg" mimetype="image/jpeg" suffix="jpg"/> <type name="wbmp" mimetype="image/vnd.wap.wbmp" suffix="wbmp"/> <type name="bmp" mimetype="image/bmp" suffix="bmp"/> <type name="svg" mimetype="image/svg+xml" suffix="pdf"/>... 以 降 <type name="フォーマット 名 " mimetype="mime 型 " suffix=" 拡 張 子 "/> の 繰 り 返 し... </output-types> [3.0.4] 利 用 可 能 なフォントの 一 覧 です これは 以 下 の 形 式 のXMLです CTIP 2.0 インターフェースの 概 要

107 3. 開 発 者 ガイド 例 3.16 フォント 情 報 <fonts> <font name="courier-bold" weight="700" type="core" direction="ltr"> <alias name="courier"/> <alias name="courier-new"/> </font> <font name="courier-boldoblique" italic="true" weight="700" type="core" direction="ltr"> <alias name="courier"/> <alias name="courier-new"/> </font> <font name="courier-oblique" italic="true" weight="400" type="core" direction="ltr"> <alias name="courier"/> <alias name="courier-new"/> </font>... 以 降 <font name="フォント 名 " (italic="true") weight=" 太 さ" type="タイプ" direction=" 方 向 "> <alias name=" 別 名 "/>... </font> の 繰 り 返 し... </fonts> italic="true" 属 性 は 斜 体 のフォントだけに 付 きます weightは100~900までの 数 値 です typeはcore, cid-keyed, cid-identity, embeddedのいずれかで それぞれコア14フォント CID-Keyedフォント 外 部 フォント 埋 め 込 みフォントに 対 応 します directionはltr, tbの いずれかで それぞれ 横 書 き 用 フォント 縦 書 き 用 フォントに 対 応 します CTIP 2.0 プロトコルの 仕 様 プロトコルの 仕 様 書 は 以 下 のアドレスで 公 開 しています 3.7 CTIP 2.0 インターフェースの 概 要 93

108 3. 開 発 者 ガイド 3.8 Java ドライバ 概 要 Java 用 ドライバは ストリーム(java.io.InputStream/java.io.OutputStream )からストリー ムへの 変 換 ができることが 特 徴 です ユーティリティークラスを 利 用 して ファイルか らストリーム ストリームからファイル ファイルからファイルなど あらゆる 入 出 力 に 対 応 できます また サーブレット/JSPの 出 力 をキャプチャして 変 換 するためのクラスが 用 意 されてい ます PDFのもととなるテンプレートをJSP, JSF, Velocity, Tapestryなど ウェブ 開 発 で 広 く 使 われているJavaベースのテンプレート 言 語 によりデザインできます ドライバの 準 備 Java 用 ド ラ イ バ は Copper PDF 本 体 と は 別 に 配 布 さ れ て い ま す か ら cti-java 2.x.x を ダ ウ ン ロードしてください アーカイブを 展 開 した 後 にできるlibディレクトリ 内 のcti-driver- 2.x.x.jarがドライバのライブラリです このファイルをクラスパスに 追 加 (あるいはアプ リケーションのライブラリディレクトにコピー)してください cti-driver-2.x.x.jarにはapache 系 の(org.apache.という 名 前 で 始 まる)クラスが 含 まれてお り アプリケーションがApache 系 のライブラリを 使 っている 場 合 は 衝 突 することがあ ります バージョン2.1.2 以 降 のドライバではcti-driver-2.x.x-min.jarというApache 系 のラ イブラリを 含 まないjarを 用 意 しています このjarではHTTP/REST 接 続 ができないとい う 制 約 があります ドライバの 窓 口 となるクラスはjp.cssj.cti2.CTIDriverManager です 例 えばlocalhostの 8099 番 ポートで 起 動 しているcopperdに ユーザーID"user" パスワード"kappa"で 接 続 す るには 以 下 のようにします 例 3.17 copperdへの 接 続 //ドライバクラスのインポート import jp.cssj.cti2.ctidrivermanager; import jp.cssj.cti2.ctisession;... CTISession session = CTIDriverManager.getSession ("ctip:// :8099/", "user", "kappa"); // 各 種 操 作... Java 用 ドライバはHTTP/RESTによる 接 続 にも 対 応 しています (91ページ) Java ドライバ2

109 3. 開 発 者 ガイド タイムアウトの 設 定 Java 版 ドライバ2.1.4 以 降 から 一 定 時 間 通 信 がない 状 態 で 自 動 的 に 通 信 を 切 断 するタイ ムアウトに 対 応 しています 以 下 のようにURLパラメータで timeoutをミリ 秒 単 位 で 指 定 できます ctip:// :8099/?timeout=10000 ctips, http 等 他 のプロトコルではタイムアウトは 無 効 です APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はドライバのapidocディレクトリ 内 のJavadocか オンラインのAPIドキュメ ントを 参 照 してください サーバーへの 接 続 認 証 public static CTIDriver getdriver(uri uri) public static CTISession getsession(uri uri) throws IOException public static CTISession getsession(uri uri, Map props) throws IOException public static CTISession getsession(uri uri, String user, String password) throws IOException public CTISession getsession(uri uri, Map props) throws IOException, SecurityException サーバー 情 報 の 取 得 public InputStream getserverinfo(java.net.uri uri) throws IOException メッセージハンドラ プログレスリスナの 設 定 public void setmessagehandler(messagehandler messagehandler) throws IOException public void setprogresslistener(progresslistener progresslistener) throws IOException 出 力 先 の 設 定 public void setresults(results results) throws IOException プロパティの 設 定 public void property(string name, String value) throws IOException 3.8 Java ドライバ2 95

110 3. 開 発 者 ガイド ソースリゾルバの 設 定 public void setsourceresolver(sourceresolver resolver) throws IOException リソースの 送 信 public void resource(source source) throws IOException public OutputStream resource(metasource metasource) throws IOException 本 体 の 送 信 変 換 public void transcode(source source) throws IOException, TranscoderException public OutputStream transcode(metasource metasource) throws IOException public void transcode(uri uri) throws IOException, TranscoderException 複 数 の 結 果 の 結 合 public void setcontinuous(boolean continuous) throws IOException public void join() throws IOException 処 理 の 中 断 リセット 通 信 の 終 了 public void abort(byte mode) throws IOException public void reset() throws IOException public void close() throws IOException サンプル 次 の 例 は ストリームに 送 ったHTMLをPDFに 変 換 してファイルとして 保 存 します 例 3.18 ストリームに 送 ったHTMLをPDFに 変 換 package jp.cssj.cti2.examples; import java.io.file; import java.io.outputstreamwriter; import java.io.printwriter; import java.net.uri; import jp.cssj.cti2.ctidrivermanager; import jp.cssj.cti2.ctisession; import jp.cssj.cti2.helpers.ctimessagehelper; import jp.cssj.cti2.helpers.ctisessionhelper; import jp.cssj.resolver.helpers.metasourceimpl; Java ドライバ2

111 3. 開 発 者 ガイド public class Example1 { /** 接 続 先 */ private static final URI SERVER_URI = URI.create ("ctip:// :8099/"); /** ユーザー */ private static final String USER = "user"; /** パスワード */ private static final String PASSWORD = "kappa"; public static void main(string[] args) throws Exception { // 接 続 する CTISession session = CTIDriverManager.getSession (SERVER_URI, USER, PASSWORD); try { // test.pdfに 結 果 を 出 力 する File file = new File("test.pdf"); CTISessionHelper.setResultFile(session, file); // リソースの 送 信 { PrintWriter out = new PrintWriter(new OutputStreamWriter( session.resource(new MetaSourceImpl (URI.create("style.css"), "text/html")), "UTF-8")); try { // CSSを 出 力 out.println("p {color: Red;"); finally { out.close(); // 出 力 先 ストリームを 取 得 { PrintWriter out = new PrintWriter(new OutputStreamWriter( session.transcode(new MetaSourceImpl (URI.create("."), "text/html")), "UTF-8")); try { // 文 書 を 出 力 out.println("<html>"); out.println("<head>"); out.println("<meta http-equiv='content-type' content='text/html; charset=utf-8'>"); 3.8 Java ドライバ2 97

112 3. 開 発 者 ガイド out.println("<link rel='stylesheet' type='text/css' href='style.css'>"); out.println("<title>サンプル</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>hello World!</p>"); out.println("</body>"); out.println("</html>"); finally { out.close(); finally { // セッションを 閉 じる( 忘 れやすいので 注 意!) session.close(); 次 の 例 は サーバー 側 からネットワーク 上 のウェブページアクセスしてPDFに 変 換 しま す 例 3.19 サーバー 側 からウェブページにアクセスしてPDFに 変 換 package jp.cssj.cti2.examples; import java.io.file; import java.net.uri; import jp.cssj.cti2.ctidrivermanager; import jp.cssj.cti2.ctisession; import jp.cssj.cti2.helpers.ctimessagehelper; import jp.cssj.cti2.helpers.ctisessionhelper; public class Example2 { /** 接 続 先 */ private static final URI SERVER_URI = URI.create ("ctip:// :8099/"); /** ユーザー */ private static final String USER = "user"; /** パスワード */ private static final String PASSWORD = "kappa"; public static void main(string[] args) throws Exception { // 接 続 する CTISession session = CTIDriverManager.getSession (SERVER_URI, USER, Java ドライバ2

113 3. 開 発 者 ガイド PASSWORD); try { // test.pdfに 結 果 を 出 力 する File file = new File("test.pdf"); CTISessionHelper.setResultFile(session, file); // エラーメッセージを 標 準 出 力 に 表 示 する session.setmessagehandler(ctimessagehelper.createstreammessagehandler(system.err)); // ハイパーリンクとブックマークを 作 成 する session.property("output.pdf.hyperlinks", "true"); session.property("output.pdf.bookmarks", "true"); // 以 下 にあるリソースへのアクセスを 許 可 する session.property("input.include", "http://print.cssj.jp/**"); // ウェブページを 変 換 session.transcode(uri.create("http://print.cssj.jp/")); finally { // セッションを 閉 じる( 忘 れやすいので 注 意!) session.close(); 他 のサンプルはドライバのexamples/srcに 収 められています プログラミングのポイント CTISessionHelperの 利 用 結 果 の 出 力 先 リ ソ ー ス の 送 信 フ ァ イ ル の 変 換 等 の よ く 使 わ れ る 操 作 が jp.cssj.cti2.helpers.ctisessionhelper のstaticメソッドにまとめられています 例 えば 事 前 に 関 連 するCSSを 送 信 してHTMLファイルを 変 換 する 処 理 は 次 のように 簡 単 に 書 けます 例 3.20 ファイルを 変 換 する... CTIDriverManager.sendResourceFile(session, new File("test.css"), "text/css", "UTF-8"); CTIDriverManager.transcodeFile(session, new File("test.html"), "text/html", "UTF-8"); Java ドライバ2 99

114 3. 開 発 者 ガイド 繰 り 返 し 処 理 出 力 先 を 変 え transcodeメソッドを 繰 り 返 し 呼 び 出 すことで 同 じセッションで 何 度 も ドキュメントを 変 換 することができます 送 信 済 みのリソース 設 定 済 みのプロパティ は 同 じセッションで 維 持 されます 同 じセッションのまま 初 期 状 態 に 戻 すには reset を 呼 び 出 してください 出 力 先 (Results)の 設 定 出 力 先 が 単 一 のファイルやストリームの 場 合 は CTISessionHelperの setresultfile か setresultstream を 使 っ て く だ さ い こ れ ら の メ ソ ッ ド は 内 部 的 に jp.cssj.cti2.results.singleresultクラスを 使 用 しています jp.cssj.cti2.results.resultsインターフェースは 複 数 の 出 力 結 果 を 受 け 取 るためのイン ターフェースです CTISessionのsetResultsメソッドに 渡 します 複 数 の 結 果 をファイルとして 出 力 する 場 合 は jp.cssj.cti2.results.directoryresults を 使 用 してください このクラスは 指 定 したディレクトリに 1から 開 始 する 連 番 の 前 後 に 指 定 した 文 字 列 をくっつけたファイル 名 で 結 果 を 出 力 します 次 の 例 では 変 換 結 果 の 各 ページを resultsディレクトリ 内 に"image[ 通 し 番 号 ].jpeg"という 名 前 で 別 々のJPEG 画 像 として 出 力 します 例 3.21 ディレクトリに 結 果 を 出 力 する... session.property("output.type", "image/jpeg"); session.setresults(new DirectoryResults(new File("results"), "image", ".jpeg"));... さらに 複 雑 な 処 理 が 必 要 な 場 合 は Resultsインターフェースを 実 装 するクラスを 用 意 す る 必 要 があります Resultsインターフェースは jp.cssj.rsr.randombuilder に 依 存 します が RandomBuilder に は フ ァ イ ル と ス ト リ ー ム に デ ー タ を 出 力 す る 実 装 (jp.cssj.rsr.impl.filerandombuilder, jp.cssj.rsr.impl.streamrandombuilder) が 用 意 されてい ます サーバーから 要 求 されたリソースの 送 信 (SourceResolver) CTISessionのsetSourceResolverで ソースリゾルバ(jp.cssj.resolver.SourceResolver ) を 設 定 すると サーバーから 要 求 されたリソースを 都 度 送 信 できるようになります jp.cssj.resolver.composite.compositesourceresolver の static メ ソ ッ ド creategenericcompositesourceresolver を 呼 び 出 すと file:, data:で 始 まるURIによの リソースを 取 得 できるSourceResolverの 実 装 が 返 されます Java ドライバ2

115 3. 開 発 者 ガイド CompositeSourceResolverをそのまま 使 用 すると クライアントのファイルシステム 上 の ファイルをドキュメントから 参 照 可 能 になってしまうため 注 意 してください 次 の 例 のように jp.cssj.resolver.restricted.restrictedsourceresolver を 使 用 すると アクセス 制 限 をかけることができます 例 3.22 アクセス 制 限 をしてSourceResolverを 使 う... RestrictedSourceResolver resolver = new RestrictedSourceResolver( CompositeSourceResolver.createGenericCompositeSourceResolver()); resolver.include("file:/home/miyabe/data/**"); session.setsourceresolver(resolver);... MetaSource CTISessionの resource, transcode メソッド 等 では データの 仮 想 URI MIME 型 キャラク タ エンコーディング 予 測 されるデータサイズをMetaSource インターフェースによ り 渡 します 通 常 は 用 意 されている jp.cssj.resolver.helpers.metasourceimpl という 実 装 を 利 用 してく ださい 複 数 の 結 果 の 結 合 複 数 の 結 果 を 結 合 したものを 得 るためには setcontinuous(true) を 呼 び 出 した 後 transcodeを 複 数 回 呼 び 出 し 最 後 にjoin を 呼 び 出 してください 例 つの 結 果 の 結 合... session.setcontinuous(true); CTIDriverManager.sendResourceFile(session, new File("test.css"), "text/css", "UTF-8"); CTIDriverManager.transcodeFile(session, new File("test.html"), "text/html", "UTF-8"); session.transcode(uri.create("http://print.cssj.jp/")); session.join();... abortによる 中 断 CTISessionのabort メソッドは 文 書 の 変 換 処 理 を 中 断 しますが transcodeメソッドは 処 理 の 間 ブロックするため 別 スレッドからabortを 呼 び 出 す 必 要 があります abortは 引 数 に よって 強 制 的 に 中 断 するモードと きりのよいところまで 処 理 して 一 応 利 用 可 能 な 結 果 を 出 力 するモードの2つがあります 後 者 のモードは 例 えば 大 きなPDFファイルを 3.8 Java ドライバ2 101

116 3. 開 発 者 ガイド 出 力 中 に 処 理 を 中 断 して 途 中 までの 出 力 結 果 を 見 たい 場 合 に 有 用 です ただし 1 ページ 目 を 出 力 される 前 に 中 断 してしまった 場 合 など 読 み 込 み 可 能 なデータが 出 力 で きないことも 起 こり 得 ます サーブレット/JSPでの 利 用 サーブレットで クライアントに 対 してドキュメントの 変 換 結 果 を 送 る 場 合 は jp.cssj.cti2.helpers.servlethelper クラスの setservletresponse メソッドを 使 ってください このメソッドは 内 部 で jp.cssj.cti2.helpers.servletresponseresults クラスを 使 用 しており 出 力 結 果 に 合 わせてContent-Type, Content-Lengthヘッダを 適 切 に 設 定 します サーブレットやJSPが 出 力 するデータをキャプチャしてCTISessionに 渡 す 場 合 は jp.cssj.cti2.helpers.ctihttpservletresponsewrapper クラスを 使 用 してください このクラ スは キャプチャしたデータをリソースか メインドキュメントとしてCTISessionに 渡 し ま す ServletResponse を CTIHttpServletResponseWrapper に よ り ラ ッ プ し て RequestDispatcherにより 他 のサーブレット/JSPに 転 送 すると 転 送 先 のサーブレッ ト/JSPによる 出 力 をキャプチャします あるいは フィルタを 使 う 方 法 があります 次 に 紹 介 するサンプルプログラムは ドライバのexamples/webappディレクトリにあり ます このサンプルは source.jspの 出 力 を2 通 りの 方 法 で 変 換 します 1つめは /pdf/ で 始 まるパスへのアクセスを サーブレットで 転 送 する 方 法 です /pdf/source.jspに 対 する アクセスを RequestDispatcherにより/source.jspに 転 送 し 転 送 先 の 出 力 を 変 換 します 2つめは /source.jspに 対 するアクセスを 文 字 通 りフィルタリングして 変 換 する 方 法 で す そ れ ぞ れ jp.cssj.cti2.examples.samplehttpservlet と い う 名 前 の サ ー ブ レ ッ ト と jp.cssj.cti2.examples.samplefilterという 名 前 のフィルタを 使 う 場 合 のweb.xmlの 記 述 は 次 のとおりです 例 3.24 web.xmlの 記 述 例 <?xml version="1.0" encoding="utf-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee version="2.4"> <filter> <filter-name>sample-filter</filter-name> <filter-class>jp.cssj.cti2.examples.samplefilter</filter-class> </filter> <filter-mapping> <filter-name>sample-filter</filter-name> <url-pattern>/source.jsp</url-pattern> </filter-mapping> <servlet> Java ドライバ2

117 3. 開 発 者 ガイド <servlet-name>sample-servlet</servlet-name> <servlet-class>jp.cssj.cti2.examples.samplehttpservlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>sample-servlet</servlet-name> <url-pattern>/pdf/*</url-pattern> </servlet-mapping> </web-app> 次 が サーブレットの 実 装 です HttpServletRequestのgetPathInfoにより ユーザーがアク セ ス し た ア ド レ ス の /pdf の 後 に 続 く パ ス を 取 得 し レ ス ポ ン ス を CTIHttpServletResponseWrapperでラップして そのパスに 転 送 します 例 え ば ユ ー ザ ー がhttp://localhost:8180/webapp/pdf/source.jsp に ア ク セ ス す る と source.jsp の 出 力 をPDF 変 換 したものが 返 されます 例 3.25 RequestDispatcherにより 他 のJSPの 出 力 をキャプチャする package jp.cssj.cti2.examples; import java.io.ioexception; import java.net.uri; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import jp.cssj.cti2.ctidrivermanager; import jp.cssj.cti2.ctisession; import jp.cssj.cti2.helpers.ctihttpservletresponsewrapper; public class SampleHttpServlet extends HttpServlet { private static final long serialversionuid = 0L; /** 接 続 先 */ private static final URI SERVER_URI = URI.create ("ctip:// :8099/"); /** ユーザー */ private static final String USER = "user"; /** パスワード */ private static final String PASSWORD = "kappa"; protected void doget(httpservletrequest req, 3.8 Java ドライバ2 103

118 3. 開 発 者 ガイド HttpServletResponse res) throws ServletException, IOException { // 出 力 先 をレスポンスに 設 定 ServletHelper.setServletResponse(session, res); // PATH_INFOのアドレスに 転 送 String path = ((HttpServletRequest) req).getpathinfo(); // 転 送 先 のサーブレットが 出 力 したコンテンツを 変 換 CTIHttpServletResponseWrapper ctires = new CTIHttpServletResponseWrapper( res, session, URI.create(path)); try { req.getrequestdispatcher(path).forward(req, ctires); finally { ctires.close(); 次 は フィルタの 実 装 です 単 にレスポンスをCTIHttpServletResponseWrapperでラップ して 処 理 を 次 に 渡 すだけです 例 えば ユーザーがhttp://localhost:8180/webapp/source.jsp にアクセスすると source.jsp の 出 力 をPDF 変 換 したものが 返 されます 例 3.26 Filterによる 変 換 package jp.cssj.cti2.examples; import java.io.ioexception; import java.net.uri; import javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterconfig; import javax.servlet.servletexception; import javax.servlet.servletrequest; import javax.servlet.servletresponse; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import jp.cssj.cti2.ctidrivermanager; import jp.cssj.cti2.ctisession; import jp.cssj.cti2.helpers.ctihttpservletresponsewrapper; public class SampleFilter implements Filter { /** 接 続 先 */ Java ドライバ2

119 3. 開 発 者 ガイド private static final URI SERVER_URI = URI.create ("ctip:// :8099/"); /** ユーザー */ private static final String USER = "user"; /** パスワード */ private static final String PASSWORD = "kappa"; private FilterConfig config; public void init(filterconfig config) throws ServletException { this.config = config; public void dofilter(servletrequest _req, ServletResponse _res, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) _req; HttpServletResponse res = (HttpServletResponse) _res; CTISession session = CTIDriverManager.getSession (SERVER_URI, USER, PASSWORD); try { // 出 力 先 をレスポンスに 設 定 ServletHelper.setServletResponse(session, res); // 基 底 URLとしてコンテキスト 以 降 のパスを 使 う URI uri = URI.create(req.getRequestURI().substring( req.getcontextpath().length())); // サーブレットが 出 力 したコンテンツを 変 換 CTIHttpServletResponseWrapper ctires = new CTIHttpServletResponseWrapper( (HttpServletResponse) res, session, uri); try { chain.dofilter(req, ctires); finally { ctires.close(); finally { session.close(); public void destroy() { // ignore 3.8 Java ドライバ2 105

120 3. 開 発 者 ガイド 前 記 の 例 では source.jspと 一 緒 に 置 かれたCSSや 画 像 が 読 み 込 まれません これらを 読 み 込 むようにするには 次 のようなSourceResolverを 用 意 します 例 3.27 リソースを 読 み 込 むSourceResolver class ServletContextResolver implements SourceResolver { protected final ServletContext context; public ServletContextResolver(ServletContext context) { this.context = context; public Source resolve(uri uri) throws IOException { // コンテキストに 置 かれたファイルを 取 得 する URL url = this.context.getresource(uri.tostring()); if (url == null) { throw new FileNotFoundException(uri.toString()); try { return new URLSource(url); catch (URISyntaxException e) { IOException ioe = new IOException(); ioe.initcause(e); throw ioe; public void release(source source) { ((URLSource) source).close(); 次 のようにサーブレット 内 でこのSourceResolverを 設 定 すると source.jspからの 相 対 パ スでCSSや 画 像 にアクセスできるようになります 例 3.28 SourceResolverを 設 定 する session.setsourceresolver(new ServletContextResolver(this.getServletContext())); ただし この 方 法 では 動 的 に 生 成 したCSSや 画 像 にはアクセスできませんので ご 注 意 ください 全 てを 動 的 に 変 換 する 場 合 は Session.transcodeメソッドを 呼 び 出 して ロー カルホストのサーブレットコンテナにCopper PDFからアクセスするのがよいでしょう Java ドライバ2

121 3. 開 発 者 ガイド ソースコード ドライバのソースコードはSourceForge.JPに 公 開 しています ドライバのソースコード が 必 要 な 方 は 以 下 の ガ イ ド を 参 考 にSVN か ら 取 得 し て く だ さ い CTI Java の ソ ー ス コ ー ド の タ ー ゲ ッ ト パ ス は 以 下 の 通 り で す Copper PDFのライブラリに 直 接 アクセスする JavaではCopper PDFサーバーを 起 動 せずに 直 接 Copper PDFのライブラリを 使 用 するこ とができます このためには 以 下 のようにドライバの 接 続 先 として 特 別 なURIであ る"copper:direct:"を 設 定 します 例 3.29 直 接 Copper PDFのライブラリを 使 用 する import java.io.file; import java.net.uri; import jp.cssj.cti2.ctidrivermanager; import jp.cssj.cti2.ctisession; import jp.cssj.cti2.helpers.ctisessionhelper; import jp.cssj.resolver.composite.compositesourceresolver; public class DirectJava { public static void main(final String[] args) throws Exception { CTISession session = CTIDriverManager.getSession(URI.create("copper:direct:")); CTISessionHelper.setResultFile(session, new File ("test.pdf")); CompositeSourceResolver resolver = CompositeSourceResolver.createGenericCompositeSourceResolver(); session.setsourceresolver(resolver); session.transcode(uri.create("http://copper-pdf.com/")); session.close(); こうして 得 られたCTISessionの 使 用 方 法 は 通 常 通 りドライバを 使 う 場 合 と 変 わりあり ません また プログラムのコンパイルも 通 常 通 りドライバのjarをクラスパスに 加 える ことで 可 能 です 3.8 Java ドライバ2 107

122 3. 開 発 者 ガイド しかし 当 然 ながらプログラムの 実 行 時 にはCopper PDFのlibディレクトリ 内 にあるjar を ク ラ ス パ ス に 加 え る 必 要 が あ り ま す ま た Java の シ ス テ ム プ ロ パ テ ィ jp.cssj.copper.config, jp.cssj.driver.default にそれぞれ 設 定 ディレクトリとdefault.properties ファイルへのパスを 設 定 する 必 要 があります 例 えば Windowsのバッチファイルにより 起 動 する 場 合 は 次 のようにします この 例 で は"C:\CopperPDF"に 配 置 したCopper PDFを 使 用 し カレントディレクトリに 置 かれた DirectJava.classを 実 行 します 例 3.30 プログラムの 起 動 (Windows) set COPPER_DIR="C:\CopperPDF" set CONFIG_DIR="%COPPER_DIR%\conf" set DEFAULT_FILE="%COPPER_DIR%\conf\profiles/default.properties" set LIB_DIR="%COPPER_DIR%\lib" java -cp.;%lib_dir%\* -Djp.cssj.copper.config=%CONFIG_DIR% - Djp.cssj.driver.default=%DEFAULT_FILE% DirectJava Linux 等 でシェルスクリプトにより 起 動 する 場 合 は 次 のようにします この 例 では.rpm や.debでインストールしたCopper PDFを 使 用 し カレントディレクトリに 置 かれた DirectJava.classを 実 行 します 例 3.31 プログラムの 起 動 (シェルスクリプト) #!/bin/sh CONFIG_DIR="/etc/copper-pdf" DEFAULT_FILE="/etc/copper-pdf/profiles/default.properties" LIB_DIR="/usr/share/copper-pdf/lib" java -cp.:$lib_dir/* -Djava.awt.headless=true - Djp.cssj.copper.config=$CONFIG_DIR - Djp.cssj.driver.default=$DEFAULT_FILE DirectJava JRubyを 使 う 場 合 Java VMを 利 用 したRuby 実 行 環 境 であるJRubyでは RubyからJava 用 のドライバを 利 用 することができます JRubyは 普 通 のRuby(CRuby)と 同 じくらいか 時 にはそれ 以 上 の 性 能 を 発 揮 します また Javaと 併 用 する 手 軽 なスクリプト 言 語 としても 優 秀 です ぜひ JRuby の 使 用 を 検 討 し て く だ さ い ど う し て も CRuby を 使 う 必 要 が あ る 場 合 は HTTP/RESTインターフェースを 利 用 してください JRubyを 使 う 場 合 まずJava 用 ドライバをダウンロードしてください 次 にcti-driver- 2.x.x.jarを 適 当 な 場 所 (/usr/lib/jruby/libなど)に 配 置 してください 以 下 の 例 では Copper PDFに 接 続 し Rubyで 出 力 したHTMLをPDFに 変 換 してファイル に 保 存 します Java ドライバ2

123 3. 開 発 者 ガイド 例 3.32 Rubyで 出 力 したHTMLを 変 換 する include Java require "cti-driver.jar" #jarのパスは 環 境 に 合 わせてください include_class Java::jp.cssj.cti2.CTIDriverManager include_class Java::jp.cssj.cti2.CTISession include_class Java::jp.cssj.cti2.helpers.CTIMessageHelper include_class Java::jp.cssj.cti2.helpers.CTISessionHelper include_class Java::jp.cssj.resolver.helpers.MetaSourceImpl include_class Java::java.io.File include_class Java::java.net.URI include_class Java::java.lang.System # セッションの 開 始 session = CTIDriverManager.getSession(URI.create ("ctip://localhost:8099/"), "user", "kappa") begin # ファイル 出 力 CTISessionHelper.setResultFile(session, File.new("test.pdf")) # エラーメッセージを 標 準 エラー 出 力 に 表 示 する session.setmessagehandler (CTIMessageHelper.createStreamMessageHandler(System.err)) # サーバーへの 出 力 をJavaのOutputStreamからRubyのioに 変 換 して 取 得 out = session.transcode(metasourceimpl.new(uri.create("."), "text/html", "UTF-8")).to_io; begin out.puts <<DATA <html> <body> JRubyからCopper PDFを 使 う </body> </html> DATA ensure # クローズを 忘 れないこと! out.close; end; ensure # セッションの 終 了 session.close end JRubyではJavaドライバのAPIをそのまま 利 用 することができます 詳 細 はJavaドライバ のAPIのドキュメントを 参 照 してください 3.8 Java ドライバ2 109

124 3. 開 発 者 ガイド Jythonを 使 う 場 合 Java VMを 利 用 したPython 実 行 環 境 であるJythonでは PythonからJava 用 のドライバを 利 用 することができます Jythonは 普 通 のPython(CPython)と 同 じくらいか 時 にはそれ 以 上 の 性 能 を 発 揮 します どうしてもCPythonを 使 う 必 要 がある 場 合 は HTTP/RESTイン ターフェースを 利 用 してください Jythonを 使 う 場 合 まずJava 用 ドライバをダウンロードしてください 次 にcti-driver- 2.x.x.jarを 適 当 な 場 所 (/usr/share/java/など)に 配 置 してください 以 下 の 例 では Copper PDFに 接 続 し Pythonで 出 力 したHTMLをPDFに 変 換 してファイル に 保 存 します 例 3.33 Pythonで 出 力 したHTMLを 変 換 する # -*- coding: utf-8 -*- import sys sys.path.append("cti-driver.jar"); from jp.cssj.cti2.helpers import CTIMessageHelper from jp.cssj.cti2.helpers import CTISessionHelper from jp.cssj.resolver.helpers import MetaSourceImpl from jp.cssj.driver.ctip import CTIPDriver from java.io import File from java.net import URI from java.lang import System from java.util import HashMap driver = CTIPDriver() params = HashMap() params.put("user", "user") params.put("password", "kappa") session = driver.getsession(uri.create("ctip://localhost:8099/"), params) try: # ファイル 出 力 CTISessionHelper.setResultFile(session, File("test.pdf")) # エラーメッセージを 標 準 エラー 出 力 に 表 示 する session.setmessagehandler (CTIMessageHelper.createStreamMessageHandler(System.err)) # サーバーへの 出 力 を 取 得 out = session.transcode(metasourceimpl(uri.create("."), "text/html", "UTF-8")); try: out.write(""" <html> Java ドライバ2

125 3. 開 発 者 ガイド <body> JythonからCopper PDFを 使 う </body> </html> """) finally: # クローズを 忘 れないこと! out.close() finally: # セッションの 終 了 session.close() JythonではJavaドライバのAPIをそのまま 利 用 することができます 詳 細 はJavaドライ バのAPIのドキュメントを 参 照 してください 3.8 Java ドライバ2 111

126 3. 開 発 者 ガイド 3.9 Perlドライバ 概 要 Perl 用 ドライバは Perlスクリプトによる 出 力 をPDFに 変 換 できることが 特 徴 です CGI 等 として 作 成 された 他 のPerlプログラムの 出 力 を もとのプログラムを 変 えないまま 変 換 することができます また PDFのもととなるテンプレートをTemplateToolkit 等 Perl ベースのテンプレートエンジンにより 作 成 することができます ドライバの 準 備 Perl 用 ド ラ イ バ は Copper PDF 本 体 と は 別 に 配 布 さ れ て い ま す か ら cti-perl-2.x.x ダ ウ ン ロードしてください アプリケーションは codeディレクトリをライブラリパスに 含 め usecti::drivermanager; でモジュールをインポートしてください Copper PDF 3.0.0, Perlドライババージョン2.1.0ではTLS 通 信 に 対 応 しています TLS 通 信 には IO::Socket::SSL モジュールが 必 要 です 例 3.34 copperdへの 接 続 # ドライバモジュールのインポート use CTI::DriverManager; # サーバーへの 接 続 my $uri = 'ctip://localhost:8099/'; my $session = CTI::DriverManager::get_session($uri, user => 'user', password => 'kappa'); # 各 種 操 作 APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はapidoc 内 のAPIドキュメントか オンラインのAPIドキュメントを 参 照 し てください サーバーへの 接 続 認 証 get_driver URI get_session URI [OPTIONS] CTI Driver->get_session URI [OPTIONS] サーバー 情 報 の 取 得 CTI Session->get_server_info FUNCTION Perlドライバ2

127 3. 開 発 者 ガイド メッセージハンドラ プログレスリスナの 設 定 CTI Session->set_message_func FUNCTION CTI Session->set_progress_func FUNCTION 出 力 先 の 設 定 CTI Session->set_results RESULTS CTI Session->set_output_as_handle FILEHANDLE CTI Session->set_output_as_file FILENAME CTI Session->set_output_as_directory DIRNAME プロパティの 設 定 CTI Session->property NAME VALUE ソースリゾルバの 設 定 CTI::Session->set_resolver_func FUNCTION リソースの 送 信 CTI::Session->start_resource FILEHANDLE URI [OPTIONS] CTI::Session->end_resource FILEHANDLE 本 体 の 送 信 変 換 CTI::Session->transcode URI CTI::Session->start_main FILEHANDLE URI [OPTIONS] CTI::Session->end_main FILEHANDLE 複 数 の 結 果 の 結 合 CTI::Session->set_continuous MODE CTI::Session->join 処 理 の 中 断 リセット 通 信 の 終 了 CTI::Session->abort MODE CTI::Session->reset CTI::Session->close 3.9 Perlドライバ2 113

128 3. 開 発 者 ガイド サンプル 以 下 は プログラムによる 出 力 を 変 換 するサンプルです start_main, end_main 関 数 の 間 の 標 準 出 力 への 出 力 をキャプチャして 変 換 します 例 3.35 プログラムによる 出 力 を 変 換 する #!/usr/bin/perl use strict; use lib '../code'; use CTI::DriverManager; # Copper PDFに 接 続 my $uri = 'ctip://localhost:8099/'; my $session = CTI::DriverManager::get_session($uri, user => 'user', password => 'kappa'); # ファイル 出 力 $session->set_output_as_file('test.pdf'); # リソースの 送 信 $session->start_resource(*stdout, 'style.css', mime_type => 'text/css'); print "p {color: Red;"; $session->end_resource(*stdout); # 出 力 の 変 換 を 開 始 $session->start_main(*stdout, '.', mime_type => 'text/html'); print "<html>"; print "<head>"; print "<meta http-equiv='content-type' content='text/html; charset=utf-8'>"; print "<link rel='stylesheet' type='text/css' href='style.css'>"; print "<title>サンプル</title>"; print "</head>"; print "<body>"; print "<p>hello World!</p>"; print "</body>"; print "</html>"; # 出 力 の 変 換 を 終 了 $session->end_main(*stdout); # 接 続 を 閉 じる $session->close(); 次 の 例 は サーバー 側 からネットワーク 上 のウェブページアクセスしてPDFに 変 換 しま す Perlドライバ2

129 3. 開 発 者 ガイド 例 3.36 サーバー 側 ウェブページにアクセスしてPDFに 変 換 #!/usr/bin/perl use strict; use lib '../code'; use CTI::DriverManager; # セッションの 開 始 my $uri = 'ctip://localhost:8099/'; my $session = CTI::DriverManager::get_session($uri, user => 'user', password => 'kappa'); # ファイル 出 力 $session->set_output_as_file('test.pdf'); # リソースのアクセス 許 可 $session->property('input.include', 'http://copper-pdf.com/**'); # 文 書 の 送 信 $session->transcode('http://copper-pdf.com/'); # セッションの 終 了 $session->close(); 他 のサンプルはドライバのsrc/testに 収 められています プログラミングのポイント Content-Type, Content-Length ヘッダの 出 力 ウェブアプリケーションでは Content-Type, Content-Lengthヘッダを 出 力 しないと ブ ラ ウ ザ 上 で PDF が 正 常 に 表 示 さ れ な い こ と が あ り ま す 以 下 の よ う に set_output_as_handle 関 数 の2 番 目 の 引 数 に1を 設 定 してください これらのヘッダが 自 動 的 に 出 力 されます 例 3.37 ヘッダの 出 力 を 有 効 にする... $session->set_output_as_handle(*stdout, 1);... 他 のプログラムを 呼 び 出 して 変 換 する 他 のプログラムによる 出 力 を 変 換 するには start_main, end_mainの 間 でrequireしてくだ さ い CGI プ ロ グ ラ ム 等 は ヘ ッ ダ を 出 力 す る こ と が あ り ま す が start_main に ignore_headers => 1 オプションを 加 えて 呼 び 出 すと これを 除 去 します 以 下 の 例 では bbs.cgiというプログラムの 出 力 を 変 換 します 3.9 Perlドライバ2 115

130 3. 開 発 者 ガイド 例 3.38 他 のプログラムの 出 力 を 変 換 する... $session->start_main(*stdout, '.', mime_type => 'text/html', ignore_headers => 1); require "bbs.cgi"; $session->end_main(*stdout);... start_resource, end_resourceについても 同 じことができます 繰 り 返 し 処 理 出 力 先 を 変 え start_main/end_main または transcodeを 繰 り 返 し 呼 び 出 すことで 同 じ セッションで 何 度 もドキュメントを 変 換 することができます 送 信 済 みのリソース 設 定 済 みのプロパティは 同 じセッションで 維 持 されます 同 じセッションのまま 初 期 状 態 に 戻 すには $session->reset() を 呼 び 出 してください 出 力 先 の 設 定 set_output_as_handle, set_output_as_fileにより 単 一 のファイルハンドルかファイルを 出 力 先 として 設 定 することができます 複 数 の 結 果 をファイルとして 出 力 する 場 合 は set_output_as_directory を 使 用 してくださ い このクラスは 指 定 したディレクトリに 1から 開 始 する 連 番 の 前 後 に 指 定 した 文 字 列 をくっつけたファイル 名 で 結 果 を 出 力 します 次 の 例 では 変 換 結 果 の 各 ページを resultsディレクトリ 内 に"image[ 通 し 番 号 ].jpeg"という 名 前 で 別 々のJPEG 画 像 として 出 力 します 例 3.39 ディレクトリに 結 果 を 出 力 する... $session->property("output.type", "image/jpeg"); $session->set_output_as_directory("results", "image", ".jpeg");... サーバーから 要 求 されたリソースの 送 信 サーバーから 要 求 されたリソースを 送 る 場 合 set_resolver_funcに 関 数 を 設 定 してくだ さい 関 数 には 要 求 されたファイルのURIと サーバーへのファイルハンドルを 得 るた めの 関 数 への 参 照 が 渡 されます 以 下 の 例 では URIが 相 対 パスであるという 前 提 で ローカルのファイルがあればサーバーに 送 信 します Perlドライバ2

131 3. 開 発 者 ガイド 例 3.40 サーバーから 要 求 されたリソースをローカルファイルから 送 信 する... $session->set_resolver_func(sub { my ($uri, $open) if (-e $uri) { my $fp = $open->(); open(my $rfp, "<$uri"); while (<$rfp>) {print $fp $_; close($rfp); return undef; );... 実 際 に 動 作 するサンプルはドライバの src/test/resolver.pl にあります 複 数 の 結 果 の 結 合 複 数 の 結 果 を 結 合 したものを 得 るためには $session->set_continuous(1) を 呼 び 出 した 後 transcodeを 複 数 回 呼 び 出 し 最 後 に$session->join() を 呼 び 出 してください 例 つの 結 果 の 結 合... $session->set_continuous(1); # 文 書 の 送 信 $session->start_main(*stdout, '.'); open($rfp, '<data/test.html'); while (<$rfp>) {print; close($rfp); $session->end_main(*stdout); # 文 書 の 送 信 $session->start_main(*stdout, '.'); open($rfp, '<data/test.html'); while (<$rfp>) {print; close($rfp); $session->end_main(*stdout); $session->join();... 実 際 に 動 作 するサンプルはドライバの src/test/continuous.pl にあります 3.9 Perlドライバ2 117

132 3. 開 発 者 ガイド ソースコード ドライバのソースコードはSourceForge.JPに 公 開 しています ドライバのソースコード が 必 要 な 方 は 以 下 の ガ イ ド を 参 考 にSVN か ら 取 得 し て く だ さ い CTI Perl の ソ ー ス コ ー ド の タ ー ゲ ッ ト パ ス は 以 下 の 通 り で す Perlドライバ2

133 3. 開 発 者 ガイド 3.10 PHPドライバ 概 要 PHP 用 ドライバは PHPによる 出 力 をPDFに 変 換 できることが 特 徴 です 他 のPHPプログ ラムの 出 力 を もとのプログラムを 変 えないまま 変 換 することができます また PDFの もととなるテンプレートをSmarty 等 PHPベースのテンプレートエンジンにより 作 成 す ることができます ドライバの 準 備 PHP 用 ド ラ イ バ は Copper PDF 本 体 と は 別 に 配 布 さ れ て い ま す か ら cti-php-2.x.x ダ ウ ン ロードしてください アプリケーションは codeディレクトリをライブラリパスに 含 め require_once ('CTI/DriverManager.php'); でドライバを 読 み 込 んでください 例 3.42 copperdへの 接 続 // ドライバの 読 み 込 み require_once ('CTI/DriverManager.php'); // セッションの 開 始 $session = cti_get_session('ctip://localhost:8099/', array('user' => 'user', 'password' => 'kappa')); // 各 種 操 作 APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はapidoc 内 のAPIドキュメントか オンラインのAPIドキュメントを 参 照 し てください サーバーへの 接 続 認 証 cti_get_driver($uri) cti_get_session($uri, $opts) Driver->get_session($uri, $opts) サーバー 情 報 の 取 得 Session->get_server_info($uri) 3.10 PHPドライバ2 119

134 3. 開 発 者 ガイド メッセージハンドラ プログレスリスナの 設 定 Session->set_message_func(&$messageFunc) Session->set_progress_func(&$progressFunc) 出 力 先 の 設 定 Session->set_results(&$results) Session->set_output_as_resource(&$fp) Session->set_output_as_file($file) Session->set_output_as_directory($dir, [$prefix = ''], [$suffix = '']) Session->set_output_as_variable(&$var) プロパティの 設 定 Session->property($name, $value) ソースリゾルバの 設 定 Session->set_resolver_func(&$resolverFunc) リソースの 送 信 Session->start_resource($uri, [$opts = array()]) Session->end_resource() 本 体 の 送 信 変 換 Session->transcode($uri) Session->start_main($uri, [$opts = array()]) Session->end_main() 複 数 の 結 果 の 結 合 Session->set_continuous($continuous) Session->join() 処 理 の 中 断 リセット 通 信 の 終 了 Session->abort($mode) Session->reset() Session->close() PHPドライバ2

135 3. 開 発 者 ガイド サンプル 以 下 は プログラムによる 出 力 を 変 換 するサンプルです start_main, end_main 関 数 の 間 の 標 準 出 力 への 出 力 をキャプチャして 変 換 します 例 3.43 プログラムによる 出 力 を 変 換 する <?php require_once ('CTI/DriverManager.php'); //セッションの 開 始 $session = cti_get_session('ctip://localhost:8099/', array('user' => 'user', 'password' => 'kappa')); // ファイル 出 0777, 'out'); $session->set_output_as_file('test.pdf'); // リソースの 送 信 $session->start_resource('style.css', array('mimetype' => 'text/css'));?> p {color: Red; <?php $session->end_resource(); // 出 力 の 変 換 を 開 始 $session->start_main('.', array('mimetype' => 'text/html'));?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="style.css"> <title>サンプル</title> </head> <body> <p>hello World!</p> </body> </html> <?php // 出 力 の 変 換 を 終 了 $session->end_main(); // セッションの 終 了 $session->close();?> 3.10 PHPドライバ2 121

136 3. 開 発 者 ガイド 次 の 例 は サーバー 側 からネットワーク 上 のウェブページアクセスしてPDFに 変 換 しま す 例 3.44 サーバー 側 ウェブページにアクセスしてPDFに 変 換 <?php require_once ('CTI/DriverManager.php'); //セッションの 開 始 $session = cti_get_session('ctip://localhost:8099/', array('user' => 'user', 'password' => 'kappa')); //ファイル 出 0777, 'out'); $session->set_output_as_file('test.pdf'); //リソースのアクセス 許 可 $session->property('input.include', 'http://copper-pdf.com/**'); // 文 書 の 送 信 $session->transcode('http://copper-pdf.com/'); //セッションの 終 了 $session->close();?> 他 のサンプルはドライバのsrc/testに 収 められています プログラミングのポイント Content-Type, Content-Length ヘッダの 出 力 ウェブアプリケーションでは Content-Type, Content-Lengthヘッダを 出 力 しないと ブ ラウザ 上 でPDFが 正 常 に 表 示 されないことがあります set_resultsやset_output_xxx 関 数 を 呼 び 出 さない 初 期 状 態 では 出 力 先 は 標 準 出 力 に 設 定 されています このとき 自 動 的 にContent-Lengthヘッダが 出 力 されます Content-Type はheader 関 数 により アプリ ケーションで 出 力 してください 他 のプログラムを 呼 び 出 して 変 換 する 他 のプログラムによる 出 力 を 変 換 するには start_main, end_mainの 間 でincludeしてくだ さい 以 下 の 例 では bbs.phpというプログラムの 出 力 を 変 換 します PHPドライバ2

137 3. 開 発 者 ガイド 例 3.45 他 のプログラムの 出 力 を 変 換 する... $session->start_main('.', array('mimetype' => 'text/html')); include("bbs.php"); $session->end_main();... start_resource, end_resourceについても 同 じことができます 繰 り 返 し 処 理 出 力 先 を 変 え start_main/end_main または transcodeを 繰 り 返 し 呼 び 出 すことで 同 じ セッションで 何 度 もドキュメントを 変 換 することができます 送 信 済 みのリソース 設 定 済 みのプロパティは 同 じセッションで 維 持 されます 同 じセッションのまま 初 期 状 態 に 戻 すには $session->reset() を 呼 び 出 してください 出 力 先 の 設 定 set_output_as_resource, set_output_as_fileにより 単 一 のファイルハンドルかファイルを 出 力 先 として 設 定 することができます また set_output_as_variableに 変 数 の 参 照 を 渡 す と 変 数 に 結 果 が 出 力 されます 複 数 の 結 果 をファイルとして 出 力 する 場 合 は set_output_as_directory を 使 用 してくださ い このクラスは 指 定 したディレクトリに 1から 開 始 する 連 番 の 前 後 に 指 定 した 文 字 列 をくっつけたファイル 名 で 結 果 を 出 力 します 次 の 例 では 変 換 結 果 の 各 ページを resultsディレクトリ 内 に"image[ 通 し 番 号 ].jpeg"という 名 前 で 別 々のJPEG 画 像 として 出 力 します 例 3.46 ディレクトリに 結 果 を 出 力 する... $session->property("output.type", "image/jpeg"); $session->set_output_as_directory("results", "image", ".jpeg");... サーバーから 要 求 されたリソースの 送 信 サーバーから 要 求 されたリソースを 送 る 場 合 set_resolver_funcに 関 数 を 設 定 してくだ さい 関 数 には 要 求 されたファイルのURIと サーバーへのファイルハンドルを 得 るた めの 関 数 への 参 照 が 渡 されます 以 下 の 例 では URIが 相 対 パスであるという 前 提 で ローカルのファイルがあればサーバーに 送 信 します 3.10 PHPドライバ2 123

138 3. 開 発 者 ガイド 例 3.47 サーバーから 要 求 されたリソースをローカルファイルから 送 信 する... function resolver($uri, $r) { if (file_exists($uri)) { $r->start(); readfile($uri); $r->end(); $func = 'resolver'; $session->set_resolver_func($func);... 実 際 に 動 作 するサンプルはドライバの src/test/resolver.php にあります 複 数 の 結 果 の 結 合 複 数 の 結 果 を 結 合 したものを 得 るためには $session->set_continuous(true) を 呼 び 出 した 後 transcodeを 複 数 回 呼 び 出 し 最 後 に$session->join() を 呼 び 出 してください 例 つの 結 果 の 結 合... $session->set_continuous(true); // 文 書 の 送 信 $session->start_main('.'); readfile("data/test.html"); $session->end_main(); // 文 書 の 送 信 $session->start_main('.'); readfile("data/test.html"); $session->end_main(); $session->join();... 実 際 に 動 作 するサンプルはドライバの src/test/continuous.php にあります ソースコード ドライバのソースコードはSourceForge.JPに 公 開 しています ドライバのソースコード が 必 要 な 方 は 以 下 の ガ イ ド を 参 考 にSVN か ら 取 得 し て く だ さ い CTI PHP の ソ ー ス コ ー ド の タ ー ゲ ッ ト パ ス は 以 下 の 通 り で す PHPドライバ2

139 3. 開 発 者 ガイド 3.11.NETドライバ 概 要.NETドライバはC#で 書 かれており C#, VB.NETなどから 利 用 することができます ス トリーム(System.IO.Stream)からストリームへの 変 換 に 対 応 しており 巨 大 な 文 書 も 容 易 に 変 換 することができます また ASP.NET で 利 用 する 際 は ASP.NET からの 出 力 をキャプチャしながら 変 換 結 果 を 送 り 出 すことができます これにより PDFの 出 力 も 普 通 のウェブページと 同 様 に ASP.NETにより 作 ることができます ドライバの 準 備.NET 用 ド ラ イ バ は Copper PDF 本 体 と は 別 に 配 布 さ れ て い ま す からcti-dotnet_2.x.x.zipをダ ウンロードしてください このアーカイブに 含 まれるCTI.dllをアプリケーションの ディレクトリまたはシステムディレクトリ(C:\WINDOWS\system32)に 配 置 してくださ い ドライバの 窓 口 となるクラスはCTI.DriverManagerです 例 えばlocalhostの8099 番 ポート で 起 動 しているcopperdに ユーザーID"user" パスワード"kappa"で 接 続 するには 以 下 の ようにします 例 3.49 copperdへの 接 続 using System; using CTI;... using (Session session = DriverManager.getSession(new Uri ("ctip://localhost:8099/"), "user", "kappa")) { // 各 種 操 作 タイムアウトの 設 定.NET 版 ドライバ2.0.1 以 降 から 一 定 時 間 通 信 がない 状 態 で 自 動 的 に 通 信 を 切 断 するタ イムアウトに 対 応 しています 以 下 のようにURLパラメータで timeoutをミリ 秒 単 位 で 指 定 できます ctip:// :8099/?timeout= NETドライバ 125

140 3. 開 発 者 ガイド APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はドライバのapidoc/htmlディレクトリ 内 のAPIドキュメントか オンライン のAPIドキュメントを 参 照 してください サーバーへの 接 続 認 証 public static CTIDriver GetDriver(Uri uri) public static CTISession GetSession(Uri uri, Hashtable props) public static CTISession GetSession(Uri uri, string user, string password) サーバー 情 報 の 取 得 public Stream GetServerInfo(Uri uri) メッセージハンドラ プログレスリスナの 設 定 MessageHandler MessageHandler { set; ProgressListener ProgressListener { set; 出 力 先 の 設 定 Results Results { set; プロパティの 設 定 public void Property(string name, string value) ソースリゾルバの 設 定 SourceResolver SourceResolver { set; リソースの 送 信 public void Resource(SourceInfo info, Stream input) public Stream Resource(SourceInfo info) 本 体 の 送 信 変 換 public void Transcode(SourceInfo info, Stream input) public Stream Transcode(SourceInfo info) public void Transcode(string uri) NETドライバ

141 3. 開 発 者 ガイド 複 数 の 結 果 の 結 合 bool Continuous { set; public void Join() 処 理 の 中 断 リセット 通 信 の 終 了 public void Abort(AbortMode mode) public void Reset() public void Close() サンプル 次 の 例 は サーバー 側 からネットワーク 上 のウェブページアクセスしてPDFに 変 換 しま す 例 3.50 サーバー 側 からウェブページにアクセスしてPDFに 変 換 (C#) using System; using Zamasoft.CTI; namespace examples { /// <summary> /// サーバー 側 からインターネット 上 の 文 書 にアクセスして 変 換 します /// </summary> class ServerResource { static void Main(string[] args) { using (Session session = DriverManager.getSession(new Uri("ctip://localhost:8099/"), "user", "kappa")) { // test.pdfに 結 果 を 出 力 する Utils.SetResultFile(session, "test.pdf"); // 以 下 にあるリソースへのアクセス 3.11.NETドライバ 127

142 3. 開 発 者 ガイド を 許 可 する session.property("input.include", "http://copperpdf.com/**"); // ウェブページを 変 換 session.transcode("http://copper-pdf.com/"); 例 3.51 サーバー 側 からウェブページにアクセスしてPDFに 変 換 (VB.NET) Imports System Imports System.IO Imports Zamasoft.CTI ''' <summary> ''' サーバー 側 からインターネット 上 の 文 書 にアクセスして 変 換 します ''' </summary> Module ServerResource Sub Main() Using session As Session = DriverManager.getSession(New Uri ("ctip://localhost:8099/"), "user", "kappa") ' test.pdfに 結 果 を 出 力 する Utils.SetResultFile(session, "test.pdf") ' 以 下 にあるリソースへのアクセスを 許 可 する session.property("input.include", "http://copperpdf.com/**") ' ウェブページを 変 換 session.transcode("http://copper-pdf.com/") End Using End Sub End Module.NET 版 ドライバの 特 徴 は ASP.NET をPDF 出 力 のためのテンプレートとして 利 用 でき るようになることです 前 準 備 として 以 下 のクラスを 用 意 しておきます NETドライバ

143 3. 開 発 者 ガイド 例 3.52 ASP.NET のために 用 意 しておくクラス(C#) public class CopperPDF { // 結 果 を 直 接 ブラウザに 返 すように 設 定 します static public void SetResponse(Session session, HttpResponse response) { session.results = new SingleResult(new ContentLengthSender(response)); // Content-Lengthヘッダを 送 信 するためのビルダー private class ContentLengthSender : Builder { private readonly HttpResponse response; public ContentLengthSender(HttpResponse response) : base(response.outputstream) { this.response = response; public override void Finish() { this.response.contenttype = this.info.mimetype; response.appendheader("content-length", this.length.tostring()); base.finish(); 例 3.53 ASP.NET のために 用 意 しておくクラス(VB.NET) Public Class CopperPDF ' 結 果 を 直 接 ブラウザに 返 すように 設 定 します Public Shared Sub SetResponse(session As Session, response As HttpResponse) session.results = New SingleResult(New ContentLengthSender (response)) End Sub ' Content-Lengthヘッダを 送 信 するためのビルダー Private Class ContentLengthSender Inherits Builder Private ReadOnly response As HttpResponse Sub New(response As HttpResponse) MyBase.New(response.OutputStream) 3.11.NETドライバ 129

144 3. 開 発 者 ガイド Me.response = response End Sub ()) Overrides Sub Finish() response.contenttype = Info.MimeType response.appendheader("content-length", length.tostring MyBase.Finish() End Sub End Class End Class ASP.NET により 生 成 したPDFを 直 接 ブラウザに 送 る 場 合 HTTPレスポンスのContent- Typeヘッダに"application/pdf"を 設 定 し Content-LengthヘッダにPDFファイルのサイズ を 設 定 する 必 要 があります 上 記 のContentLengthSenderは そのためのもので 親 クラス のBuilderからPDFのMIME 型 (Info.MimeType) ファイルサイズ(length)を 得 ています ASP.NET で 他 のページをPDFのテンプレートとして 利 用 するには 以 下 のようにしま す 例 3.54 他 のページを 実 行 して 結 果 をPDFに 変 換 する(C#) CopperPDF.SetResponse(session, Response); string template = Request.ApplicationPath + "PDFTemplate.aspx"; using (StreamWriter writer = new StreamWriter(session.Transcode (new SourceInfo(".")))) { Server.Execute(template, writer); 例 3.55 他 のページを 実 行 して 結 果 をPDFに 変 換 する(VB.NET) CopperPDF.SetResponse(session, Response) Dim template As String = Request.ApplicationPath + "PDFTemplate.aspx" Using writer As New StreamWriter(session.Transcode(New SourceInfo("."))) Server.Execute(template, writer) End Using 上 記 の 例 ではPDFTemplate.aspxを 実 行 した 結 果 をCopper PDFに 送 り 変 換 した 結 果 をブ ラウザに 送 信 しています PDFTemplate.aspxは 普 通 のASP.NET ページなので 例 えば PDF 上 にカレンダーを 印 刷 するためにカレンダーコントロールを 利 用 するといったこ とができます 他 のサンプルはドライバのCTIディレクトリに 収 められています NETドライバ

145 3. 開 発 者 ガイド プログラミングのポイント Utilsの 利 用 結 果 の 出 力 先 リ ソ ー ス の 送 信 フ ァ イ ル の 変 換 等 の よ く 使 わ れ る 操 作 が Zammasoft.CTI.Utils のstatic(Shared)メソッドにまとめられています 例 えば 事 前 に 関 連 するCSSを 送 信 してHTMLファイルを 変 換 する 処 理 は 次 のように 簡 単 に 書 けます 例 3.56 ファイルを 変 換 する(C#)... Utils.SendResourceFile(session, "test.css", "text/css", "UTF-8"); Utils.TranscodeFile(session, "test.html", "text/html", "UTF-8");... 例 3.57 ファイルを 変 換 する(VB.NET)... Utils.SendResourceFile(session, "test.css", "text/css", "UTF-8") Utils.TranscodeFile(session, "test.html", "text/html", "UTF-8")... 繰 り 返 し 処 理 出 力 先 を 変 え Transcodeメソッドを 繰 り 返 し 呼 び 出 すことで 同 じセッションで 何 度 も ドキュメントを 変 換 することができます 送 信 済 みのリソース 設 定 済 みのプロパティ は 同 じセッションで 維 持 されます 同 じセッションのまま 初 期 状 態 に 戻 すには Reset を 呼 び 出 してください 出 力 先 (Results)の 設 定 出 力 先 が 単 一 の フ ァ イ ル や ス ト リ ー ム の 場 合 は Utils の SetResultFile か SetResultStream を 使 っ て く だ さ い こ れ ら の メ ソ ッ ド は 内 部 的 に Zamasoft.CTI.Result.SingleResultクラスを 使 用 しています Zamasoft.CTI.Result.Resultsインターフェースは 複 数 の 出 力 結 果 を 受 け 取 るためのイン ターフェースです SessionのResultsプロパティにセットします 複 数 の 結 果 をファイルとして 出 力 する 場 合 は Zamasoft.CTI.Result.FileResults を 使 用 し てください このクラスは 指 定 したディレクトリに 1から 開 始 する 連 番 の 前 後 に 指 定 した 文 字 列 をくっつけたファイル 名 で 結 果 を 出 力 します 次 の 例 では 変 換 結 果 の 各 ページを resultsディレクトリ 内 に"image[ 通 し 番 号 ].jpeg"という 名 前 で 別 々のJPEG 画 像 として 出 力 します 3.11.NETドライバ 131

146 3. 開 発 者 ガイド 例 3.58 ディレクトリに 結 果 を 出 力 する(C#)... session.property("output.type", "image/jpeg"); session.results = new FileResults("results/image", ".jpeg"));... 例 3.59 ディレクトリに 結 果 を 出 力 する(VB.NET)... session.property("output.type", "image/jpeg") session.results = New FileResults("results/image", ".jpeg"))... さらに 複 雑 な 処 理 が 必 要 な 場 合 は Resultsインターフェースを 実 装 するクラスを 用 意 す る 必 要 が あ り ま す Results イ ン タ ー フ ェ ー ス を 実 装 し た ク ラ ス で は Zamasoft.CTI.Result.Builder を 使 ってストリームやファイルにデータを 出 力 してくださ い サーバーから 要 求 されたリソースの 送 信 (SourceResolver) Session の SourceResolver プ ロ パ テ ィ に ソ ー ス リ ゾ ル バ (Zamasoft.CTI.Source.SourceResolver) を 設 定 すると サーバーから 要 求 されたリソース を 都 度 送 信 できるようになります 次 の 例 のように SourceResolverを 実 装 すると クライアント 側 のファイル あるいはク ライアント 側 からウェブにアクセスして 取 得 したデータをサーバーに 送 ることができ ます 例 3.60 SourceResolverの 実 装 例 (C#) class MySourceResolver : SourceResolver { public Stream Resolve(string _uri, ref SourceInfo info) { Uri uri = new Uri(_uri); if (uri.isfile) { string file = uri.absolutepath; if (!File.Exists(file)) { return null; info = new SourceInfo(_uri); return new FileStream(file, FileMode.Open, FileAccess.Read); else if (uri.scheme == "http") NETドライバ

147 3. 開 発 者 ガイド { WebRequest req = WebRequest.Create(uri); WebResponse resp = req.getresponse(); info = new SourceInfo(_uri); info.mimetype = resp.headers.get("content-type"); return resp.getresponsestream(); return null; 例 3.61 SourceResolverの 実 装 例 (VB.NET) Class MySourceResolver Implements SourceResolver Function Resolve(_uri As String, ByRef info As SourceInfo) As Stream Implements SourceResolver.Resolve Dim uri As New Uri(_uri) If uri.isfile Then Dim file As String = uri.absolutepath If Not System.IO.File.Exists(file) Then Return Nothing End If info = New SourceInfo(_uri) Return New FileStream(file, FileMode.Open, FileAccess.Read) ElseIf uri.scheme = "http" Then Dim req As WebRequest = WebRequest.Create(uri) Dim resp As WebResponse = req.getresponse() info = New SourceInfo(_uri) info.mimetype = resp.headers.get("content-type") Return resp.getresponsestream() End If Return Nothing End Function End Class SourceInfo Sessionの Resource, Transcode メソッド 等 では データの 仮 想 URI MIME 型 キャラク タ エンコーディング 予 測 されるデータサイズ SourceInfo クラスにより 渡 します 複 数 の 結 果 の 結 合 複 数 の 結 果 を 結 合 したものを 得 るためには Continuous プロパティにtrueを 設 定 した 後 Transcodeを 複 数 回 呼 び 出 し 最 後 にJoin を 呼 び 出 してください 3.11.NETドライバ 133

148 3. 開 発 者 ガイド 例 つの 結 果 の 結 合 (C#)... session.continuous = true; Utils.SendResourceFile(session, "test.css", "text/css", "UTF-8"); Utils.TranscodeFile(session, "test.html", "text/html", "UTF-8"); session.transcode("http://print.cssj.jp/"); session.join();... 例 つの 結 果 の 結 合 (VB.NET)... session.continuous = true Utils.SendResourceFile(session, "test.css", "text/css", "UTF-8") Utils.TranscodeFile(session, "test.html", "text/html", "UTF-8") session.transcode("http://print.cssj.jp/") session.join()... Abortによる 中 断 SessionのAbort メソッドは 文 書 の 変 換 処 理 を 中 断 しますが Transcodeメソッドは 処 理 の 間 ブロックするため 別 スレッドからAbortを 呼 び 出 す 必 要 があります Abortは 引 数 に よって 強 制 的 に 中 断 するモードと きりのよいところまで 処 理 して 一 応 利 用 可 能 な 結 果 を 出 力 するモードの2つがあります 後 者 のモードは 例 えば 大 きなPDFファイルを 出 力 中 に 処 理 を 中 断 して 途 中 までの 出 力 結 果 を 見 たい 場 合 に 有 用 です ただし 1 ページ 目 を 出 力 される 前 に 中 断 してしまった 場 合 など 読 み 込 み 可 能 なデータが 出 力 で きないことも 起 こり 得 ます NETドライバ

149 3. 開 発 者 ガイド 3.12 Rubyドライバ 概 要 Rubyドライバは ストリーム(IO)への 出 力 をPDFに 変 換 することができます 例 えば ERBでPDFの 元 となるHTMLのテンプレートを 作 ることができます ドライバの 準 備 Ruby 用 ド ラ イ バ は Copper PDF 本 体 と は 別 に 配 布 さ れ て い ま す か ら cti-ruby-2.x.x ダ ウ ン ロードしてください アプリケーションは codeディレクトリをライブラリパスに 含 め require 'CTI' でドライバを 読 み 込 んでください 例 3.64 copperdへの 接 続 # ドライバの 読 み 込 み require 'CTI' include CTI # セッションの 開 始 get_session('ctip://localhost:8099/', { 'user' => 'user', 'password' => 'kappa' ) do session # 各 種 操 作... end APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はapidoc 内 のAPIドキュメントか オンラインのAPIドキュメントを 参 照 し てください サーバーへの 接 続 認 証 CTI#get_driver(uri) CTI#get_session(uri, options = {, &block) サーバー 情 報 の 取 得 CTI::Session#get_server_info(uri) 3.12 Rubyドライバ 135

150 3. 開 発 者 ガイド メッセージハンドラ プログレスリスナの 設 定 CTI::Session#receive_message(&messageFunc) CTI::Session#set_progress_func(&progressFunc) 出 力 先 の 設 定 CTI::Session#set_results(results) CTI::Session#set_output_as_stream(out) CTI::Session#set_output_as_file(file) CTI::Session#set_output_as_directory(dir, prefix = '', suffix = '') プロパティの 設 定 CTI::Session#property(name, value) ソースリゾルバの 設 定 CTI::Session#resolver(&resolverFunc) リソースの 送 信 CTI::Session#resource(uri, opts = {, &block) 本 体 の 送 信 変 換 CTI::Session#transcode(uri = '.', opts = {, &block) CTI::Session#transcodeServer(uri) 複 数 の 結 果 の 結 合 CTI::Session#set_continuous(continuous) CTI::Session#join 処 理 の 中 断 リセット 通 信 の 終 了 CTI::Session#abort(mode) CTI::Session#reset CTI::Session#close Rubyドライバ

151 3. 開 発 者 ガイド サンプル 以 下 は ERBによる 出 力 を 変 換 するサンプルです $stdoutを 途 中 でCopper PDFへの 出 力 に 切 り 替 えています 例 3.65 プログラムによる 出 力 を 変 換 する require 'CTI' include CTI require 'erb' # セッションの 開 始 get_session('ctip://localhost:8099/', { 'user' => 'user', 'password' => 'kappa' ) do session # ファイル 出 力 dir = 'out'; Dir::mkdir(dir, 0777) unless File.exist?(dir) session.set_output_as_file('out/erb.pdf') # テンプレートを 変 換 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> 次 の 例 は サーバー 側 からネットワーク 上 のウェブページアクセスしてPDFに 変 換 しま す 3.12 Rubyドライバ 137

152 3. 開 発 者 ガイド 例 3.66 サーバー 側 ウェブページにアクセスしてPDFに 変 換 require 'CTI' include CTI # セッションの 開 始 get_session('ctip://localhost:8099/', { 'user' => 'user', 'password' => 'kappa' ) do session # ファイル 出 力 dir = 'out'; Dir::mkdir(dir, 0777) unless File.exist?(dir) session.set_output_as_file('out/server-resource.pdf') #リソースのアクセス 許 可 session.property('input.include', 'http://copper-pdf.com/**') # 文 書 の 変 換 session.transcodeserver('http://copper-pdf.com/'); end 他 のサンプルはドライバのsrc/testに 収 められています プログラミングのポイント Content-Type, Content-Length ヘッダの 出 力 ウェブアプリケーションでは Content-Type, Content-Lengthヘッダを 出 力 しないと ブ ラウザ 上 でPDFが 正 常 に 表 示 されないことがあります set_resultsやset_output_xxxメ ソッドを 呼 び 出 さない 初 期 状 態 では 出 力 先 は 標 準 出 力 (STDOUT)に 設 定 されていま す このとき 自 動 的 にContent-Type, Content-Lengthヘッダが 出 力 されます これはSingleResultとStreamBuilderのコンストラクタに 渡 すことができるブロックを 利 用 しています 同 じ 状 態 にするためには 以 下 のようにSession#set_resultsメソッドを 呼 び 出 してください 例 3.67 ヘッダの 出 力 session.set_results(singleresult.new(streambuilder.new(stdout) do length print "Content-Length: #{length\r\n\r\n" end) do opts print "Content-Type: #{opts['mime_type']\r\n" end) Rubyドライバ

153 3. 開 発 者 ガイド 繰 り 返 し 処 理 出 力 先 を 変 え transcode または transcodeserverを 繰 り 返 し 呼 び 出 すことで 同 じセッ ションで 何 度 もドキュメントを 変 換 することができます 送 信 済 みのリソース 設 定 済 みのプロパティは 同 じセッションで 維 持 されます 同 じセッションのまま 初 期 状 態 に 戻 すには session.reset を 呼 び 出 してください 出 力 先 の 設 定 set_output_as_stream, set_output_as_fileにより 単 一 のファイルハンドルかファイルを 出 力 先 として 設 定 することができます 複 数 の 結 果 をファイルとして 出 力 する 場 合 は set_output_as_directory を 使 用 してくださ い このクラスは 指 定 したディレクトリに 1から 開 始 する 連 番 の 前 後 に 指 定 した 文 字 列 をくっつけたファイル 名 で 結 果 を 出 力 します 次 の 例 では 変 換 結 果 の 各 ページを resultsディレクトリ 内 に"image[ 通 し 番 号 ].jpeg"という 名 前 で 別 々のJPEG 画 像 として 出 力 します 例 3.68 ディレクトリに 結 果 を 出 力 する session.property("output.type", "image/jpeg") session.set_output_as_directory("results", "image", ".jpeg") サーバーから 要 求 されたリソースの 送 信 サーバーから 要 求 されたリソースを 送 る 場 合 resolverを 呼 び 出 してください このメ ソッドには 要 求 されたファイルのURIと サーバーへのファイルハンドルを 得 るため のブロックを 渡 します 以 下 の 例 では URIが 相 対 パスであるという 前 提 で ローカルの ファイルがあればサーバーに 送 信 します 例 3.69 サーバーから 要 求 されたリソースをローカルファイルから 送 信 する session.resolver do uri, r if File.exist?(uri) r.found do out FileUtils.copy_stream(File.open(uri), out) end end end 実 際 に 動 作 するサンプルはドライバの src/test/resolver.rb にあります 複 数 の 結 果 の 結 合 複 数 の 結 果 を 結 合 したものを 得 るためには session.set_continuous(true) を 呼 び 出 した 後 transcodeを 複 数 回 呼 び 出 し 最 後 にsession.join を 呼 び 出 してください 3.12 Rubyドライバ 139

154 3. 開 発 者 ガイド 例 つの 結 果 の 結 合 session.set_continuous(true) # 文 書 の 送 信 session.transcode do out FileUtils.copy_stream(File.open('data/test.html'), out) end #リソースのアクセス 許 可 session.property('input.include', 'http://copper-pdf.com/**') # 文 書 の 変 換 session.transcodeserver('http://copper-pdf.com/') # 結 合 session.join 実 際 に 動 作 するサンプルはドライバの src/test/continuous.rb にあります ソースコード ドライバのソースコードはSourceForge.JPに 公 開 しています ドライバのソースコード が 必 要 な 方 は 以 下 の ガ イ ド を 参 考 にSVN か ら 取 得 し て く だ さ い CTI Ruby の ソ ー ス コ ー ド の タ ー ゲ ッ ト パ ス は 以 下 の 通 り で す Rubyドライバ

155 3. 開 発 者 ガイド 3.13 Pythonドライバ 概 要 Pythonドライバは 出 力 をPDFに 変 換 することができます ドライバの 準 備 Python 用 ド ラ イ バ は Copper PDF 本 体 と は 別 に 配 布 さ れ て い ま す から cti-python-2.x.x ダウン ロードしてください アプリケーションは codeディレクトリをライブラリパスに 含 め fromctimport *でドライバを 読 み 込 んでください 例 3.71 copperdへの 接 続 # ドライバの 読 み 込 み from cti import * # セッションの 開 始 session = get_session('ctip://localhost:8099/',{ 'user' :'user', 'password' :'kappa' ) try: # 各 種 操 作... finally: session.close() Python 2.7 以 降 ではセッションの 開 始 と 終 了 は with 文 を 使 ってつぎのように 書 くこと もできます 例 3.72 copperdへの 接 続 (Python2.7) # セッションの 開 始 with get_session('ctip://localhost:8099/',{ 'user' :'user', 'password' :'kappa' ) as session # 各 種 操 作 APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はapidoc 内 のAPIドキュメントか オンラインのAPIドキュメントを 参 照 し てください 3.13 Pythonドライバ 141

156 3. 開 発 者 ガイド サーバーへの 接 続 認 証 get_driver(uri) get_session(uri, options = {) サーバー 情 報 の 取 得 Session#get_server_info(uri) メッセージハンドラ プログレスリスナの 設 定 Session#set_message_func(&message_func) Session#set_progress_func(&progress_func) 出 力 先 の 設 定 Session#set_results(results) Session#set_output_as_stream(out) Session#set_output_as_file(file) Session#set_output_as_directory(dir, prefix = '', suffix = '') プロパティの 設 定 Session#property(name, value) ソースリゾルバの 設 定 Session#set_resolver_func(&resolver_func) リソースの 送 信 Session#resource(uri, opts = {,) 本 体 の 送 信 変 換 Session#transcode(uri = '.', opts = {) Session#transcode_server(uri) 複 数 の 結 果 の 結 合 Session#set_continuous(continuous) Session#join() Pythonドライバ

157 3. 開 発 者 ガイド 処 理 の 中 断 リセット 通 信 の 終 了 Session#abort(mode) Session#reset() Session#close() サンプル 以 下 は プログラムによる 出 力 を 変 換 するサンプルです sys.stdoutを 途 中 でCopper PDF への 出 力 に 切 り 替 えています 例 3.73 プログラムによる 出 力 を 変 換 する # -*- coding: utf-8 -*- import sys import os import os.path import time from cti import * # セッションの 開 始 session = get_session('ctip://localhost:8099/',{ 'user' :'user', 'password' :'kappa' ) try: # ファイル 出 力 dir = 'out'; if not os.path.exists(dir): os.mkdir(dir) session.set_output_as_file('out/stdin.pdf') # 文 書 の 送 信 sys.stdout = session.transcode() try: print """ <html> <head> <title>python Test</title> </head> <body> 3.13 Pythonドライバ 143

158 3. 開 発 者 ガイド <h1>hello Python</h1> <p> 只 今 の 時 刻 は: %s</p> </body> </html>""" % time.strftime("%y/%m/%d %H:%M:%S") finally: sys.stdout.close() sys.stdout = sys. stdout finally: session.close() 次 の 例 は サーバー 側 からネットワーク 上 のウェブページアクセスしてPDFに 変 換 しま す 例 3.74 サーバー 側 ウェブページにアクセスしてPDFに 変 換 # -*- coding: utf-8 -*- import sys import os import os.path from cti import * # セッションの 開 始 session = get_session('ctip://localhost:8099/',{ 'user' :'user', 'password' :'kappa' ) try: # ファイル 出 力 dir = 'out'; if not os.path.exists(dir): os.mkdir(dir) session.set_output_as_file('out/server-resource.pdf') #リソースのアクセス 許 可 session.property('input.include', 'http://copper-pdf.com/**') # 文 書 の 変 換 session.transcode_server('http://copper-pdf.com/'); finally: session.close() 他 のサンプルはドライバのsrc/testに 収 められています Pythonドライバ

159 3. 開 発 者 ガイド プログラミングのポイント Content-Type, Content-Length ヘッダの 出 力 ウェブアプリケーションでは Content-Type, Content-Lengthヘッダを 出 力 しないと ブ ラウザ 上 でPDFが 正 常 に 表 示 されないことがあります set_resultsやset_output_xxxメ ソッドを 呼 び 出 さない 初 期 状 態 では 出 力 先 は 標 準 出 力 (sys. stdout )に 設 定 されてい ます このとき 自 動 的 にContent-Type, Content-Lengthヘッダが 出 力 されます これはSingleResultとStreamBuilderのコンストラクタに 渡 すことができるブロックを 利 用 しています 同 じ 状 態 にするためには 以 下 のようにSession#set_resultsメソッドを 呼 び 出 してください 例 3.75 ヘッダの 出 力 def content_type(opts): print >> sys. stdout, "Content-Type: "+opts['mime_type'] def content_length(length): print >> sys. stdout, "Content-Length: "+str(length) print >> sys. stdout results = SingleResult(StreamBuilder(sys. stdout, content_length), content_type) session.set_results(results) 繰 り 返 し 処 理 出 力 先 を 変 え transcode または transcode_serverを 繰 り 返 し 呼 び 出 すことで 同 じセッ ションで 何 度 もドキュメントを 変 換 することができます 送 信 済 みのリソース 設 定 済 みのプロパティは 同 じセッションで 維 持 されます 同 じセッションのまま 初 期 状 態 に 戻 すには session.reset() を 呼 び 出 してください 出 力 先 の 設 定 set_output_as_stream, set_output_as_fileにより 単 一 のファイルハンドルかファイルを 出 力 先 として 設 定 することができます 複 数 の 結 果 をファイルとして 出 力 する 場 合 は set_output_as_directory を 使 用 してくださ い このクラスは 指 定 したディレクトリに 1から 開 始 する 連 番 の 前 後 に 指 定 した 文 字 列 をくっつけたファイル 名 で 結 果 を 出 力 します 次 の 例 では 変 換 結 果 の 各 ページを resultsディレクトリ 内 に"image[ 通 し 番 号 ].jpeg"という 名 前 で 別 々のJPEG 画 像 として 出 力 します 例 3.76 ディレクトリに 結 果 を 出 力 する session.property("output.type", "image/jpeg") session.set_output_as_directory("results", "image", ".jpeg") 3.13 Pythonドライバ 145

160 3. 開 発 者 ガイド サーバーから 要 求 されたリソースの 送 信 サーバーから 要 求 されたリソースを 送 る 場 合 resolverを 呼 び 出 してください このメ ソッドには 要 求 されたファイルのURIと サーバーへのファイルハンドルを 得 るため のブロックを 渡 します 以 下 の 例 では URIが 相 対 パスであるという 前 提 で ローカルの ファイルがあればサーバーに 送 信 します 例 3.77 サーバーから 要 求 されたリソースをローカルファイルから 送 信 する def resolver(uri, r): if os.path.exists(uri): out = r.found() try: file = open(uri) try: out.write(file.read()) finally: file.close() finally: out.close() session.set_resolver_func(resolver) 実 際 に 動 作 するサンプルはドライバの src/test/python2.4/resolver.py にあります 複 数 の 結 果 の 結 合 複 数 の 結 果 を 結 合 したものを 得 るためには session.set_continuous(true) を 呼 び 出 した 後 transcodeを 複 数 回 呼 び 出 し 最 後 にsession.join() を 呼 び 出 してください 例 つの 結 果 の 結 合 session.set_continuous(true) # 文 書 の 送 信 out = session.transcode() try: file = open('data/test.html') try: out.write(file.read()) finally: file.close() finally: Pythonドライバ

161 3. 開 発 者 ガイド out.close() #リソースのアクセス 許 可 session.property('input.include', 'http://copper-pdf.com/**') # 文 書 の 変 換 session.transcode_server('http://copper-pdf.com/') # 結 合 session.join() 実 際 に 動 作 するサンプルはドライバの src/test/python2.4/continuous.py にあります ソースコード ドライバのソースコードはSourceForge.JPに 公 開 しています ドライバのソースコード が 必 要 な 方 は 以 下 の ガ イ ド を 参 考 にSVN か ら 取 得 し て く だ さ い CTI Python の ソ ー ス コ ー ド の タ ー ゲ ッ ト パ ス は 以 下 の 通 り で す Pythonドライバ 147

162 3. 開 発 者 ガイド 3.14 transcode Antタスク Antタスクの 概 要 頻 繁 に 更 新 されるドキュメントを 素 早 くまとめて 変 換 するために Apache Antによる バッチ 処 理 をサポートしています AntはJavaで 開 発 されたフリーのビルド ツールで す Antによるバッチ 処 理 は ソースが 変 更 されたファイルだけを 変 換 するため 効 率 的 です Antについての 詳 細 は 書 籍 などをご 参 照 下 さい transcode Antタスクは Copper PDF 本 体 と Java 版 CTIP 2.0ドライバに 含 まれています Copper PDF 本 体 のライブラリを 使 用 する 場 合 は 直 接 ローカルマシンのライブラリを 使 用 する 方 法 と CTIP 2.0またはHTTP/RESTプロトコルで 接 続 する 方 法 を 使 うことがで きます CTIP 2.0ドライバを 使 用 する 場 合 は 後 者 の 方 法 だけです transcode タスクの 使 用 方 法 ローカルマシン 上 のCopper PDFを 直 接 利 用 して transcode タスクを 使 用 するためには Antのbuild.xml 中 で 次 のように 宣 言 する 必 要 があります 例 3.79 transcode タスクの 宣 言 (ローカルマシン) <path id="lib.path"> <fileset dir=" Copper PDFのlibディレクトリのパス " includes="*.jar"/> </path> <typedef classpathref="lib.path" resource="jp/cssj/driver/ant/tasks.properties"/> Java 版 のCTIP 2.0ライブラリを 使 う 場 合 は 同 様 に 次 のように 宣 言 します 例 3.80 transcode タスクの 宣 言 (CTIP 2.0ドライバ) <typedef classpath="cti-driver.jarへのパス" resource="jp/cssj/driver/ant/tasks.properties"/> 以 降 transcodeという 要 素 名 でタスクを 使 えるようになります transcodeタスクに 指 定 することができる 属 性 は 次 の 通 りです 表 3.3 transcode タスクの 属 性 属 性 名 srcdir 説 明 変 換 前 のXML,HTMLファイルなどが 格 納 されたディレクトリです 省 略 した 場 合 カレント ディレクトリとなります transcode Antタスク

163 3. 開 発 者 ガイド 属 性 名 includes excludes destdir suffix 説 明 srcdir 中 の 変 換 対 象 となるファイルのパターンです srcdir 中 の 変 換 対 象 外 となるファイルのパターンです 出 力 先 のディレクトリです 省 略 するとsrcDirと 同 じディレクトリになります 出 力 結 果 ファイルの 拡 張 子 です 省 略 した 場 合 は.pdfとなります 接 続 先 はtranscode 要 素 内 で connection 要 素 を 使 って 設 定 します ただし ローカルマシ ンに 接 続 する 場 合 は 設 定 は 不 要 です 表 3.4 connection 要 素 の 属 性 属 性 名 uri user password 説 明 接 続 先 URI ユーザーID パスワード transcode 要 素 内 で property 要 素 を 使 って 入 出 力 プロパティを 設 定 することができます 表 3.5 property 要 素 の 属 性 属 性 名 説 明 name プロパティの 名 前 value プロパティの 値 以 下 の 例 では ローカルホストで 動 作 しているCopper PDFを 使 って docs/manual.htmlか らdocs/manual.pdfを 出 力 します 例 3.81 transcode タスクの 使 用 例 <transcode includes="docs/manual.html" suffix=".pdf"> <connection uri="ctip://localhost:8099/" user="user" password="kappa" /> <property name="input.include" value="**" /> <property name="output.pdf.bookmarks" value="true" /> <property name="output.pdf.hyperlinks" value="true" /> <property name="output.pdf.fonts.policy" value="cid-keyed" /> </transcode> transcode AntタスクはHTTP/RESTによる 接 続 にも 対 応 しています HTTPを 使 う 場 合 は "http:// :8097/" のようにURIを 設 定 してください 3.14 transcode Antタスク 149

164 3. 開 発 者 ガイド うまく 動 かない 場 合 (ローカルマシンで 実 行 する 場 合 ) Can't connect to X11... というエラーが 表 示 される JDK 1.4.2では 以 下 のようなエラーが 発 生 することがあります 例 3.82 エラーメッセージの 例 [copper] java.lang.internalerror: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. [copper] at sun.awt.x11graphicsenvironment.initdisplay (Native Method) [copper] at sun.awt.x11graphicsenvironment.<clinit> (X11GraphicsEnvironment.java:134) [copper] at java.lang.class.forname0(native Method)... 省 略... [copper] at org.apache.tools.ant.launch.launcher.run (Launcher.java:246) [copper] at org.apache.tools.ant.launch.launcher.main (Launcher.java:67) [copper] Transcoded 0 file(s). BUILD FAILED /home/miyabe/workspaces/cssj/cssj/build/release/docs/build.xml:11: java.lang.internalerror: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. これは Copper PDFが 一 部 でグラフィック 環 境 を 必 要 とする 処 理 を 行 っているため ディスプレイが 接 続 されていない 環 境 で 発 生 するものです 以 下 のように ANT_OPTS 環 境 変 数 でjava.awt.headlessシステムプロパティをtrueにするように 設 定 することで 問 題 が 解 消 されます 例 3.83 java.awt.headlessの 設 定 export ANT_OPTS=-Djava.awt.headless=true ライセンスが 認 証 されない 場 合 出 力 結 果 に ライセンスファイルが 存 在 しないか 期 限 切 れです と 表 示 される 場 合 や 一 部 の 機 能 が 使 用 できない 場 合 は ライセンスキーのインストールか confディレクト リ(license-keyファイルが 置 かれたディレクトリ)のパスを 指 定 する 必 要 があります confディレクトリはcopperタスクのconfigdir 属 性 で 指 定 するか ANT_OPTS 環 境 変 数 に よりjp.cssj.copper.configシステムプロパティで 指 定 することもできます transcode Antタスク

165 3. 開 発 者 ガイド 例 3.84 設 定 ディレクトリの 指 定 (ANT_OPTS 環 境 変 数 ) export ANT_OPTS=-Djp.cssj.copper.config=/etc/copper-pdf 例 3.85 設 定 ディレクトリの 指 定 (configdir 属 性 ) <copper includes="docs/manual.html" suffix=".pdf" configfile="conf/profiles/default.properties" configdir="/etc/copper-pdf"> <includeresource pattern="**" /> <property name="output.pdf.bookmarks" value="true" /> <property name="output.pdf.hyperlinks" value="true" /> <property name="output.pdf.fonts.policy" value="cid-keyed" /> </copper> 3.14 transcode Antタスク 151

166 3. 開 発 者 ガイド 3.15 HTTP/RESTインターフェース 概 要 HTTP/RESTインターフェースはCopper PDF 2.1.0からサポートされた HTTPベースのイ ンターフェースです 高 速 高 機 能 なCTIPに 比 べて 冗 長 なプロトコルですが HTTPを ベースとしているため 普 通 のウェブブラウザやHTTPクライアントライブラリを 利 用 できる 利 点 があります HTTP 通 信 による 処 理 速 度 の 損 失 は 変 換 処 理 の 開 始 終 了 時 に 発 生 するものなので 数 十 ページ 以 上 の 文 書 の 出 力 ではほとんど 問 題 になりません 数 ページ 程 度 の 文 書 を 繰 り 返 し 出 力 する 場 合 は 処 理 速 度 はおおむね70% 程 度 に 低 下 します HTTP/RESTインターフェースはCTIP 2.0と 同 等 の 機 能 を 備 えており 実 際 にJava 版 の CTIP 2.0ドライバは CTIP, HTTP 接 続 の 両 方 で 同 一 のインターフェースを 利 用 するこ とができます このドキュメントでは HTTP/RESTインターフェースの 基 本 的 な 使 用 方 法 だけを 解 説 します HTTP/RESTインターフェースの 完 全 な 仕 様 は 以 下 のアドレスで 公 開 している 仕 様 書 を 参 照 してください アクションの 実 行 HTTP/RESTインターフェースにより Copper PDFに 対 して 何 らかの 動 作 (アクション)の 実 行 を 要 求 するためには HTTPのGETまたはPOSTメソッドでクライアントからアク セスします アクションの 種 類 は ファイルパスにより 識 別 されます 処 理 対 象 文 書 や 認 証 情 報 など 必 要 な 情 報 はリクエストパラメータとして 送 ります アクションとファ イルパスの 対 応 と 使 用 可 能 なリクエストパラメータの 表 は 以 下 の 通 りです パス リクエストパラメータ 説 明 /open /info /properties rest.user rest.password rest.timeout rest.httpsession rest.id rest.user rest.password rest.uri rest.id "rest." で 始 ま ら な い パ ラ メータ セッションの 開 始 サーバーの 情 報 (セッションの 開 始 と 終 了 を 兼 ねる) プロパティ 設 定 HTTP/RESTインターフェース

167 3. 開 発 者 ガイド パス リクエストパラメータ 説 明 /resources /transcode /messages /result /abort rest.id rest.uri rest.mimetype rest.encoding rest.resource rest.notfound "rest." で 始 ま ら な い パ ラ メータ rest.id rest.user rest.password rest.async rest.requestresource "rest." で 始 ま ら な い パ ラ メータ rest.uri rest.mimetype rest.encoding rest.resource rest.main rest.mainuri rest.id rest.wait rest.id rest.uri rest.id rest.mode リソース 送 信 (プロパティ 設 定 を 兼 ねる) ドキュメント 変 換 処 理 (セッションの 開 始 と 終 了 プロパ ティ 設 定 リソース 送 信 を 兼 ねる) メッセージ 受 信 ドキュメント 変 換 結 果 受 信 ドキュメント 変 換 処 理 の 中 断 /reset rest.id リセット /close rest.id セッションの 終 了 例 えばlocalhostの8097ポートでドキュメント 変 換 サーバーが 動 作 している 場 合 変 換 処 理 を 実 行 するには にアクセスします HTTP/RESTインターフェースの 機 能 をフルに 活 用 する 場 合 は openによりセッション を 開 始 し 各 種 操 作 をした 後 closeによりセッションを 終 了 することが 基 本 となります ただし transcodeアクションは 簡 単 な 変 換 処 理 であれば1 回 のリクエストだけで 完 結 で きるようになっています リクエストパラメータは クエリパラメータで 送 る 方 法 POSTメソッドのフォームパラ メータとして 送 る 方 法 (application/x-www-form-urlencoded) そしてmultipart/form-data 形 3.15 HTTP/RESTインターフェース 153

168 3. 開 発 者 ガイド 式 のファイルとフォームフィールドとして 送 る 方 法 があります (さらに ファイルその ものをリクエストボディとして 送 る 方 法 があります 詳 細 は 仕 様 書 を 参 照 してくださ い) application/x-www-form-urlencoded を 使 用 する 場 合 送 信 できるデータの 最 大 サイズに 制 限 があります(190KB 程 度 ) そのため アプリケーション 側 から 変 換 対 象 のドキュメ ントをCopper PDFに 送 る 場 合 は なるべくmultipart/form-dataの 使 用 を 推 奨 します リクエストパラメータの 意 味 は 次 の 表 の 通 りです パラメータ 名 rest.user rest.password rest.timeout rest.httpsession rest.id rest.uri rest.mimetype rest.encoding rest.resource rest.notfound rest.async rest.requestresource rest.main rest.mainuri rest.wait 説 明 認 証 のためのユーザー 名 です 認 証 のためのパスワードです セッションの 最 小 持 続 時 間 (ミリ 秒 )です trueを 設 定 すると クッキーによるHTTPセッション 使 用 します セッションを 識 別 するIDです クッキーによるHTTPセッション 使 用 する 場 合 は 不 要 です infoアクションではサーバー 情 報 の 識 別 URI resultアクションでは 結 果 の 識 別 URI 他 のアクションでは 次 に 送 るデータの 仮 想 URIを 表 します 次 に 送 るデータのMIME 型 です 次 に 送 るデータのキャラクタ エンコーディングです リソースデータです これはmaltipart/form-dataのファイルとして 送 ることもでき ます リソースデータの 代 わりに このパラメータにtrueを 設 定 すると リソースが 存 在 しないことを 示 します transcodeアクションは 通 常 変 換 結 果 をレスポンスとして 返 しますが このパラ メータにtrueを 設 定 すると 変 換 結 果 をresultアクションにより 得 ることを 前 提 に 非 同 期 的 にドキュメント 変 換 処 理 を 実 行 します trueを 設 定 すると サーバーが 必 要 なリソースをクライアントに 要 求 するようにな ります クライアントはリソースの 送 信 要 求 をmessagesアクションで 確 認 する 必 要 があります 変 換 対 象 のメインドキュメントです これはmaltipart/form-dataのファイルとして 送 ることもできます サーバーに 変 換 対 象 のメインドキュメントを 取 得 させる 場 合 のURIです メッセージの 変 化 があるまでmessagesアクションのレスポンスを 保 留 する 場 合 の 最 大 待 ち 時 間 (ミリ 秒 )です HTTP/RESTインターフェース

169 3. 開 発 者 ガイド パラメータ 名 rest.mode 説 明 1であればなるべく 有 効 なデータを 出 力 して 処 理 を 中 断 し 2であればなるべく 直 ちに 処 理 を 中 断 します なお 各 アクションのレスポンスの 詳 細 は 仕 様 書 を 参 照 してください ウェブブラウザからのアクセス ウェブブラウザからデータの 変 換 を 行 う 場 合 最 も 簡 単 な 方 法 は 以 下 のフォームを HTMLファイルとして 保 存 して (キャラクタ エンコーディングはUTF-8にしてくださ い) ブラウザで 表 示 し 変 換 ボタンを 押 すことです テキストエリアの 内 容 (Hello world!)がpdf 化 されます 例 3.86 フォームからCopper PDFを 使 う <form action="http://localhost:8097/transcode"> <input type="hidden" name="rest.user" value="user"/> <input type="hidden" name="rest.password" value="kappa"/> <textarea name="rest.main"> <html><body>hello world!</body></html> </textarea> <button type="submit"> 変 換 </button> </form> アップロードしたファイルを 変 換 することもできます 例 3.87 アップロードしたファイルを 変 換 <form action="http://localhost:8097/transcode" method="post" enctype="multipart/form-data"> <input type="hidden" name="rest.user" value="user"/> <input type="hidden" name="rest.password" value="kappa"/> <input type="file" name="rest.main" /> <button type="submit"> 変 換 </button> </form> Ruby (httpclient) 新 しく 開 発 されたRubyインターフェースか 実 行 環 境 としてJRubyを 使 う 場 合 はJava インターフェースを 利 用 した 方 がより 高 速 です Rubyではhttpclientモジュールを 使 うと 簡 単 です 以 下 のサンプルでは ヒアドキュメン トとして 記 述 したHTMLを 変 換 します 3.15 HTTP/RESTインターフェース 155

170 3. 開 発 者 ガイド 例 3.88 Rubyでドキュメントを 変 換 require 'httpclient' # 変 換 対 象 のHTML data = <<DATA <html> <body> RubyからCopper PDFを 使 う </body> </html> 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") 以 下 の 例 では をPDF 化 します 前 の 例 では 大 きなデータをPOSTする ため multipart/form-data を 使 用 しましたが POSTするデータが 小 さい 場 合 は 普 通 の POST(application/x-www-form-urlencoded)で 構 いません パラメータの input.include 画 像 等 の 取 得 のためにアクセスを 許 可 するアドレスのパターンです 例 3.89 Rubyでウェブサイトを 変 換 require 'httpclient' # POSTの 準 備 client = HTTPClient.new postdata = { "rest.user" => "user", "rest.password" => "kappa", "input.include" => "http://*.cssj.jp/**", "rest.mainuri" => "http://print.cssj.jp/", # POSTを 実 行 puts client.post_content("http://localhost:8097/transcode", postdata) HTTP/RESTインターフェース

171 3. 開 発 者 ガイド Python (urllib2, urllib) 新 しく 開 発 されたPythonインターフェースか 実 行 環 境 としてJythonを 使 う 場 合 は Javaインターフェースを 利 用 した 方 がより 高 速 です Pythonではurllib2モジュールを 使 うことができます 以 下 のサンプルでは 三 重 クォー トで 囲 った 文 字 列 リテラルとして 記 述 したHTMLを 変 換 します 例 3.90 Pythonでドキュメントを 変 換 # -*- coding: utf_8 -*- import urllib2 # multipart/form-dataの 出 力 (boundaryは 適 当 な 文 字 列 ) boundary = '3w48588hfwfdwed2332hdiuj2d3jiuhd32' def multipart_formdata(form_dict): disposition = 'Content-Disposition: form-data; name="%s"' lines = [] for k, v in form_dict.iteritems(): lines.append('--' + boundary) lines.append(disposition % k) lines.append('') lines.append(v) lines.append("--" + boundary + "--") lines.append('') value = "\r\n".join(lines) return value # 変 換 対 象 のHTML data = """ <html> <body> PythonからCopper PDFを 使 う </body> </html> """ # POSTの 実 行 params = {'rest.user':'user', 'rest.password':'kappa', 'rest.main':data 3.15 HTTP/RESTインターフェース 157

172 3. 開 発 者 ガイド url = 'http://localhost:8097/transcode' req = urllib2.request(url) req.add_header("content-type", "multipart/form-data; boundary=" + boundary) data = multipart_formdata(params) f = urllib2.urlopen(req, data) # 結 果 表 示 print f.read() 以 下 の 例 では をPDF 化 します 前 の 例 では 大 きなデータをPOSTする ため multipart/form-data を 使 用 しましたが POSTするデータが 小 さい 場 合 は 普 通 の POST(application/x-www-form-urlencoded)で 構 いません こちらはurllibを 使 っています パラメータの input.include 画 像 等 の 取 得 のためにアクセスを 許 可 するアドレスのパター ンです 例 3.91 Pythonでウェブサイトを 変 換 # -*- coding: utf_8 -*- import urllib url = 'http://localhost:8097/transcode' params = urllib.urlencode({'rest.user':'user', 'rest.password':'kappa', 'input.include':'http://*.cssj.jp/**', 'rest.mainuri':'http://print.cssj.jp/', ) f = urllib.urlopen(url, params) print f.read() C# (.NET WebClient) C# / VB.NETではRESTインターフェースを 使 用 する 必 要 はなくなりました より 高 速 で 高 機 能 な.NETドライバの 使 用 を 推 奨 します C#では.NETのWebClientを 使 うことができます 以 下 のサンプルでは ヒアドキュメン トとして 記 述 したHTMLを 変 換 します HTTP/RESTインターフェース

173 3. 開 発 者 ガイド 例 3.92 C#でドキュメントを 変 換 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Collections.Specialized; namespace cti.net { class Program { static void Main(string[] args) { string data <html> <body> C#からCopper PDFを 使 う </body> </html> "; WebClient client = new WebClient(); NameValueCollection par = new NameValueCollection(); par.add("rest.user", "user"); par.add("rest.password", "kappa"); par.add("rest.main", data); byte[] res = client.uploadvalues ("http://localhost:8097/transcode", par); Console.OpenStandardOutput().Write(res, 0, res.length); client.dispose(); 以 下 の 例 では をPDF 化 します パラメータの input.include 画 像 等 の 取 得 のためにアクセスを 許 可 するアドレスのパターンです この 例 では 変 換 結 果 をストリームに 逐 次 送 り 出 すため メモリを 節 約 することができ 巨 大 なPDFの 出 力 にも 対 応 できます 3.15 HTTP/RESTインターフェース 159

174 3. 開 発 者 ガイド 例 3.93 C#でウェブサイトを 変 換 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Collections.Specialized; namespace cti.net { class ServerDocument { static void Main(string[] args) { Response.ClearContent(); Response.ContentType = "application/pdf"; WebClient wc = new WebClient(); String uri = "http://localhost:8097/transcode" + // ロー カルマシンのCopper PDF "?rest.user=user" + "&rest.password=kappa" + "&input.include=http://*.cssj.jp/**" + // 画 像 等 への アクセス 許 可 "&rest.mainuri=http://print.cssj.jp/"; // 変 換 対 象 ア ドレス Stream input = wc.openread(uri); Stream output = Console.OpenStandardOutput(); byte[] buff = new byte[4096]; int len; while ((len = input.read(buff, 0, buff.length)) > 0) output.write(buff, 0, len); input.close(); wc.dispose(); ASP.NET (C#, VisualBasic) C# / VB.NETではRESTインターフェースを 使 用 する 必 要 はなくなりました より 高 速 で 高 機 能 な.NETドライバの 使 用 を 推 奨 します 以 下 の 例 では をPDF 化 します それぞれC#とVisualBasicのプログラム 例 です パラメータの input.include 画 像 等 の 取 得 のためにアクセスを 許 可 するアドレス のパターンです HTTP/RESTインターフェース

175 3. 開 発 者 ガイド 例 3.94 ASP.NET(C#) でウェブサイトを 変 換 Page Language="C#" AutoEventWireup="true" %> Import Namespace="System.Net" %> Import Namespace="System.IO" %> <% Response.ClearContent(); Response.ContentType = "application/pdf"; // ファイル 名 String filename = "FILENAME.pdf"; Response.AddHeader("Content-Disposition", "attachment; filename=" + filename); Response.ContentType = "application/pdf"; WebClient wc = new WebClient(); String uri = "http://localhost:8097/transcode" + // ローカルマシ ンのCopper PDF "?rest.user=user" + "&rest.password=kappa" + "&input.include=http://*.cssj.jp/**" + // 画 像 等 へのアクセス 許 可 "&rest.mainuri=http://print.cssj.jp/"; // 変 換 対 象 アドレス Stream input = wc.openread(uri); Stream output = Response.OutputStream; byte[] buff = new byte[4096]; int len; while ((len = input.read(buff, 0, buff.length)) > 0) output.write(buff, 0, len); %> input.close(); wc.dispose(); 例 3.95 ASP.NET(VisualBasic) でウェブサイトを 変 換 Page Language="VB" %> Import Namespace="System.Net" %> Import Namespace="System.IO" %> <% Response.ClearContent() Response.ContentType = "application/pdf" ' ファイル 名 Dim filename As String = "FILENAME.pdf" Response.AddHeader("Content-Disposition", "attachment; filename=" + filename) Response.ContentType = "application/pdf" Dim wc As WebClient = New WebClient() 3.15 HTTP/RESTインターフェース 161

176 3. 開 発 者 ガイド ' ローカルマシンのCopper PDF Dim uri As String = "http://localhost:8097/transcode" uri &= "?rest.user=user" uri &= "&rest.password=kappa" ' 画 像 等 へのアクセス 許 可 uri &= "&input.include=http://*.cssj.jp/**" ' 変 換 対 象 アドレス uri &= "&rest.mainuri=http://print.cssj.jp/" %> Dim input As Stream = wc.openread(uri) Dim output As Stream = Response.OutputStream Dim buff(4096) As Byte Dim len As Integer len = input.read(buff, 0, buff.length) While (len > 0) output.write(buff, 0, len) len = input.read(buff, 0, buff.length) End While input.close() wc.dispose() th Dimension (Internet Commands) 4th Dimension(4D)ではInternet CommandsのTCP/IPコマンドを 使 うことができます 以 下 のサンプルでは BLOBに 格 納 したHTMLを 変 換 します 例 Dでドキュメントを 変 換 C_TEXT ($host;$user;$password;$boundary;$sourcetype;$source;$beforecontent;$aftercontent C_LONGINT($port;$length;$err;$status;$socket;$pos) C_BLOB($content;$buffer;$data) C_TIME($doc) `Copper PDFサーバー $host:="localhost" $port:=8097 $user:="user" $password:="kappa" ` 変 換 対 象 HTML $sourcetype:="text/html" $source:="<html><head><title>サンプル</title></head><body>4dから Copper PDFを 使 う </body></html>" TEXT TO BLOB($source;$content) `BLOBに 変 換 ` 結 果 ファイル 名 $resultfile:="result.pdf" HTTP/RESTインターフェース

177 3. 開 発 者 ガイド ` 通 信 開 始 $err:=tcp_open ($host;$port;$socket) $err:=tcp_state ($socket;$status) `リクエスト 送 信 $boundary:=string(random)+string(random)+string(random) `マルチパー トの 境 界 (ランダムな 文 字 列 ) $beforecontent:="---"+$boundary+"\r\n" $beforecontent:=$beforecontent+"content-disposition: form-data; name=\"rest.main\"; filename=\"data.html\"\r\n" $beforecontent:=$beforecontent+"content-type: "+$sourcetype+"\r\n\r\n" $aftercontent:="\r\n---"+$boundary+"--\r\n" $length:=length($beforecontent)+blob size($content)+length ($aftercontent) $err:=tcp_send ($socket;"post /transcode? rest.user="+$user+"&rest.password="+$password+" HTTP/1.0\r\n") `keep-aliveとchunkedを 使 わないためHTTP/1.0で 接 続 する $err:=tcp_send ($socket;"host: "+$host+"\r\n") $err:=tcp_send ($socket;"content-length: "+String($length)+"\r\n") $err:=tcp_send ($socket;"content-type: multipart/form-data; boundary=-"+$boundary+"\r\n") $err:=tcp_send ($socket;"\r\n") $err:=tcp_send ($socket;$beforecontent) $err:=tcp_sendblob ($socket;$content) $err:=tcp_send ($socket;$aftercontent) `レスポンス 受 信 Repeat SET BLOB SIZE($buffer;0) $err:=tcp_receiveblob ($socket;$buffer) $err:=tcp_state ($socket;$status) $bufferlen:=blob size($buffer) $datalen:=blob size($data) INSERT IN BLOB($data;$dataLen;$bufferLen) COPY BLOB($buffer;$data;0;$dataLen;$bufferLen) Until (($status=0) ($err#0)) $err:=tcp_state ($socket;$state) $err:=tcp_close ($socket) 3.15 HTTP/RESTインターフェース 163

178 3. 開 発 者 ガイド `ヘッダの 除 去 $text:=blob to text($data;mac C string ) $pos:=position("\r\n\r\n";$text) DELETE FROM BLOB($data;0;$pos+3) ` 先 頭 から 最 初 の 空 行 までの 間 を 除 去 する `ファイルの 出 力 $doc:=create document($resultfile) CLOSE DOCUMENT($doc) BLOB TO DOCUMENT($resultFile;$data) 以 下 の 例 では をPDF 化 します パラメータの input.include 画 像 等 の 取 得 のためにアクセスを 許 可 するアドレスのパターンです 例 Dでウェブサイトを 変 換 C_TEXT ($host;$user;$password;$include;$uri;$query;$resultfile;$text) C_LONGINT($port;$err;$status;$socket;$pos) C_BLOB($content;$buffer;$data) C_TIME($doc) `Copper PDFサーバー $host:="neko" $port:=8097 $user:="user" $password:="localhost" ` 変 換 対 象 アドレス $include:="http://*.cssj.jp/**" $uri:="http://print.cssj.jp/" ` 結 果 ファイル 名 $resultfile:="result.pdf" ` 通 信 開 始 $err:=tcp_open ($host;$port;$socket) $err:=tcp_state ($socket;$status) `リクエスト 送 信 $query:="rest.user="+$user+"&rest.password="+$password+ "&input.include="+$include+"&rest.mainuri="+$uri $err:=tcp_send ($socket;"get /transcode?"+$query+" HTTP/1.0\r\n") `keep-aliveとchunkedを 使 わないためHTTP/1.0で 接 続 する $err:=tcp_send ($socket;"host: "+$host+"\r\n") $err:=tcp_send ($socket;"\r\n") $err:=tcp_send ($socket;$beforecontent) $err:=tcp_sendblob ($socket;$content) $err:=tcp_send ($socket;$aftercontent) HTTP/RESTインターフェース

179 3. 開 発 者 ガイド `レスポンス 受 信 Repeat SET BLOB SIZE($buffer;0) $err:=tcp_receiveblob ($socket;$buffer) $err:=tcp_state ($socket;$status) $bufferlen:=blob size($buffer) $datalen:=blob size($data) INSERT IN BLOB($data;$dataLen;$bufferLen) COPY BLOB($buffer;$data;0;$dataLen;$bufferLen) Until (($status=0) ($err#0)) $err:=tcp_state ($socket;$state) $err:=tcp_close ($socket) `ヘッダの 除 去 $text:=blob to text($data;mac C string ) $pos:=position("\r\n\r\n";$text) DELETE FROM BLOB($data;0;$pos+3) ` 先 頭 から 最 初 の 空 行 までの 間 を 除 去 する `ファイルの 出 力 $doc:=create document($resultfile) CLOSE DOCUMENT($doc) BLOB TO DOCUMENT($resultFile;$data) その 他 のサンプルについて HTTP/RESTインターフェースは さらに 多 くの 種 類 の 開 発 環 境 から 様 々な 方 法 で 利 用 することできます 最 新 情 報 はCopper PDFのサイト(http://copper-pdf.com/)で 提 供 してい ます 3.15 HTTP/RESTインターフェース 165

180 3. 開 発 者 ガイド 3.16 HTTPクライアント 機 能 Copper PDFには ウェブサーバーから 画 像 スタイルシート 文 書 等 を 取 得 するための HTTPクライアントが 入 っています 公 開 されているウェブコンテンツにアクセスする 場 合 は 特 に 設 定 は 必 要 ありませんが プロクシを 通 してのアクセスや 認 証 (BASICま たはDigest)が 必 要 なウェブサイトヘのアクセスもサポートしています 以 下 の 説 明 では 入 出 力 プロパティの 設 定 例 をJavaで 記 述 しています 他 の 言 語 で 実 装 する 場 合 は 各 プログラミング 言 語 のプロパティ 設 定 関 数 に 書 き 換 えてください BASIC 認 証 またはDigest 認 証 BASIC 認 証 が 必 要 なウェブサーバーに 接 続 する 場 合 input.http.authentication.n.host [io] input.http.authentication.n.port [io] input.http.authentication.n.user [io] input.http.authentication.n.password [io] にそれぞれ 対 象 のウェブサーバーのホスト 名 またはIPアドレス ポート 番 号 ユーザー 名 パスワードを 設 定 します ポート 番 号 を 省 略 した 場 合 は ウェブサーバーのポート 番 号 は 任 意 となります パスワードを 省 略 した 場 合 は 空 のパスワードが 使 われます ホスト 名 とユーザー 名 を 省 略 することはできません nは0から 始 まる 整 数 で 連 番 にす ることで 複 数 のサイトやレルム( 認 証 領 域 )に 対 応 することができます サーバーに 複 数 のレルムが 存 在 する 場 合 や Digest 認 証 を 行 う 場 合 は 実 際 の 認 証 を 行 う 前 に サーバーから 認 証 情 報 を 取 得 する 必 要 があります input.http.authentication.preemptive [io] にtrueを 設 定 することで サーバー か ら 認 証 情 報 を 取 得 で き る よ う に な り ま す レ ル ム を 明 示 す る 場 合 は input.http.n.authentication.realm [io] にレルム 名 を 設 定 します input.http.n.authentication.schema [io] に BASIC 認 証 (basic) か Digest 認 証 (digest)を 設 定 することで 認 証 方 法 を 限 定 することができます デフォルトの 設 定 で input.http.authentication.preemptive [io] がtrue の 場 合 は 認 証 方 法 が 自 動 判 別 されます 以 下 の 例 ではwww.foo.comとwww.bar.com にそれぞれ 別 のユーザーアカウントで 接 続 し BASIC 認 証 かDigest 認 証 かを 自 動 判 別 します HTTPクライアント 機 能

181 3. 開 発 者 ガイド 例 3.98 認 証 の 設 定 session.property("input.http.authentication.preemptive", "true"); session.property("input.http.0.authentication.host", "www.foo.com"); session.property("input.http.0.authentication.user", "foouser"); session.property("input.http.0.authentication.password", "foopass"); session.property("input.http.1.authentication.host", "www.bar.com"); session.property("input.http.1.authentication.user", "baruser"); session.property("input.http.1.authentication.password", "barpass"); プロクシの 設 定 ウェブブラウザ 等 と 同 様 に HTTP 接 続 のためのプロクシを 設 定 することができます input.http.proxy.host [io] に プロクシ サーバーのホスト 名 またはIPアドレスを 設 定 することにより プロクシを 通 して 接 続 するようになります プロクシ サーバー のデフォルトのポート 番 号 は8080ですが input.http.proxy.port [io] により 任 意 のポート 番 号 を 設 定 することができます 認 証 が 必 要 なプロクシ サーバーを 使 用 する 場 合 input.http.proxy.authentication.user [io] input.http.proxy.authentication.password [io] にそれぞれユーザー 名 とパスワードを 設 定 してください 次 の 例 では 認 証 が 必 要 なプロクシ サーバーproxy.foo.com に "mei", "pass"という ユーザ 名 とパスワードで 接 続 します 例 3.99 プロクシサーバーの 設 定 session.property("input.http.proxy.host", "proxy.foo.com"); session.property("input.http.proxy.authentication.user", "mei"); session.property("input.http.proxy.authentication.password", "pass"); HTTPヘッダの 送 信 2つで1 組 の 入 出 力 プロパティ input.http.header.n.name [io] input.http.header.n.value [io] 3.16 HTTPクライアント 機 能 167

182 3. 開 発 者 ガイド でHTTPのヘッダを 設 定 することができます nは0から 始 まる 整 数 で 連 番 にすること で 複 数 のHTTPヘッダを 送 ることができます 次 の 例 では クライアントの 使 用 言 語 を 韓 国 語 ブラウザの 種 類 をInternet Explorer7で あるとウェブサーバーに 申 告 するようにHTTPヘッダを 設 定 しています 例 HTTPヘッダの 設 定 session.property("input.http.header.0.name", "Accept-Language"); session.property("input.http.header.0.value", "ko"); session.property("input.http.header.1.name", "User-Agent"); session.property("input.http.header.1.value", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"); 参 照 元 (Referer)の 送 信 デフォルトでは 変 換 対 象 の 文 書 のURIがRefererヘッダの 値 として 送 信 されます この 機 能 は input.http.referer [io] をfalseに 設 定 することにより 無 効 化 することができ ます クッキーの 送 信 Copper PDFのHTTPクライアントには ウェブサーバーからクッキーを 取 得 し 保 存 する 機 能 はありません ただし アプリケーション 側 で 設 定 したクッキーをウェブサーバーに 送 信 する 機 能 があ ります これは クッキーを 使 ったセッション 認 証 を 行 うウェブアプリケーションで Copper PDFを 使 用 する 場 合 に ウェブアプリケーションがユーザーのセッションIDを 知 っていて Copper PDFから 自 分 自 身 のウェブサーバーに 接 続 する 場 合 には 有 効 です クッキーは4つで1 組 となっている input.http.cookie.n.domain [io] input.http.cookie.n.name [io] input.http.cookie.n.value [io] input.http.cookie.n.path [io] という 入 出 力 プロパティで 設 定 します それぞれクッキーのドメイン 名 前 値 パスで す パスを 省 略 した 場 合 はルートパス("/")となります nは0から 始 まる 整 数 で 連 番 にす ることで 複 数 のクッキーを 送 ることができます 次 は Javaサーブレットで 現 在 のクライアントのセッションIDをCopper PDFのHTTPク ライアントに 引 き 継 ぐ 例 です HTTPクライアント 機 能

183 3. 開 発 者 ガイド 例 クッキーの 設 定 String sessionid = request.getsession().getid(); session.property("input.http.cookie.0.domain", "www.foo.com"); session.property("input.http.cookie.0.name", "JSESSIONID"); session.property("input.http.cookie.0.value", sessionid); session.property("input.http.cookie.0.path", "/"); タイムアウトの 設 定 相 手 先 サーバとの 接 続 に 時 間 がかかる 場 合 あるいは 接 続 後 一 定 時 間 データがやりとり されない 場 合 接 続 を 切 断 してコンテンツの 取 得 をあきらめる(タイムアウトする)よう に 設 定 することができます [2.0.7] デフォルトではタイムアウトしないため ずっと 待 ち 続 けます タイムアウトは input.http.connection.timeout [io] input.http.socket.timeout [io] により 設 定 します 数 値 で 設 定 し 単 位 はms(ミリ 秒 )です 次 の 例 では 接 続 が 確 立 するまで30 秒 以 上 かかった 場 合 または 接 続 語 10 秒 間 データがや りとりされなかった 場 合 にタイムアウトするように 設 定 しています 例 タイムアウトの 設 定 session.property("input.http.connection.timeout", "30000"); session.property("input.http.socket.timeout", "10000"); 3.16 HTTPクライアント 機 能 169

184 3. 開 発 者 ガイド 3.17 出 力 制 限 機 能 一 般 に 解 放 するウェブアプリケーション 等 で 極 端 にページ 数 の 大 きな 結 果 あるいは 物 理 的 なサイズが 極 端 に 大 きな 結 果 が 出 力 されてしまうような 文 書 が 入 力 される 可 能 性 がある 場 合 があります このとき 意 図 的 であるかどうかに 関 わらずサーバーに 極 端 に 負 荷 がかけられるような 状 態 に 陥 ることがあります Copper PDFには そういった 危 険 を 防 ぐための 動 作 制 限 の 機 能 があります 動 作 制 限 が 発 生 した 場 合 ドライバは 例 外 を 投 げるか 文 書 変 換 のための 関 数 が 戻 り 値 としてエラーを 返 します その 際 ドライバのエラーハンドラには( 警 告 や 致 命 的 エラー ではなく)エラーが 通 知 されます ページ 数 の 制 限 出 力 結 果 が 一 定 のページ 数 に 達 した 場 合 に 強 制 的 に 処 理 を 中 断 する 機 能 です output.page-limit [io] に 出 力 する 最 大 ページ 数 を 設 定 してください デフォルト では ページ 数 の 制 限 はありません ページ 数 の 制 限 を 越 えた 場 合 途 中 までのページを 結 果 として 出 力 するか 結 果 を 破 棄 するかどうかを 選 ぶことができます output.page-limit.abort [io] に "normal"を 設 定 すると 途 中 までのページを 結 果 として 出 力 します "force"を 設 定 すると 結 果 を 破 棄 します デフォルトは"force"です ただし 2パス 以 上 の 処 理 を 行 う 場 合 は 最 終 パス 以 外 でページ 数 が 限 界 に 達 すると 結 果 が 破 棄 されます また (PDFではなく) 画 像 として 結 果 を 出 力 する 場 合 は ( 最 終 パス の 場 合 )いずれの 場 合 も 途 中 までページが 出 力 されます データサイズの 制 限 出 力 結 果 が 一 定 の 物 理 的 なサイズに 達 した 場 合 に 強 制 的 に 処 理 を 中 断 する 機 能 です output.size-limit [io] に 最 大 データサイズをバイト 単 位 で 設 定 してください デ フォルトではデータサイズの 制 限 はありません 出 力 制 限 機 能

185 4.デザイナーガイド 4.デザイナーガイド 4.1 Copper PDFによる 文 書 のレイアウト Copper PDFはHTMLやCSS 等 ウェブコンテンツの 作 成 で 標 準 となっている 方 法 を 使 用 するため ウェブコンテンツの 作 成 の 知 識 があれば PDFの 作 成 も 同 様 にできるのが 特 徴 です このドキュメントでは Copper PDF 独 自 の 機 能 や 注 意 点 について 解 説 します Copper PDFで 文 書 をレイアウトするには ドキュメントをレイアウトする 方 法 は 通 常 のウェブアプリケーションの 作 成 と 大 差 あ りません HTMLエディタ 等 を 使 ってHTMLや プログラムで 処 理 するためのテンプ レートを 作 成 し それをプログラムによりPDFに 変 換 するという 手 順 となります Copper PDFによる 出 力 結 果 を 手 軽 に 確 認 するために Copper PDFにはcopper-webappと いうツールが 用 意 されています このツールを 起 動 すると ローカルマシン 上 にある HTMLファイルをウェブベースのツールでPDFに 変 換 することができます 4.1 Copper PDFによる 文 書 のレイアウト 171

186 4.デザイナーガイド 4.2 入 出 力 プロパティ Copper PDF 独 自 の 機 能 や 一 般 的 なブラウザの 環 境 設 定 やオプションに 相 当 する 部 分 を 設 定 するためには 名 前 と 値 の 組 み 合 わせである 入 出 力 プロパティ を 設 定 します 入 出 力 プロパティの 一 覧 は 資 料 集 の 入 出 力 プロパティ (274ページ)を 参 照 してくださ い 入 出 力 プロパティは プログラマによりプログラムにより 設 定 (65ページ) されるか シ ステム 管 理 者 により デフォルトの 入 出 力 プロパティの 設 定 ファイル (42ページ) により 設 定 されます また 入 出 力 プロパティはHTMLやXML 文 書 中 でjp.cssj.property 処 理 命 令 により 設 定 する こ と も で き ま す た だ し プ ロ グ ラ ム や 設 定 フ ァ イ ル に よ り あ ら か じ め input.property-pi [io] がtrueに 設 定 されている 必 要 があります 次 のように 処 理 命 令 のname 属 性 にプロパティ 名 value 属 性 に 値 を 記 述 してください また 必 ずドキュメ ントの 先 頭 から 最 初 の 要 素 の 間 に 記 述 してください 例 4.1 jp.cssj.property 処 理 命 令 による 入 出 力 プロパティの 設 定 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <?jp.cssj.property name="output.pdf.encryption" value="v2"?> <?jp.cssj.property name="output.pdf.encryption.user-password" value="user"?> <?jp.cssj.property name="output.pdf.encryption.owner-password" value="owner"?> <?jp.cssj.property name="output.pdf.encryption.permissions.print" value="false"?> <!-- 上 記 の 設 定 を 有 効 にするには プログラムか 設 定 ファイルでinput.property-pi が true にされている 必 要 があります --> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title> 暗 号 化 1</title> <style type="text/css"> </style> 入 出 力 プロパティ

187 4.デザイナーガイド </head> <body> <h1> 暗 号 化 1</h1> <p> この 文 書 のユーザーパスワードは"user" オーナーパスワードは"owner"です 印 刷 が 禁 止 されています </p> </body> </html> なお jp.cssj.property 処 理 命 令 により 設 定 できないプロパティがあります 詳 細 は 資 料 集 (286ページ)を 参 照 してください 4.2 入 出 力 プロパティ 173

188 4.デザイナーガイド 4.3 対 応 する 入 力 ファイル HTML/XMLの 処 理 ドキュメントの 判 別 Copper PDFはドキュメントがHTMLかXMLであるかを 以 下 の 情 報 をもとに 判 別 しま す 1. プログラマが 指 定 したドキュメントのMIMEタイプ 2. HTTPのContent-Type ヘッダ 1の 情 報 は 2より 優 先 されます 上 記 の 情 報 以 外 によりCopper PDFがドキュメントの 型 を 判 別 することはありません HTMLとして 判 別 されたドキュメントは <?xml~ で 開 始 していても HTMLとして 認 識 します ただし HTMLと 認 識 されても XMLや XHTMLがサポートしている 名 前 空 間 は 認 識 されます HTMLと 認 識 された 文 書 は ゆるやかに 解 釈 されるため 文 法 ミスが 許 容 されます 一 方 XMLと 認 識 された 文 書 は 厳 密 に 解 釈 されます XHTMLを 記 述 する 場 合 全 ての 要 素 名 と 属 性 名 は 小 文 字 で 記 述 してください 文 法 エラーがあった 場 合 処 理 が 停 止 しま す キャラクタ エンコーディング Copper PDFが 認 識 できるキャラクタ エンコーディングはJava 実 行 環 境 に 依 存 します エンコーディング 名 のリストは Java 実 行 環 境 の サポートされているエンコーディン グ ドキュメント を 参 照 してください XMLドキュメントのキャラクタ エンコーディングは 次 の 優 先 順 位 で 判 別 します 1. プログラマが 指 定 したドキュメントのキャラクタ エンコーディング 2. BOM(Byte Order Mark) 3. XML 宣 言 のencoding 属 性 デフォルトのエンコーディングは XMLの 仕 様 に 従 い UTF-8またはUTF-16が 自 動 判 別 されます HTMLドキュメントのキャラクタ エンコーディングは 次 の 優 先 順 位 で 判 別 します 1. プログラマが 指 定 したドキュメントのキャラクタ エンコーディング 2. BOM(Byte Order Mark) 3. <meta http-equiv="content-type" content="text/html; charset=エンコーディング 名 "> 4. XML 宣 言 のencoding 属 性 5. input.default-encoding [io] によるエンコーディング 対 応 する 入 力 ファイル

189 4.デザイナーガイド input.default-encoding [io] はデフォルトではJISAutoDetect(ISO-2022-JP, Shift_JIS, EUC_JPの 自 動 判 別 )です Copper PDF からはデフォルトがJISUniAutoDetect(ISO JP, UTF-8, Windows-31J, EUC_JP_Solarisの 自 動 判 別 ) という Copper PDF 独 自 のエ ンコーディング 名 になりました 文 書 情 報 Copper PDFはHTMLのmeta 要 素 から 取 得 した 情 報 を PDFの 文 書 情 報 として 使 用 しま す 文 書 情 報 はHTMLの <meta name=" content=" 名 前 " 要 素 によって 値 "> 設 定 すること ができます ただし TITLEはHTMLのtitle 要 素 の 内 容 も 使 われます 表 4.1 meta 要 素 による 文 書 情 報 の 設 定 名 前 PDFの 属 性 名 説 明 TITLE Title/タイトル 文 書 の 表 題 DESCRIPTION SUBJECT Subject/サブタイトル 文 書 に 内 容 についての 簡 潔 な 説 明 KEYWORDS Keywords/キーワード スペースまたはカンマ 区 切 りで 羅 列 した 文 書 の 内 容 に 関 連 するキーワード AUTHOR Author/ 作 成 者 文 書 の 作 成 者 PRODUCER GENERATOR CREATOR Producer/PDF 変 換 Creator/アプリケーション PDFを 生 成 したプログラム 省 略 した 場 合 はCopper PDFの 名 前 とバージョンが 入 ります HTML 文 書 を 生 成 したプログラム エディタ オーサリン グツールなど な お meta 要 素 の name 属 性 は 大 文 字 小 文 字 を 区 別 し ま せ ん <meta name="author" content=" としても 作 者 名 "> <meta name="author" content=" としても 作 者 名 "> PDF 文 書 に 作 者 名 が 設 定 されます 文 書 情 報 は 入 出 力 プロパティによっても 設 定 することができます[2.0.3] output.meta.n.name [io] output.meta.n.value [io] により 名 前 と 値 を 設 定 することができます nは0から 始 まる 連 番 で 複 数 の 文 書 情 報 を 設 定 することができます この 設 定 は 前 記 のmeta 要 素 で 上 書 きされます 4.3 対 応 する 入 力 ファイル 175

190 4.デザイナーガイド XSLTスタイルシートの 適 用 XSLT スタイルシートはCSS 同 様 にxml-stylesheet 処 理 命 令 により 適 用 されます xmlstylesheet 処 理 命 令 についての 詳 細 はCSSのxml-stylesheet 処 理 命 令 の 節 を 参 照 してくださ い CSS 同 様 に デ フ ォ ル ト のXSLT ス タ イ ル シ ー ト を 設 定 す る こ と が で き ま す input.xslt.default-stylesheet [io] により 指 定 されたスタイルシートが 最 初 に 適 用 されます input.xslt.default-stylesheet [io] またはxml-stylesheet 処 理 命 令 によって ド キュメントに 複 数 のXSLTスタイルシートが 指 定 されているとき 実 際 に 適 用 するのは 最 初 に 指 定 されたスタイルシートです 他 のスタイルシートは 無 視 されます 画 像 Copper PDFがサポートする 画 像 Copper PDFはJPEG, GIF, PNG, SVG 形 式 の 画 像 を 標 準 でサポートしています 各 画 像 は 通 常 のブラウザ 同 様 にimg, object, embed 要 素 によってドキュメント 中 に 含 めることが できます CSSのbackground-image [css] プロパティ あるいはcontent [css] プロパ ティによっても 画 像 の 表 示 が 可 能 です また 画 像 を 直 接 読 み 込 んでPDFに 変 換 することができます この 場 合 全 体 が 画 像 と なっている1ページだけのPDFが 生 成 されます 他 の 画 像 形 式 の 利 用 より 多 種 多 様 な 画 像 フォーマットを 使 用 する 場 合 はサンマイクロシステムズ 社 により 配 布 されている Java Advanced Imaging Image I/O Tools(JAI-ImageI/O) をCopper PDFを 動 作 させるJava 環 境 に 管 理 者 がインストールする 必 要 があります JAI-ImageI/Oをインス トールすることにより BMP, JPEG 2000, PNM, TIFF, WBMPの 各 画 像 フォーマットが 利 用 可 能 になります また JAI-ImageI/O 以 外 にもJava Image I/Oに 対 応 した 拡 張 ライブ ラリをインストールすることで 利 用 可 能 な 画 像 を 追 加 することができます JAI-ImageI/Oは 画 像 形 式 での 出 力 (187ページ)にも 利 用 することができます[2.0.3] ラスター(ビットマップ/ピクセルマップ) 画 像 GIF / PNG 画 像 GIFおよびPNG 画 像 の 透 明 化 効 果 はPDF 内 でも 有 効 です ただし PDF 1.3 以 前 のバー ジョンのPDFを 出 力 する 場 合 PNG 画 像 の 半 透 明 化 効 果 が 正 確 に 表 現 されず 透 明 不 透 明 だけとなります 対 応 する 入 力 ファイル

191 4.デザイナーガイド アニメーションGIFの 場 合 最 初 のコマだけが 使 われ アニメーションしません JPEG / JPEG 2000 画 像 JPEG 画 像 は 処 理 を 加 えずに そのままPDFに 含 めることができます 入 出 力 プロパティ output.pdf.jpeg-image [io] にto-flateを 設 定 することで 画 像 を 展 開 してからPDFに 含 むこともできますが PDFのサイズは 大 きくなります JAI-ImageI/Oがインストールされている 場 合 は JPEG 2000にも 同 様 の 処 理 が 適 用 され ます JAI-ImageI/Oがない 場 合 はJPEG 2000は 全 く 利 用 できませんのでご 注 意 ください その 他 の 画 像 JAI-ImageI/O 等 のライブラリで 他 の 画 像 形 式 が 利 用 可 能 な 場 合 それらの 扱 いはGIF /PNG 画 像 に 準 じます 半 透 明 効 果 をサポートする 画 像 形 式 の 場 合 はPDF 内 でも 再 現 さ れ アニメーションする 画 像 では 最 初 のコマだけが 使 われます 画 像 の 解 像 度 レイアウトされるときの 埋 め 込 まれた 画 像 の 大 きさはoutput.resolution [io] によ ります デフォルトでは96dpiです つまりデフォルトでは 例 えばimgタグでheightが100 と 設 定 された 場 合 あるいはimgタグでサイズが 指 定 されずに 元 の 画 像 の 大 きさが100 の 場 合 実 際 のレイアウト 結 果 では75ptの 高 さになります SVG 画 像 SVG 画 像 ファイルの 参 照 Copper PDFはSVG 画 像 ファイル(.svg)またはGZIPで 圧 縮 されたSVG 画 像 ファイル(.svgz) をサポートしています ただし PDF 出 力 の 場 合 SVG 埋 め 込 みフォントと 透 明 度 を 含 むグラデーション 塗 り(linearGradient, radialgradientでstop-opacityの 使 用 ) には 対 応 していません 一 般 的 なブラウザではobject 要 素 によりSVG 画 像 サポートされていますので Copper PDFでも 同 様 の 方 法 を 推 奨 します 例 4.2 object 要 素 によるSVG 画 像 の 埋 め 込 み <object data="image.svg" type="image/svg+xml"> SVGをサポートしないブラウザで 表 示 されるテキスト </object> 4.3 対 応 する 入 力 ファイル 177

192 4.デザイナーガイド Copper PDFでは SVG 画 像 を 他 の 画 像 と 同 様 に 扱 うことができます img 要 素 を 利 用 す ることができ background-image [css] プロパティにより 背 景 に 設 定 することもでき ます インラインSVG SVGを 別 ファイルに 分 けずに 文 章 中 に 直 接 記 述 することができます グラフ 等 動 的 に 変 化 する 画 像 をドキュメントに 含 める 場 合 に 適 しています インラインSVGは ド キュメント 中 でhttp://www.w3.org/2000/svg と 名 前 空 間 宣 言 したSVGを 記 述 するだけで す 例 4.3 インラインSVG <html> <head> <title>インラインsvgを 含 むドキュメント</title> </head> <body> <p>すぐ 下 に が 表 示 されます </p> <svg:svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveaspectratio="none" width="100" height="100" viewbox=" " xml:space="preserve"> <svg:g> <svg:circle cx="50" cy="50" r="45" stroke="blue" fill="white" stroke-width="10"/> </svg:g> </svg:svg> </body> </html> 画 像 を 読 み 込 めない 場 合 画 像 ファイルが 存 在 しない データの 破 損 Copper PDFがサポートしない 画 像 形 式 と いった 原 因 で 画 像 を 読 み 込 めない 場 合 は 通 常 はalt 属 性 で 指 定 された 代 替 テキストが 表 示 されます 入 出 力 プロパティoutput.broken-image [io] の 設 定 により 画 像 の 形 に 印 を 表 示 する(cross)か 空 白 を 空 ける(hidden)ことができます EPUB 電 子 書 籍 Copper PDFはEPUB 2.0またはEPUB 3.0ファイルを 変 換 することができます[3.1.0] EPUBファイルは コンテンツのMIME 方 が application/epub+zip であるか 拡 張 子 が.epub であることで 判 別 されます 対 応 する 入 力 ファイル

193 4.デザイナーガイド 4.4 出 力 するファイル 形 式 Copper PDFは 長 らくPDFを 唯 一 の 出 力 形 式 としていましたが Copper PDF 2.0.3から 画 像 の 出 力 をサポートしました output.type [io] にMIMEタイプを 設 定 することにより 出 力 形 式 を 切 り 替 えることが できます デフォルトではPDF("application/pdf")です PDFの 出 力 Copper PDFはデフォルトの 設 定 でPDFを 出 力 します PDF 出 力 機 能 の 詳 細 はPDFの 機 能 (ページ)を 参 照 してください PDFのバージョンと 機 能 出 力 するPDFのバージョンは output.pdf.version [io] で 設 定 することができます デフォルトではバージョン1.5のPDFが 出 力 されます PDF 1.5 以 降 であれば Copper PDFの 全 ての 機 能 を 利 用 することができます PDF 1.4 以 前 で は 使 用 で き る 機 能 に 制 限 が あ り ま す 詳 細 は 資 料 集 の output.pdf.version [io] の 説 明 を 参 照 してください Copper PDF 2.1.0からは PDF/A-1(ISO )に 対 応 したファイルを 出 力 することがで きます (186ページ) 暗 号 化 Copper PDFは 暗 号 化 したPDFを 出 力 することができます パスワードを 設 定 して 暗 号 化 したPDFは パスワードがなければ 閲 覧 不 可 能 になります また 内 容 のコピーなど PDFの 利 用 制 限 を 設 定 するためにも 暗 号 化 が 必 要 で 広 く 配 布 するPDFのためにパス ワードを 設 定 せず 暗 号 化 だけしたPDFを 出 力 することができます 暗 号 化 は output.pdf.encryption [io] の 設 定 で 有 効 となります 暗 号 化 方 式 はv1 とv2の2 種 類 がありますが 通 常 はPDF 1.3 以 降 でサポートされているv2 暗 号 化 を 使 用 し てください 暗 号 強 度 ( 暗 号 化 キーのビット 数 )は output.pdf.encryption.length [io] で 設 定 で きます デフォルトでは 最 も 強 い 暗 号 化 (v1では40, v2では128)がされるため 通 常 は 設 定 の 必 要 はありません 閲 覧 のためのパスワードは output.pdf.encryption.user-password [io] で 設 定 することができます このプロパティを 設 定 しなかった 場 合 は 暗 号 化 だけされて 誰 で 4.4 出 力 するファイル 形 式 179

194 4.デザイナーガイド も 開 く こ と が で き る PDF が 生 成 さ れ ま す さ ら に output.pdf.encryption.owner-password [io] でAdobe Acrobat 等 で 文 書 の 編 集 を するためのパスワードを 設 定 することができます PDFを 暗 号 化 する 場 合 は パーミッションを 設 定 することができます パーミッション はoutput.pdf.encryption.permissionsで 開 始 する 次 の8 種 類 の 入 出 力 プロパティで 設 定 す ることができます true( 有 効 )またはfalse( 無 効 )で 設 定 してください デフォルトでは 全 て 有 効 です output.pdf.encryption.permissions.print [io] 印 刷 output.pdf.encryption.permissions.modify [io] 内 容 の 変 更 output.pdf.encryption.permissions.copy [io] テキストや 画 像 のコピー output.pdf.encryption.permissions.add [io] 注 釈 の 追 加 変 更 とPDFフォームへの 入 力 次 の4つはv2 暗 号 化 でのみ 有 効 です output.pdf.encryption.permissions.fill [io] PDFフォームへの 入 力 output.pdf.encryption.permissions.extract [io] 障 害 を 持 つユーザーのための 文 書 中 のテキストや 画 像 の 抽 出 output.pdf.encryption.permissions.assemble [io] 文 書 中 に 新 しいページ ブックマーク サムネイル 画 像 を 追 加 する output.pdf.encryption.permissions.print-high [io] 文 書 を 高 画 質 で 印 刷 する なお Copper PDFはPDFフォームをサポートしていないため フォームに 対 する 権 限 は 通 常 は 無 意 味 です パーミッションを 設 定 することにより Adobe Reader 等 のPDF 閲 覧 ソフ トは 設 定 に 沿 った 動 作 をしますが 他 のツール 等 でPDFに 対 する 該 当 する 操 作 が 行 われないことを 保 証 するものではありません 出 力 するファイル 形 式

195 4.デザイナーガイド ファイルの 添 付 PDF 1.4 以 降 では PDFにファイルを 添 付 することができます ファイルの 添 付 は output.pdf.attachments.n.name [io] output.pdf.attachments.n.description [io] output.pdf.attachments.n.mime-type [io] output.pdf.attachments.n.uri [io] の4つで1 組 のプロパティを 使 います nは0から 始 まる 通 し 番 号 で 複 数 のファイルを 添 付 することができます このうち 必 須 なのはoutput.pdf.attachments.n.uri [io] です あらかじめドライ バにより 送 られてきたファイルのURIか アクセス 可 能 なファイルのURLを 設 定 してく ださい output.pdf.attachments.n.name [io] はファイルの 名 前 です ASCII 文 字 以 外 も 使 用 することができますが 文 字 化 けが 発 生 するおそれがあります 日 本 語 ファイル 名 を 使 用 する 場 合 は output.pdf.attachments.n.name [io] にはなるべくASCII 文 字 を 使 い output.pdf.attachments.n.description [io] に 実 際 のファイル 名 を 設 定 してください output.pdf.attachments.n.mime-type [io] は ファイルのMIMEタイプです PDFの 圧 縮 形 式 Copper PDFのデフォルトの 設 定 では 出 力 されるPDFはなるべくサイズが 小 さくなるよ うに 圧 縮 されます 結 果 出 力 されるPDFはバイナリデータとなります output.pdf.compression [io] の 設 定 により テキスト 形 式 か 圧 縮 されないPDFを 生 成 することができます asciiという 設 定 では PDFを 圧 縮 しますが 出 力 されるPDFは ASCIIテキストになります 若 干 サイズは 大 きくなりますが テキストとしてそのまま コピー&ペーストできるようなファイルができ 上 がります noneではpdfを 全 く 圧 縮 せ ず 描 画 命 令 などがそのままの 形 のテキストで 出 てきます 画 像 はHEX 形 式 となり 非 常 にファイルサイズが 大 きくなりますが 出 力 されたPDFの 内 容 をテキストエディタ 等 で 確 認 するのに 便 利 です PDF 中 の 画 像 の 圧 縮 形 式 容 量 の 大 きなPDFの 場 合 画 像 が 容 量 のほとんどを 占 めていることがよくあります そ のため 画 像 の 圧 縮 形 式 を 適 切 に 設 定 することで PDFのサイズを 節 約 することができ ます 4.4 出 力 するファイル 形 式 181

196 4.デザイナーガイド デフォルトでは JPEG 画 像 は 加 工 されずにPDF 内 で 使 用 され 他 の 画 像 はFlateDecode 形 式 ( 可 逆 圧 縮 )で 圧 縮 されます 画 像 の 圧 縮 形 式 は output.pdf.image.compression [io] で 指 定 することができま す[2.0.3] デフォルトはflateですが jpegにするとjpegで 圧 縮 します JAI-ImageI/O [io] がインストールされた 環 境 では jpeg2000の 指 定 が 可 能 です 画 像 の 圧 縮 は デフォルト で は JPEG / JPEG2000 に は 適 用 さ れ ま せ ん が output.pdf.jpeg-image [io] を recompressにすると JPEG / JPEG2000を 再 圧 縮 するようになります[2.0.3] (ただしJPEGを JPEGに JPEG2000をJPEG2000に 圧 縮 することはしません JPEGとJPEG2000を 互 いに 変 換 することはします) JPEG / JPEG2000による 再 圧 縮 は 不 可 逆 であり 画 像 を 劣 化 させるためアイコンのよう な 小 さな 画 像 には 適 用 したくないことがあります そのため Copper PDFは 一 定 の 大 き さより 小 さな 画 像 を 常 にFlateDecode 形 式 で 圧 縮 するように 指 定 することができます [2.0.3] 閾 値 はoutput.pdf.image.compression.lossless [io] に 画 像 の 縦 のピク セル 数 と 横 のピクセル 数 を 足 した 値 で 設 定 します デフォルトは200です この 場 合 例 えば 縦 が90ピクセル 横 が110ピクセルの 画 像 はJPEG / JPEG2000に 再 圧 縮 されますが 縦 が80ピクセル 横 が100ピクセルの 画 像 はFlateDecodeで 可 逆 圧 縮 されます ただし 元 の 画 像 がJPEG / JPEG2000で output.pdf.image.compression [io] で 指 定 した 形 式 と 同 じ 場 合 は そのままの 形 式 でPDFに 埋 め 込 みます PDFの 表 示 環 境 のキャラクタ エンコーディング PDF 1.2 以 前 ではフォント 名 PDF 1.6 以 前 では 添 付 ファイル 名 が PDFの 表 示 環 境 の キャラクタ エンコーディングに 依 存 していました 後 のバージョンのPDFではユニ コードを 使 用 するため 特 に 表 示 環 境 のキャラクタ エンコーディングを 気 にする 必 要 はありません 古 い バ ー ジ ョ ン の PDF を 生 成 す る 場 合 は 文 字 化 け を 防 ぐ た め に output.pdf.platform-encoding [io] に 想 定 される 表 示 環 境 のエンコーディングを 設 定 する 必 要 があります デフォルトではMS932(Windows 版 Shift_JIS)が 設 定 されてい るため 日 本 語 環 境 ではおおよそ 問 題 は 起 きません ただし 該 当 する 箇 所 に 設 定 され たエンコーディングがサポートしない 文 字 が 使 われた 場 合 や 設 定 されたエンコー ディング 以 外 の 表 示 環 境 では 文 字 化 けが 発 生 する 可 能 性 があります 作 成 更 新 時 刻 ファイルIDの 設 定 デフォルトでは PDFの 作 成 更 新 時 刻 (CreationDate, ModDate)にはCopper PDFが 動 作 している 環 境 の 時 計 の 現 在 時 刻 が 使 われます また ファイルIDは 乱 数 が 使 用 されま す 作 成 更 新 時 刻 とファイルIDは 明 示 的 に 設 定 することもできます[2.0.9] 出 力 するファイル 形 式

197 4.デザイナーガイド 作 成 更 新 時 刻 はそれぞれ output.pdf.meta.creation-date [io] output.pdf.meta.mod-date [io] を 設 定 してください 日 付 の 形 式 は" :10:14"または" :53:02 +09:00" (タイムゾーンを 明 示 する 場 合 )といった 形 式 です ファイルIDは output.pdf.file-id [io] で 設 定 してください これは 必 ず32 桁 固 定 の 16 進 数 で "000067A36902BF8D2A0617B9CD02BCFA" のような 値 です すかし PDFの 前 面 または 背 面 に すかし 画 像 を 出 力 することができます[2.1.8] すかしを 利 用 で きるのは PDF 1.4 以 降 です 同 様 のことは CSSのbackground-image [css] 等 をつかって 実 現 することもできます が PDFの 場 合 は 画 面 では 見 えず 印 刷 時 だけすかしを 表 示 する 機 能 があります output.pdf.watermark.uri [io] に すかしに 使 う 画 像 を 絶 対 アドレスで 指 定 する と 繰 り 返 しパターンとして 画 像 がPDFの 全 ページに 表 示 されるようになります デフォルトでは 背 景 は 背 面 に 表 示 されますが output.pdf.watermark.mode [io] に"front"を 設 定 すると 前 面 に 表 示 されます output.pdf.watermark.opacity [io] により すかしの 不 透 明 度 を 設 定 することが できます 例 えば "0.5"という 値 を 設 定 すると すかしが 半 透 明 になります 以 下 の 出 力 例 は output.pdf.watermark.uri [io] に SVG 画 像 を 指 定 し output.pdf.watermark.mode [io] に"back"を 指 定 しています 4.4 出 力 するファイル 形 式 183

198 4.デザイナーガイド 図 4.17 背 面 にすかしを 配 置 以 下 の 出 力 例 は output.pdf.watermark.uri [io] に SVG 画 像 を 指 定 し output.pdf.watermark.mode [io] に "front" を 指 定 し output.pdf.watermark.opacity [io] に0.5を 指 定 しています 出 力 するファイル 形 式

199 4.デザイナーガイド 図 4.18 前 面 にすかしを 配 置 印 刷 時 だけ または 画 面 表 示 だけすかしを 表 示 する output.pdf.watermark.view [io] output.pdf.watermark.print [io] は それぞ れすかしを 画 面 表 示 時 と 印 刷 時 に 表 示 するかどうかを 設 定 するものです デフォルト では 両 方 とも 表 示 しますが 例 えばoutput.pdf.watermark.view [io] に"false"を 設 定 すると 印 刷 時 だけすかしを 表 示 します すかしを 背 面 に 表 示 する 場 合 これらの 設 定 はPDF 1.4 以 前 では 有 効 になりません 4.4 出 力 するファイル 形 式 185

200 4.デザイナーガイド PDF/A-1bに 準 拠 したファイルの 出 力 PDF/A (ISO )はPDFの 長 期 保 存 のための 国 際 規 格 です 出 力 されるPDFの 形 式 に 一 定 の 制 約 を 加 えることにより 様 々なPDF 表 示 ソフトウェアの 互 換 性 の 問 題 が 起 きに くくなります PDF/AにはPDF/A-1bと より 制 約 の 強 いPDF/A-1aがありますが Copper PDFは 現 在 のところPDF/A-1bをサポートします output.pdf.version [io] に"1.4A-1"を 設 定 すると PDF/A-1bに 準 拠 したファイルが 生 成 されます[2.1.0] このモードで 生 成 されるPDFのバージョンは1.4ですが 通 常 のPDF 1.4の 以 下 の 機 能 が 使 用 できなくなります 暗 号 化 添 付 ファイル 半 透 明 表 示 ( 半 透 明 すかし 半 透 明 PNG SVGの 透 明 度 指 定 など) フォントは 常 に 埋 め 込 みフォントだけが 使 用 されます CID-Keyedフォント 外 部 フォ ント コア14フォントも 使 用 できません PDFビューワの 表 示 設 定 [3.0.2/2.1.11] CopperPDFは PDFをビューワで 開 いた 際 の 表 示 (ViewerPreferences)を 設 定 することがで きます ViewerPreferences の 設 定 がどのように 影 響 するかは そのPDFを 開 くビュー ワー(Adobe Readerなど)によります 必 ずしもユーザーの 環 境 で 設 定 通 りに 表 示 され るものではありませんが 組 織 内 での 事 務 処 理 や 印 刷 作 業 のためには 非 常 に 有 効 です ViewerPreferences はoutput.pdf.viewer-preferences. で 始 まる 名 前 の 入 出 力 プロパティによ り 設 定 します たとえば 文 書 を 印 刷 する 場 合 の 印 刷 部 数 をあらかじめ3に 設 定 したい 場 合 は output.pdf.viewer-preferences.num-copies [io] を3に 設 定 します 設 定 の 一 覧 は 資 料 集 の 入 出 力 プロパティ 一 覧 を 参 照 してください PDFの 表 示 の 際 に 実 行 されるJavaScript [3.0.2/2.1.11] output.pdf.open-action.java-script [io] により PDFをビューワで 開 いたタイ ミングで 実 行 されるJavaScriptを 設 定 することができます 例 えば PDFを 開 いた 際 に 印 刷 ダイアログを 表 示 する 場 合 は "print();" を 設 定 します PDF の JavaScript の 仕 様 に つ い て は Adobe 社 が 公 開 し て い る ド キ ュ メ ン ト (http://www.adobe.com/jp/support/products/pdfs/acrojs_j.pdf)を 参 照 してください 出 力 するファイル 形 式

201 4.デザイナーガイド 画 像 の 出 力 Copper PDFはPDFだけではなく JPEG 等 のラスタ(ピクセルマップ) 画 像 を 出 力 すること ができます [2.0.3] output.type [io] に"image/jpeg"のように 画 像 のMIMEタイプを 指 定 してください 画 像 のエンコーディングにはJava 実 行 環 境 の 機 能 を 利 用 しており 大 抵 のJava 実 行 環 境 ではJPEG("image/jpeg"), PNG("image/png") 画 像 を 出 力 することができます Java 実 行 環 境 に 拡 張 ライブラリを 導 入 することにより 出 力 できる 画 像 を 増 やすことができます 拡 張 方 法 については 他 の 画 像 形 式 の 利 用 を 参 照 してください 画 像 出 力 の 制 約 コアフォント (47ページ) とCID-Keyedフォント (51ページ)を 描 画 できないという 制 約 があります フォントを 正 しく 表 示 するためには 埋 め 込 みフォント (51ページ)を 利 用 する 必 要 があります フォントの 設 定 方 法 はフォントの 種 類 (46ページ)を 参 照 してく ださい 画 像 出 力 の 解 像 度 出 力 される 画 像 の 解 像 度 は output.image.resolution [io] により 設 定 することが できます[2.0.4] 値 の 単 位 はdpiで CSSで1inの 長 さのオブジェクトを 描 画 するときに 並 ぶピクセル 数 です デフォルトの 画 像 の 解 像 度 は96dpiです 1ptは1/72inであるため デ フォルトでは1ptは1ピクセルより 若 干 大 きくなります 1px が 実 際 に 出 力 さ れ る 画 像 の 1 ピ ク セ ル と 一 致 す る よ う に す る た め に は output.resolution [io] と output.image.resolution [io] が 同 じ 値 になるように してください デフォルトでは 両 方 とも96です なお 以 前 ではoutput.image.resolution [io] のデフォルト 値 が72となってお り 解 像 度 が 正 しく 反 映 されないバグがありました 以 降 では ( 以 前 の 設 定 output.resolution [io] / 72) で 換 算 した 値 を 設 定 してください SVGの 出 力 Copper PDF か ら SVG の 出 力 を サ ポ ー ト し ま し た output.type [io] に"image/svg+xml"を 設 定 してください SVG 出 力 では 文 字 が 全 てアウトライン 化 されます 出 力 されたSVGはAdobe Illustrator CSなどのドローソフトで 読 み 込 み 加 工 することができます 4.4 出 力 するファイル 形 式 187

202 4.デザイナーガイド 4.5 一 般 的 なブラウザとの 互 換 性 Copper PDF 以 降 では Internet Explorer 7 互 換 モードは 廃 止 されました 互 換 性 モードの 切 り 替 え Copper PDFは デフォルト( 標 準 モード)ではCSS 2.1に 準 拠 したレンダリングをします が 実 用 上 の 問 題 か ら 一 般 的 な ブ ラ ウ ザ と の 互 換 モ ー ド が 用 意 さ れ て い ま す output.compatible_mode [io] にmsieを 指 定 することにより Copper PDFはInternet Explorer 7に 近 いレイアウトをするように 試 みます ただし ドキュメントに 次 のいずれかのpublic idを 持 つDOCTYPE 宣 言 がある 場 合 は 常 に 通 常 のモードでレイアウトします 互 換 モードはCopper PDFのバージョンアップごとに 一 般 的 なブラウザと 互 換 性 を 持 つ ように 改 善 が 試 みられますが 完 全 な 互 換 性 を 保 証 するものではありません また 制 限 事 項 があり デフォルトのモードより 非 効 率 な 処 理 が 行 われることがあるため 若 干 パフォーマンスが 劣 ります -//W3C//DTD HTML 4.01//EN -//W3C//DTD XHTML 1.0 Transitional//EN -//W3C//DTD XHTML 1.0 Strict//EN -//W3C//DTD XHTML 1.1//EN 標 準 モードとmsieモードの 違 い CSSで 数 字 のクラス 名 が 認 識 される 標 準 モードでは 数 字 のクラス 名 はエラーとなり 無 視 されますが msieモードでは 有 効 で す 一 般 的 なブラウザとの 互 換 性

203 4.デザイナーガイド 例 4.4 数 字 のクラス 名 を 使 用 する <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title> 数 字 のクラス 名 </title> <style type="text/css">.a { color: Red;.1 { color: Red; </style> </head> <body> <p class="a">このテキストは 赤 字 です</p> <p class="1">msieモードではここも 赤 くなります</p> </body> </html> CSSで':'の 代 わりに'='が 使 用 できる CSSでプロパティ 名 と 値 の 区 切 り 文 字 は':'ですが msieモードでは'='も 使 用 することが できます 例 4.5 ':'の 代 わりに'='を 使 用 する <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>':'の 代 わりに'='を 使 用 する</title> <style type="text/css">.a { color: Red;.B { color=red; </style> </head> <body> <p class="a">このテキストは 赤 字 です</p> <p class="b">msieモードではここも 赤 くなります</p> </body> </html> 4.5 一 般 的 なブラウザとの 互 換 性 189

204 4.デザイナーガイド CSSの 色 指 定 で#を 省 略 しても 認 識 される msieモードではrgbコードで 色 を 指 定 する 場 合 #を 省 略 できます 例 4.6 色 指 定 で#を 省 略 する <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title> 色 指 定 で#を 省 略 する</title> <style type="text/css">.a { color: #FF0000;.B { color: FF0000; </style> </head> <body> <p class="a">このテキストは 赤 字 です</p> <p class="b">msieモードではここも 赤 くなります</p> </body> </html> CSSの 長 さ 指 定 で 単 位 を 省 略 しても 認 識 される msieモードでは 長 さ 指 定 で 単 位 を 省 略 した 場 合 px 単 位 による 指 定 と 認 識 されます フォームの 前 後 にマージンが 設 定 される msieモードでは デフォルトでフォーム(form 要 素 )の 前 後 に1.12emのマージンが 設 定 さ れます 段 落 と 見 出 しのマージン 上 下 のマージンをなくす 場 合 がある msieモードでは 段 落 または 見 出 しが(p, h1~h6 要 素 )の ページまたはテーブルセルの 先 頭 にある 場 合 前 のマージンがなくなります 同 様 に 末 尾 にある 場 合 は 後 のマージン がなくなります ボックスの 幅 または 高 さに100%が 指 定 された 場 合 外 側 のボックスをはみ 出 さない width [css] またはheight [css] のパーセント 指 定 は 標 準 モードでは 外 側 のボックスの 幅 に 対 して ボックスの 内 側 の 幅 を 指 定 するため 境 界 のあるボックスに 対 して100%を 一 般 的 なブラウザとの 互 換 性

205 4.デザイナーガイド 指 定 すると ボックスが 外 側 のボックスの 内 部 からはみ 出 します msieモードでは100% 指 定 された 場 合 にボックスの 外 側 の 幅 が 外 側 のボックスの 内 側 の 幅 に 一 致 し 0% 指 定 された 場 合 にボックスの 内 側 の 幅 がゼロになるように 計 算 します 絶 対 位 置 指 定 ボックス 浮 動 ボックスの 大 きさが 内 容 により 拡 張 される 絶 対 位 置 指 定 ボックス 浮 動 ボックスに{overflow: visible;が 指 定 され かつ ボックスの 幅 と 高 さが 設 定 されている 場 合 標 準 モードではボックスのサイズは 常 に 固 定 で 内 容 がはみ 出 した 部 分 はボックスの 境 界 にかかりますが msieモードではボッ クスの 内 容 によってボックスの 幅 と 高 さが 拡 張 されます 通 常 のフローのボックスが 幅 が 指 定 されたボックスにより 拡 張 される 幅 指 定 されたボックスに より 大 きな 幅 のボックスが 含 まれている 場 合 標 準 モードで は 内 部 のボックスは 外 側 のボックスをはみ 出 しますが msieモードでは 外 側 のボック スの 幅 が 内 側 のボックスが 収 まるように 拡 張 されます 幅 がautoの 固 定 レイアウトテーブルが 固 定 レイアウトのまま 処 理 される 標 準 モードでは {table-layout: fixed;が 指 定 されているテーブルであっても width [css] がautoであれば{table-layout: auto; が 指 定 されたのと 同 様 に 扱 われ ます msieモードでは width [css] がautoの 場 合 は テーブルの 外 側 の 幅 を 外 側 のボックスの 内 側 の 幅 に 合 わせて 固 定 し 固 定 レイアウトとして 処 理 します ただし 全 てのカラム に 幅 が 明 示 されている 場 合 は テーブルの 幅 はカラムの 指 定 幅 の 合 計 となります テーブル 行 に 対 するmax-height [css] が 適 用 されない msieモードではテーブル 行 に 対 するmax-height [css] の 設 定 は 無 視 されます ブロックに 対 するline-height [css] による 高 さが 確 保 されない ブロックに 対 してline-height [css] が 指 定 されている 場 合 標 準 モードではブロック 内 の 行 に 対 して 指 定 した 高 さが 必 ず 確 保 されますが msieモードでは 行 内 にインライ ン 画 像 インラインボックスまたはインラインテーブルだけが 含 まれ かつそれらの 高 さがline-height [css] より 小 さい 場 合 は line-height [css] で 指 定 された 高 さは 確 保 されません 全 角 スペースの 間 で 折 り 返 しされない msieモードでは 全 角 スペースが 連 続 している 場 合 その 中 での 折 り 返 しは 発 生 しませ ん また 全 角 スペースにより 外 側 のボックスが 拡 張 されることはありません 4.5 一 般 的 なブラウザとの 互 換 性 191

206 4.デザイナーガイド input 要 素 の 高 さが 強 制 される msieモードでは input 要 素 で 配 置 されるフォームの 高 さが1.12emに 強 制 されます height [css] は 適 用 されません マージンの 設 定 に 関 わらず 中 央 寄 せされる img, input, applet, object, iframe, tableのalign 属 性 による 中 央 寄 せは 標 準 モードでは 左 右 のマージンをautoにした 状 態 {margin: 0 auto;と 同 等 ですが msieモードでは 左 右 のマージンが 設 定 された 場 合 も 中 央 寄 せになります 例 えば 標 準 モードでは{margin-left: 100pt;が 指 定 されれば 中 央 寄 せが 設 定 された 要 素 でも 常 に 左 から100ptの 位 置 に 配 置 されますが msieモードでは 中 央 寄 せか ら 左 に100ptの1/2(つまり50pt)ずれた 位 置 に 配 置 されます 匿 名 のテーブルセルにより 補 完 されない テーブル 内 で かつテーブルセルの 外 にインライン インラインブロックまたはインラ インテーブルが 配 置 された 場 合 標 準 モードでは 自 動 的 に 上 位 に 匿 名 のセル 要 素 が 挿 入 されますが msieモードでは 全 てテーブルの 前 に 表 示 されます インラインボックスにwidth [css] が 適 用 される 標 準 モードではwidth [css] はインラインボックスには 適 用 されませんが msieモードで はwidth [css] の 設 定 によりインラインボックスの 幅 が 変 化 します また width [css] がauto 以 外 に 設 定 されたインラインボックスはインラインボックスと 同 様 に 配 置 されます すなわち {display: inline;が 指 定 されている 要 素 であっ ても width [css] がauto 以 外 であれば {display: inline-block;が 適 用 されている のと 同 じことになります text-align [css] がブロックの 配 置 にも 適 用 される 標 準 モードではtext-align [css] はテキストの 配 置 にだけ 適 用 されますが msieモード では 内 部 にある 通 常 のフローのボックスの 配 置 にも 適 用 されます これはp 要 素 やdiv 要 素 等 のalign 属 性 と 同 様 の 挙 動 をします 一 般 的 なブラウザとの 互 換 性

207 4.デザイナーガイド テーブルカラムのプロパティがセルに 継 承 される msieモードではテーブルカラムに 設 定 された 以 下 のプロパティがテーブルセルに 継 承 されます text-align [css] color [css] font-style [css] font-weight [css] font-family [css] font-size [css] text-transform [css] letter-spacing [css] word-spacing [css] 上 記 のプロパティがテーブルセルと テーブル 行 の 両 方 に 設 定 されている 場 合 は テー ブル 行 のプロパティの 方 が 継 承 されます width [css] が 設 定 されたテーブルセルには{white-space: nowrap;が 適 用 されない 標 準 モードでは{white-space: nowrap;が 指 定 された 領 域 ではテキストの 折 り 返 しが 行 われないため width [css] で 幅 が 指 定 されたテーブルセルでは 内 容 が 幅 をはみ 出 すことがありますが msieモードではwidth [css] で 幅 が 指 定 されたテーブルセルでは {white-space: nowrap;が 適 用 されず 内 容 がはみ 出 さないようにテキストの 折 り 返 しが 発 生 します 既 知 の 制 限 事 項 MS 明 朝 系 フォントの 文 字 幅 について MS 明 朝 MSゴシックのフォントを 使 用 する 場 合 一 般 的 なブラウザでは 小 さなフォ ントサイズが 指 定 された 場 合 一 番 近 いビットマップフォントが 使 用 されるため 指 定 された 文 字 サイズと 実 際 に 使 われる 文 字 サイズが 異 なることがありますが Copper PDFでは 全 てアウトラインフォントを 使 用 するため 指 定 したとおりの 文 字 サイズとな ります そのため 文 字 幅 が 一 般 的 なブラウザで 表 示 する 場 合 と 異 なり 文 字 列 の 折 り 返 し 位 置 等 が 異 なることがあります 4.5 一 般 的 なブラウザとの 互 換 性 193

208 4.デザイナーガイド サポートしていないCSSプロパティ Internet Explorer 独 自 のCSSプロパティで 以 下 のものはサポートしていません accelerator [css] behavior [css] block-progression [css] filter [css] layout-grid [css] layout-grid-* [css] interpolation-mode [css] overflow-* [css] scrollbar-* [css] text-autospace [css] text-justify [css] text-kashida-space [css] text-overflow [css] text-underline-position [css] word-break [css] word-wrap [css] writing-mode [css] zoom [css] 自 動 レイアウトテーブル CSS 2.1 で は 自 動 レ イ ア ウ ト テ ー ブ ル ( デ フ ォ ル ト あ る い は{table-layout: auto;が 指 定 されたテーブル) のレイアウトの 調 整 方 法 について 明 確 な 仕 様 が 定 め られていないため どうしても 一 般 的 なブラウザと 若 干 のレイアウトの 違 いが 生 じま す Copper PDF 以 降 では ほぼ 一 般 的 なブラウザに 近 いレイアウトとなりますが なるべく 以 下 のいずれかの 条 件 の 下 で 使 用 してください {table-layout: fixed;が 指 定 されたーブル)を 使 用 する 自 動 レイアウトテーブルで 横 方 向 に 連 結 されたセルが 存 在 する 場 合 は %による 幅 指 定 をしない 一 般 的 なブラウザとの 互 換 性

209 4.デザイナーガイド 4.6 XML/HTMLの 拡 張 機 能 見 出 し HTMLのh1~h6 要 素 は 見 出 しとして 特 別 な 意 味 を 持 ちます h1~h6 要 素 の 数 字 は 見 出 しのレベルとして 認 識 され 数 字 が 大 きいものほど 深 い 階 層 にあるものとして 処 理 さ れます また 任 意 の 要 素 にhtml:header="レベル" という 属 性 を 付 与 することで 任 意 の 要 素 をHTMLのh1~h6 要 素 と 同 様 の 意 味 を 持 たせることができます ブックマーク output.pdf.bookmarks [io] をtrueにすると PDFのブックマーク(しおり)が 生 成 され ます ブックマークは 見 出 しのレベルによって 自 動 的 に 階 層 化 されます 現 在 ページのセクション ページの 内 容 として 出 力 済 みの 見 出 しを content [css] プロパティ 内 で-cssj-heading 関 数 によって 生 成 することができます 例 4.7 見 出 しの 表 示 content: -cssj-heading(1) ' - ' -cssj-heading(2); 上 の 例 はレベル1とレベル2の 見 出 しを 表 示 します すなわち ドキュメントの 先 頭 か ら 前 ページの 最 後 までの 間 で 一 番 最 後 のh1とh2の 内 容 を 表 示 します -cssj-heading 関 数 を -cssj-page-content [css] が 設 定 されたページで 使 用 すると ド キュメントの 先 頭 から 現 在 のページの 最 後 までの 間 で 一 番 最 後 の 見 出 しを 表 示 する ことができます これは ノンブルに 見 出 しを 表 示 する 場 合 に 便 利 です 目 次 の 生 成 見 出 しは 目 次 の 生 成 に 利 用 することができます 目 次 を 生 成 するためには Copper PDFが 文 書 全 体 の 見 出 しと 見 出 しのあるページ 番 号 を 収 集 している 必 要 があります 例 4.8 目 次 の 生 成 <cssj:make-toc xmlns:cssj="http://www.cssj.jp/ns/cssjml" counter="page-number" type="decimal"/> ドキュメントの 末 尾 に 目 次 を 生 成 する 場 合 は 目 次 の 生 成 の 開 始 時 点 で 本 文 が 全 て 処 理 されていますが ドキュメントの 先 頭 や 途 中 に 目 次 を 生 成 する 場 合 は 2パス 以 上 の 処 理 が 必 要 です 4.6 XML/HTMLの 拡 張 機 能 195

210 4.デザイナーガイド counter 属 性 はページ 番 号 を 振 るために 使 用 するページカウンタの 名 前 です typeは ページ 番 号 のタイプです CSSのlist-style-type [css] で 使 われるのと 同 じタイプ 名 が 利 用 可 能 です 生 成 される 目 次 は 次 のようなリストの 形 式 をしています 例 4.9 生 成 される 目 次 の 例 <ul class="cssj-toc"> <li><a href="#cssj-heading-1"><span class="cssj-title">1. タイト ル1</span><span class="cssj-page">1</span></a></li> <li><a href="#cssj-heading-2"><span class="cssj-title">2. タイト ル2</span><span class="cssj-page">5</span></a></li> <li><a href="#cssj-heading-3"><span class="cssj-title">3. タイト ル3</span><span class="cssj-page">8</span></a></li> <ul> <li><a href="#cssj-heading-4"><span class="cssj-title">3.1. タイトル4</span><span class="cssj-page">8</span></a></li> <li><a href="#cssj-heading-5"><span class="cssj-title">3.2. タイトル5</span><span class="cssj-page">9</span></a></li> </ul> </ul> 例 として 以 下 のようなスタイルシートを 使 うことで 目 次 を 整 形 してください 例 4.10 目 次 を 整 形 するCSSの 例 ul.cssj-toc, ul.cssj-toc ul { list-style: none; ul.cssj-toc { margin: 0; ul.cssj-toc ul { margin: 1em; ul.cssj-toc li { margin: 1em 1em 1.5em 0; font-family: sans-serif; height: 0.5em; border-bottom: 1pt dotted; ul.cssj-toc ul li { margin: em 1em; XML/HTMLの 拡 張 機 能

211 4.デザイナーガイド font-family: serif; ul.cssj-toc span { background-color: White; padding: 0 0.5em; ul.cssj-toc span.cssj-page { position: absolute; right: 0; リンクとフラグメント フラグメント 識 別 子 によるリンク output.pdf.hyperlinks [io] をtrueに 設 定 すると 文 書 内 のハイパーリンクがPDFに 反 映 されます デフォルトでは ハイパーリンクは 文 書 のURIに 対 する 相 対 アドレスに 変 換 されます ハ イ パ ー リ ン ク の ベ ー ス と な る URI を 文 書 の URI 以 外 に す る 場 合 は output.pdf.hyperlinks.base [io] にURIを 設 定 することで 変 更 することができま す これらの 場 合 PDFファイルの 位 置 が 適 切 でないと リンクは 意 味 を 持 ちません output.pdf.hyperlinks.href [io] にabsoluteを 指 定 すると 文 書 内 リンクを 除 いて 全 て 絶 対 リンクになります この 場 合 PDFファイルの 配 置 場 所 を 変 えてもリンクが 切 れることはありません output.pdf.hyperlinks.fragment [io] をtrueに 設 定 すると ドキュメントの 一 部 に 対 してフラグメント 識 別 子 によるリンクが 可 能 になります フラグメントの 作 成 方 法 は 通 常 のHTMLと 同 じで 任 意 の 要 素 のid 属 性 と a 要 素 のname 属 性 をサポートしてい ます -cssj-page-ref 関 数 Copper PDFは フラグメントが 存 在 するページを 表 示 するために content [css] 内 で 使 用 できる-cssj-page-ref 関 数 を 用 意 しています 4.6 XML/HTMLの 拡 張 機 能 197

212 4.デザイナーガイド 例 4.11 フラグメントのページ 番 号 の 表 { counter-increment: page; span:before { content: 'p' -cssj-page-ref(frag, page, decimal, ', p') ' '; a:after { content: ' (' -cssj-page-ref(attr(href), page, decimal, ', ') ' ページ)'; -cssj-page-ref 関 数 の 最 初 の 引 数 は 参 照 するフラグメント 識 別 子 です 2 番 目 の 引 数 は ページ 番 号 の 表 示 に 使 うページカウンタです 3 番 目 の 引 数 は 数 字 のスタイルで list-style-type [css] で 使 われるのと 同 じスタイル 名 です 3 番 目 の 引 数 を 省 略 する とdecimalスタイルで 表 示 されます 4 番 目 の 引 数 (Copper PDF 以 降 )は 同 じ 名 前 のフ ラグメントが 複 数 存 在 する 場 合 複 数 のページ 番 号 を 表 示 するための 区 切 り 記 号 です 4 番 目 の 引 数 を 省 略 すると 最 初 のフラグメントのページ 番 号 だけが 表 示 されます フラグメント 識 別 子 の 部 分 はattr 関 数 を 使 うことができます 上 の 例 のように HTMLの a 要 素 でhref 属 性 の 値 を 使 うと フラグメントへリンクすると 同 時 に フラグメントが 存 在 知 るページの 番 号 を 表 示 することができます なお フラグメント 識 別 子 の 最 初 の'#' はあってもなくても 構 いません -cssj-page-ref 関 数 を 使 うためには 一 般 的 に2パス 以 上 の 処 理 の 処 理 が 必 要 です ドキュ メント 全 体 の 処 理 が 一 度 終 わらないと ドキュメントの 後 の 方 にあるフラグメントの ページが 分 からないためです ドライバで 複 数 の 結 果 を 結 合 する 機 能 を 用 いる 場 合 他 のドキュメントのページ 番 号 を 得 るには -cssj-page-refの 最 初 の 引 数 に'document.html#frag'のようなURIを 指 定 してくだ さい [3.0.14][3.1.0] 注 釈 cssj:annot 属 性 は Copper PDFを 利 用 するアプリケーションに メッセージを 送 るもので す 例 えば 日 付 順 に 内 容 が 並 んでいる 文 書 を 処 理 する 場 合 に cssj:annot 属 性 に 日 付 を 入 れることで ドキュメント 中 でCopper PDFが 現 在 処 理 中 の 部 分 をアプリケーション が 知 ることができます XML 中 でHTMLの 要 素 と 属 性 を 使 用 する 名 前 空 間 を 使 用 することで 画 像 (img 要 素 ) テーブルセル の 結 合 (colspan, rowspan 属 性 )といった HTMLの 一 部 の 要 素 や 属 性 はXML 内 でも 使 用 す ることができます 利 用 可 能 な 要 素 や 属 性 のリストは 資 料 集 のXMLの 拡 張 の 章 を 参 照 してください XML/HTMLの 拡 張 機 能

213 4.デザイナーガイド ルビ[3.0.0] ルビはHTMLのruby, rb, rt, rp 要 素 により 表 示 可 能 です rbがルビが 振 られる 部 分 rtがル ビです rpにはルビをサポートしない 環 境 のためのカッコなどを 記 述 します し ょ う じ たろう 東 海 林 太 郎 例 4.12 ルビ(ソース) <ruby> <rb> 東 海 林 </rb> <rp>(</rp> <rt>しょうじ</rt> <rp>)</rp> <rb> 太 郎 </rb> <rp>(</rp> <rt>たろう</rt> <rp>)</rp> </ruby> 図 4.19 ルビ( 表 示 結 果 ) 前 記 の 記 述 は さらに 簡 略 化 して 次 のように 書 くことができます ruby 中 に 直 接 テキス トを 記 述 した 場 合 自 動 的 にrbが 上 に 挿 入 されます またrpを 省 略 した 場 合 ルビをサ ポートしない 環 境 ではカッコは 表 示 されません 例 4.13 簡 単 なルビ(ソース) <ruby> 東 海 林 <rt>しょうじ</rt> 太 郎 <rt>たろう</rt> </ruby> ルビは 本 文 の 半 分 のサイズで 表 示 されます また ルビのある 行 ではルビの 配 置 のため に 行 間 が 拡 張 されます ルビのために 拡 張 される 行 幅 は ruby 要 素 のline-height [css] によって 決 まります 明 示 しなければ 横 書 きでは1.414( 白 銀 比 ) 縦 書 きでは1.618( 黄 金 比 )という 値 になり ます 行 幅 を 一 定 にするためには 本 文 のline-height [css] をこれより 大 きくとって あらかじめ 行 幅 を 確 保 しておいてください あるいは 次 のようにruby 要 素 に 対 する line-height [css] を 明 示 して 行 幅 に 合 わせてください 4.6 XML/HTMLの 拡 張 機 能 199

214 4.デザイナーガイド 例 4.14 ルビの 幅 を 行 幅 に 合 わせるCSS body { writing-mode: vertical-rl; line-height: 1.5; ruby { line-height: 1.5; XML/HTMLの 拡 張 機 能

215 4.デザイナーガイド 4.7 CSSによるドキュメントのレイアウト Copper PDFはHTMLとXMLをCSSによってスタイル 付 けすることができます Copper PDFは CSS Level 2 Revision 1 に 準 拠 しています Copper PDFがサポートする CSSプロパティの 一 覧 は 資 料 集 を 参 照 してください スタイルシートの 型 Copper PDFは 特 に 型 が 指 定 されていないスタイルシートをCSS(MIME 型 text/css)とし て 認 識 します Content-Style-Type ヘッダ (HTML 中 では <meta http-equiv="content-style- Type" content="... といった 記 述 ) やstyle 要 素 のtype 属 性 等 によってtext/css 以 外 がスタイ ルシートの 型 として 指 定 されている 場 合 は スタイルシートをCSSとして 認 識 しませ ん メディアタイプ style 要 素 のmedia 属 性 指 示 子 等 でスタイルシートが 適 用 される メディアタイプが 限 定 されている 場 合 通 常 Copper PDFは 印 刷 メディア 向 けのスタイ ルだけを 適 用 します すなわち Copper PDFのメディアタイプはall print paged visual bitmap staticのいずれかです な お Copper PDF の ユ ー ザ ー エ ー ジ ェ ン ト の メ デ ィ ア タ イ プ は output.media_types [io] 入 出 力 プロパティによって 変 更 することができます 適 用 するCSS 2.1のメディアタイプ 名 またはメディアグループ 名 を 列 挙 してください 例 え ば ブラウザの 画 面 表 示 用 のスタイルを 適 用 する 場 合 は"all visual bitmap static screen continuous"を 設 定 してください ドキュメント 中 にスタイルシートを 記 述 する ドキュメント 中 にスタイルおよびスタイルシートを 記 述 する 方 法 は 以 下 の3 通 りがあり ます 1. HTMLのstyle 属 性 2. HTMLのstyle 要 素 3. jp.cssj.stylesheet 処 理 命 令 HTMLのstyle 属 性 style 属 性 により 各 要 素 に 直 接 スタイルを 指 定 する 方 法 です style 属 性 には 適 用 したい CSSのプロパティを 記 述 してください 4.7 CSSによるドキュメントのレイアウト 201

216 4.デザイナーガイド 例 4.15 style 属 性 によるスタイルの 指 定 (ソース) <html> <body style="border: 1px Black dashed;"> <h1 style="font-style: italic;"> 題 名 </h1> <p style="text-decoration: underline;"> 本 文 <span style="font-size: x-large;"> 大 きなテキスト</span> 本 文 </p> </body> </html> 上 記 の 例 は 以 下 のように 表 示 されます 例 4.16 style 属 性 によるスタイルの 指 定 ( 表 示 結 果 ) 題 名 本 文 大 きなテキスト 本 文 style 要 素 はHTMLだけではなく XML 文 書 内 でも 利 用 可 能 です ただし style 要 素 が 名 前 空 間 "http://www.w3.org/1999/xhtml" に 属 するように 名 前 空 間 宣 言 を 行 ってください 例 4.17 style 属 性 によるスタイルの 指 定 (XML) <?xml version="1.0"> <body xmlns:html="http://www.w3.org/1999/xhtml" html:style="border: 1px Black dashed;"> <h1 html:style="font-style: italic;"> 題 名 </h1> <p html:style="text-decoration: underline;"> 本 文 <span html:style="font-size: x-large;"> 大 きなテキスト</span> 本 文 </p> </body> HTMLのstyle 要 素 一 般 的 なブラウザと 同 じくstyle 要 素 内 にスタイルシートを 記 述 することができます 例 4.18 style 要 素 によるスタイルシートの 記 述 <html> <head> <style type="text/css" media="print"> body { border: 1px Black dashed; h1 { font-style: italic; p { text-decoration: underline; CSSによるドキュメントのレイアウト

217 4.デザイナーガイド span { font-size: x-large; </style> </head> <body> <h1> 題 名 </h1> <p> 本 文 <span> 大 きなテキスト</span> 本 文 </p> </body> </html> style 要 素 はなるべくhead 要 素 内 に 記 述 してください Copper PDFは 他 の 場 所 のstyle 要 素 も 認 識 しますが ドキュメント 中 でstyle 要 素 が 現 れる 以 前 の 部 分 には 記 述 されたスタ イルが 適 用 されなくなります また XMLドキュメント 中 ではstyle 要 素 によるスタイル 指 定 は 行 わず 次 に 説 明 する jp.cssj.stylesheet 処 理 命 令 を 使 用 するか あるいは 一 般 的 なブラウザでもサポートされて いるxml-stylesheet 処 理 命 令 を 使 用 してください jp.cssj.stylesheet 処 理 命 令 jp.cssj.stylesheet 処 理 命 令 はHTMLのstyle 要 素 に 相 当 する 機 能 を 処 理 命 令 (<?で 始 まり?> で 終 わるHTMLやXML 中 の 特 別 な 記 述 ) によって 実 現 したものです HTML, XMLの 両 方 のドキュメントの 先 頭 で 使 用 することができます style 要 素 のtype, media 属 性 に 相 当 する 部 分 はHTMLの 属 性 と 同 様 の 形 式 で 記 述 し スタ イルシートは'[]'で 囲 みます 例 4.19 jp.cssj.stylesheet 処 理 命 令 によるスタイルシート 記 述 <?jp.cssj.stylesheet type="text/css" media="print" [ body { border: 1px Black dashed; h1 { font-style: italic; p { text-decoration: underline; 4.7 CSSによるドキュメントのレイアウト 203

218 4.デザイナーガイド span { font-size: x-large; ]?> <html> <body> <h1> 題 名 </h1> <p> 本 文 <span> 大 きなテキスト</span> 本 文 </p> </body> </html> 外 部 のCSSの 使 用 ドキュメントと 外 部 のスタイルシートを 結 びつける 方 法 は 以 下 の3 通 りがあります 1. HTMLのlink 要 素 2. 指 示 子 3. xml-stylesheet 処 理 命 令 HTMLのlink 要 素 一 般 的 なブラウザと 同 様 に link 要 素 によってスタイルシートをドキュメントに 関 連 付 けることができます 例 4.20 linkタグによるスタイルシートの 指 定 <link rel="stylesheet" type="text/css" media="print" href="スタイル シートのURL"> rel 属 性 にキーワードalternateを 加 えることで 1つのドキュメントに 対 して 複 数 の 代 替 スタイルシートを 用 意 することができます title 属 性 は 代 替 スタイルシートの 名 前 で す 例 4.21 alternateスタイル <link rel="alternate stylesheet" title="a" type="text/css" media="print" href="a.css"> <link rel="alternate stylesheet" title="b" type="text/css" media="print" href="b.css"> 代 替 スタイルシートは 通 常 は 適 用 されませんが input.stylesheet.titles [io] に 代 替 スタイルシートのtitleを 設 定 することで 適 用 するスタイルシートを 選 択 すること ができます 指 示 子 これは HTMLのstyle 要 素 組 み 合 わせる 方 法 です CSSによるドキュメントのレイアウト

219 4.デザイナーガイド 例 指 示 子 によるスタイルシートの 指 定 <style type="text/css" url(スタイルシートのurl); </style> HTMLのstyle 要 素 の 代 わりに jp.cssj.stylesheet 処 理 命 令 を 使 うこともできます 例 指 示 子 によるスタイルシートの 指 定 (jp.cssj.stylesheet 処 理 命 令 ) <?jp.cssj.stylesheet type="text/css" media="print" url(スタイルシートのurl); ]?> xml-stylesheet 処 理 命 令 xml-stylesheet 処 理 命 令 を 使 う 方 法 は 一 般 的 なブラウザでXMLとスタイルシートを 結 びつけるために 広 くサポートされている 方 法 です スタイルシートを 適 用 したいドキュメントの 冒 頭 で 以 下 のように 記 述 してください 例 4.24 xml-stylesheet 処 理 命 令 によるスタイルシートの 指 定 <?xml-stylesheet type="text/css" media="print" href="スタイルシートの URL"?> alternate 属 性 はlink 要 素 のrel 属 性 に 対 するalternateの 指 定 に 相 当 するものです xmlstylesheet 処 理 命 令 でalternate="yes"を 指 定 することは link 要 素 にrel="alternate stylesheet" を 設 定 するのと 同 じ 意 味 です 例 4.25 xml-stylesheet 処 理 命 令 による 代 替 スタイルシート <?xml-stylesheet alternate="yes" title="a" type="text/css" media="print" href="a.css"?> <?xml-stylesheet alternate="yes" title="b" type="text/css" media="print" href="b.css"?> xml-stylesheetのtype 属 性 にはCSSだけでなくXSLTスタイルシートを 指 定 することもで きます この 場 合 type 属 性 にtext/xslを 設 定 し href 属 性 にはXSLTファイルの 指 定 して ください デフォルトのスタイルシート Copper PDFでは ドキュメント 内 の 記 述 に 関 係 なく 特 定 のスタイルシートを 適 用 する 機 能 が 用 意 されています input.default-stylesheet [io] 入 出 力 プロパティで 指 定 されたスタイルシートが 最 初 に 適 用 されます 4.7 CSSによるドキュメントのレイアウト 205

220 4.デザイナーガイド 長 さの 単 位 CSSでは 絶 対 単 位 としてmm, cm, in, pt, pcが 使 われます 各 絶 対 単 位 は Copper PDFは CSSの 仕 様 どおり 次 の 一 定 の 長 さでレイアウトします PDFではptが 長 さの 単 位 の 基 準 となり Copper PDFでも 内 部 的 な 単 位 としてptを 使 用 しています 以 下 は 各 単 位 の 関 係 です mm cm in pt pc 1mm = 1/25.4in 2.835pt 1cm = 10mm 28.35pt 1in = 72pt = 25.4mm 1pt = 1/72in 0.353mm 1pc = 1/6in = 12pt 4.233mm 相 対 単 位 としてem, ex, pxがあり これは 状 況 によって 変 化 します em, exはそれぞれフォントの 高 さとxの 高 さを 基 準 とした 単 位 です 正 確 には 文 書 中 の 基 準 となる 位 置 で 利 用 可 能 なフォントの 高 さの 最 大 値 と xの 高 さの 最 大 値 を 基 準 とし ます xという 文 字 が 存 在 しないフォントでは exはxの 高 さではない 適 当 な 高 さ と なります pxは output.resolution [io] で 設 定 される 解 像 度 が 基 準 となります デフォルトで は96dpiで この 状 況 では1pt 1.33pxとなり 1pxは1ptより 若 干 小 さくなります この 値 は 一 般 的 なブラウザに 合 わせたものです ラスタ 画 像 として 結 果 を 出 力 する 場 合 デフォルトでは 出 力 結 果 の1ピクセルは 常 に CSSの1pxに 一 致 します 詳 細 は 画 像 の 出 力 (187ページ)を 参 照 してください CSSによるドキュメントのレイアウト

221 4.デザイナーガイド 4.8 CSSの 拡 張 機 能 名 前 空 間 Copper PDFはCSSの 名 前 空 間 のための 拡 張 機 能 (CSS Namespace Enhancements) をサ ポートしており 複 数 の 名 前 空 間 が 混 在 するXMLをスタイル 付 けすることができます CSS ス タ イ ル シ ー ト 中 で 名 前 空 間 の 接 頭 辞 (prefix) と URI を 指 定 す る た め に 指 示 子 を 使 って 以 下 のように 宣 言 してください 例 4.26 名 前 空 間 の 宣 言 /* デフォルトの 名 前 空 間 のURIをhttp://www.w3.org/1999/xhtmlとする "http://www.w3.org/1999/xhtml"; /* 接 頭 辞 rdfのuriをhttp://www.w3.org/1999/02/22-rdf-syntax-ns#とする rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"; なお 互 換 性 のためにURIの 部 分 はurl(http://www.w3.org/1999/xhtml) という 書 き 方 も 許 さ れています スタイルシートの 選 択 子 (selector)で 接 頭 辞 を 使 う 場 合 は ' 'で 区 切 ります (':'でないこと に 注 意 してください ) 例 4.27 接 頭 辞 を 含 む 選 択 子 /* <pdf:description> 要 素 のスタイルを 指 定 する */ rdf Description { display: block; /* ref:about 属 性 がhttp://foo.com/barであるitem 要 素 のスタイルを 指 定 する */ item[rdf about=http://foo.com/bar] { color: Red; 選 択 子 の 記 述 方 法 と 意 味 は 次 のとおりです prefix ELEMENT prefixが 指 す 名 前 空 間 に 属 するELEMENT ELEMENT どの 名 前 空 間 にも 属 さないELEMENT * ELEMENT 任 意 の 名 前 空 間 にも 属 すか どの 名 前 空 間 にも 属 さないELEMENT ELEMENT デフォルトの 名 前 空 間 に 属 するELEMENT 4.8 CSSの 拡 張 機 能 207

222 4.デザイナーガイド ページカウンタ Copper PDFは ページの 番 号 付 けのためにページの 生 成 ごとに 処 理 されるページカウ ン タ を 用 意 し て い ま す ペ ー ジ カ ウ ン タ は 以 下 の よ う ル ー ル 内 の counter-increment [css] プロパティにより 宣 言 します 例 4.28 { counter-increment: page; ページカウンタの 処 理 は ページの 内 容 が 処 理 される 直 前 に 行 われます また ページ カウンタは 通 常 のカウンタと 同 様 に content [css] プロパティ 内 でcounter 関 数 により 参 照 可 能 です 従 って 上 記 の 宣 言 を 行 った 場 合 最 初 のページで{content: counter (page); という 宣 言 が 処 理 されるとき 1が 出 力 されます 途 中 でページカウンタをリセットする 場 合 ( 例 えば 目 次 が 終 わった 後 本 文 で 改 めて 番 号 を 振 りなおすなど) は 通 常 のカウンタと 同 様 にcounter-reset [css] を 使 うことが できます 例 えば ある 要 素 が 表 示 されるページでpageという 名 前 のカウンタを1に 設 定 しなおす 場 合 は その 要 素 で{counter-reset: page 1; と 宣 言 します 全 角 数 字 と 漢 数 字 による 箇 条 書 き 番 号 Copper PDFは 箇 条 書 きの 先 頭 に 付 けるマーカー 文 字 の 形 式 を 拡 張 しています list-style-type [css] で 次 のキーワードを 利 用 可 能 です -cssj-full-width-decimal[3.0.0] マーカーに 全 角 数 字 を 使 います -cssj-cjk-decimal[3.0.0] マーカーに 位 取 り 漢 数 字 を 使 います -cssj-decimal-full-width[2.1.2] -cssj-full-width-decimalと 同 じです CSSの 拡 張 機 能

223 4.デザイナーガイド 例 4.29 マーカーの 形 式 (ソース) <html> <head> <style type="text/css"> #a { list-style-type: -cssj-full-width-decimal; #b { list-style-type: -cssj-cjk-decimal; </style> </head> <body> <ol id="a"> <li> 田 作 り</li> <li> 黒 豆 </li> <li> 栗 きんとん</li> </ol> <ol id="b"> <li>かまぼこ</li> <li> 伊 達 巻 </li> <li> 数 の 子 </li> </ol> </body> </html> 例 4.30 マーカーの 形 式 ( 表 示 結 果 ) 1. 田 作 り 2. 黒 豆 3. 栗 きんとん 一 かまぼこ 二 伊 達 巻 三 数 の 子 content [css] のcounter 関 数 でも 同 じキーワードを 使 うことができます 4.8 CSSの 拡 張 機 能 209

224 4.デザイナーガイド 1 田 作 り 2 黒 豆 3 栗 きんとん かまぼこ 一 伊 達 巻 二 数 の 子 三 例 4.31 counterの 形 式 (ソース) <html> <head> <style type="text/css"> #a:before { counter-increment: a; content: counter(a, -cssj-full-width-decimal); #b:after { counter-increment: b; content: counter(b, -cssj-cjk-decimal); </style> </head> <body> <div id="a"> 田 作 り</div> <div id="a"> 黒 豆 </div> <div id="a"> 栗 きんとん</div> <div id="b">かまぼこ</div> <div id="b"> 伊 達 巻 </div> <div id="b"> 数 の 子 </div> </body> </html> 例 4.32 counterの 形 式 ( 表 示 結 果 ) 禁 則 処 理 行 頭 禁 則 文 字 ( 直 前 での 折 り 返 しをしない 文 字 )は 全 角 スペースと 次 の 文 字 です ~ ヽヾゝゞ々ーぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮヵヶ, ) ]» さらに UnicodeのEND_PUNCTUATION ( 閉 じ 括 弧 類 ) OTHER_PUNCTUATION (そ の 他 の 括 弧 類 ) MODIFIER_LETTER( 修 飾 文 字 ) MODIFIER_SYMBOL( 修 飾 記 号 )が 行 頭 禁 則 文 字 とされます 行 末 禁 則 文 字 ( 直 後 での 折 り 返 しをしない 文 字 )は 次 の 文 字 です ( [ { «さらに UnicodeのSTART_PUNCTUATION ( 開 き 括 弧 類 )が 行 末 禁 則 文 字 とされます CSSの 拡 張 機 能

225 4.デザイナーガイド 半 角 英 数 字 の 間 でも 折 り 返 しが 禁 止 されます ただし 半 角 スペースと 次 の 文 字 の 間 では 折 り 返 しされます -!? また 禁 則 処 理 により 折 り 返 しをできない 区 間 は48 文 字 を 超 えることはできません (Copper PDF 3.0.0からは この 仕 様 はなくなりました 次 のword-wrap [css] を 使 ってく ださい) word-wrap[3.0.0] word-wrap [css] はCSS3 Text の 先 行 実 装 です 仕 様 は 次 のとおりです 値 初 期 値 適 用 対 象 値 の 継 承 normal break-word normal すべて する break-wordを 設 定 すると 内 容 が 行 幅 の 限 界 をはみ 出 さないように 必 要 に 応 じて 禁 則 処 理 されている 部 分 での 折 り 返 しをします 例 4.33 word-wrapの 使 用 例 (ソース) <html> <head> <style type="text/css"> div { width: 6ex; border: 1pt solid Red; #a { word-wrap: normal; 4.8 CSSの 拡 張 機 能 211

226 4.デザイナーガイド #b { word-wrap: break-word; </style> </head> <body> <div id="a">distance lends enchantment to the view.</div> <div id="b">distance lends enchantment to the view.</div> </body> </html> Distance lends enchantment to the view. Distan ce lends enchan tment to the view. 例 4.34 word-wrapの 使 用 例 ( 表 示 結 果 ) 禁 則 文 字 を 新 た に 追 加 除 外 す る た め に -cssj-no-break-characters [css], -cssj-break-characters [css] という 独 自 CSSプロパティを 用 意 しています -cssj-no-break-characters[3.0.6] 値 初 期 値 適 用 対 象 値 の 継 承 none <string>{1,2 none すべて する 禁 則 文 字 を 追 加 します 1つめの<string>は 行 頭 禁 則 文 字 2つめの<string> 行 末 禁 則 文 字 を 指 定 します <string>が1つだけの 場 合 は 行 頭 禁 則 文 字 だけが 追 加 されます 例 えば 次 の 文 章 があるとします CSSの 拡 張 機 能

227 4.デザイナーガイド 今 日 の 相 場 は1 $がロンドンで 98 円 55 銭 - 先 月 と 比 べて2 ハ ーセント 上 昇 し ま し た 例 cssj-no-break-characters 適 用 前 (ソース) <div style="border:1px solid; width: 7em;"> 今 日 の 相 場 は1$がロンドンで98 円 55 銭 - 先 月 と 比 べて2ハ ーセント 上 昇 しました </div> 例 cssj-no-break-characters 適 用 前 ( 表 示 結 果 ) 'ハ ーセント'と'$'を 行 頭 に 表 示 させたくなく '-'を 行 末 に 表 示 させたくないという 場 合 は 次 の ように 指 定 してください 今 日 の 相 場 は 1$がロンドン で98 円 55 銭 - 先 月 と 比 べて 2ハ ーセント 上 昇 しまし た 例 cssj-no-break-characters 適 用 後 (ソース) <div style="border:1px solid; width: 7em; -cssj-no-breakcharacters: 'ハ ーセント$' '-';"> 今 日 の 相 場 は1$がロンドンで98 円 55 銭 - 先 月 と 比 べて2ハ ーセント 上 昇 しました </div> 例 cssj-no-break-characters 適 用 後 ( 表 示 結 果 ) -cssj-break-characters[3.0.6] 値 初 期 値 適 用 対 象 値 の 継 承 none <string>{1,2 none すべて する 禁 則 文 字 を 除 外 します 1つめの<string>は 行 頭 禁 則 文 字 2つめの<string> 行 末 禁 則 文 字 を 指 定 します <string>が1つだけの 場 合 は 行 頭 禁 則 文 字 だけが 除 外 されます 例 えば Copper PDFは 次 のように 拗 音 が 行 頭 に 来 ないように 調 整 します 4.8 CSSの 拡 張 機 能 213

228 4.デザイナーガイド 例 cssj-break-characters 適 用 前 (ソース) <div style="border:1px solid; width: 10em;"> トロメライ ロマチックシューマン 作 曲 猫 は 口 を 拭 いて 済 まして 云 いました </div> 例 cssj-break-characters 適 用 前 ( 表 示 結 果 ) ト ロ メ ラ イ ロ マ チックシューマン 作 曲 猫 は 口 を 拭 いて 済 まして 云 いました しかし 実 際 に 書 籍 は 拗 音 を 行 頭 禁 則 しないことが 多 いため それに 従 うには 次 のよう にします 例 cssj-break-characters 適 用 後 (ソース) <div style="border:1px solid; width: 10em; -cssj-break-characters: 'ァ ィ ゥ ェ ォ ッ ャ ュ ョ ヮ ヵ ヶ ぁ ぃ ぅ ぇ ぉ っ ゃ ゅ ょ ゎ ゕ ゖ ㇰ ㇱ ㇳ ㇲ ㇳ ㇴ ㇵ ㇶ ㇷ ㇸ ㇹ ㇺ ㇻ ㇼ ㇽ ㇾ ㇿ ';"> トロメライ ロマチックシューマン 作 曲 猫 は 口 を 拭 いて 済 まして 云 いました </div> 例 cssj-break-characters 適 用 後 ( 表 示 結 果 ) トロメライ ロマチ ッ ク シ ュ ー マ ン 作 曲 猫 は 口 を 拭 いて 済 まして 云 いました 圏 点 [3.0.4] 主 に 日 本 語 の 文 章 の 一 部 を 強 調 するために 使 われる 圏 点 を 打 つことができます 圏 点 の た め に は CSS3 Text の 先 行 実 装 で あ る -cssj-text-emphasis-style [css], -cssj-text-emphasis-color [css], -cssj-text-emphasis [css] というCSSプロパ ティが 使 われます EPUB と の 互 換 性 の た め こ れ ら の プ ロ パ テ ィ は そ れ ぞ れ -epub-text-emphasis-style [css], -epub-text-emphasis-color [css], -epub-text-emphasis [css] という 名 前 も 使 うことができます 圏 点 の 記 号 は 本 文 のフォントを 使 って 表 示 されます より 美 しい 圏 点 を 出 力 するため に は Kenten Generic OpenType Font(http://sourceforge.net/adobe/kentengeneric/home/Home/) を 埋 め 込 みフォントとして 使 用 することを 推 奨 します 本 文 の フォントファミリを {font-family: 'Kenten Generic' 本 文 フォント...; の ように 指 定 してください CSSの 拡 張 機 能

229 4.デザイナーガイド -cssj-text-emphasis-style 値 初 期 値 適 用 対 象 値 の 継 承 none [ [ filled open ] [ dot circle double-circle triangle sesame ] ] <string> none すべて する noneが 設 定 された 場 合 圏 点 を 打 ちません その 他 の 値 が 設 定 された 場 合 圏 点 の 種 類 (ユニコード 文 字 )はそれぞれ 次 のとおり になります filled dot open dot filled circle open circle U+2022 U+25E6 U+25CF U+25CB filled double-circle U+25C9 open double-circle U+25CE filled triangle U+25B2 open triangle U+25B3 filled sesame open sesame U+FE45 U+FE CSSの 拡 張 機 能 215

230 4.デザイナーガイド filledかopenだけが 指 定 された 場 合 は 横 書 きではそれぞれfilled circle, open circle が 指 定 されるのと 同 じになり 縦 書 きではそれぞれfilled sesame, open sesame が 指 定 される のと 同 じになります 文 字 列 が 指 定 された 場 合 文 字 列 の 最 初 の 文 字 が 圏 点 になります 例 cssj-text-emphasis-styleの 使 用 例 (ソース) <html> <head> <style type="text/css"> #a { -cssj-text-emphasis-style: filled; #b { -cssj-text-emphasis-style: open triangle; #c { -cssj-text-emphasis-style: ' '; </style> </head> <body> <p><span id="a">ここ</span>に 丸 い 圏 点 を 打 ちます</p> <p><span id="b">ここ</span>に 三 角 の 圏 点 を 打 ちます</p> <p><span id="c">ここ</span>に 米 印 の 圏 点 を 打 ちます</p> </body> </html> 例 cssj-text-emphasis-styleの 使 用 例 ( 表 示 結 果 ) こ こに 丸 い 圏 点 を 打 ちます こ こに 三 角 の 圏 点 を 打 ちます こ こに 米 印 の 圏 点 を 打 ちます -cssj-text-emphasis-color 値 初 期 値 適 用 対 象 値 の 継 承 <color> 文 字 の 色 と 同 じ すべて する CSSの 拡 張 機 能

231 4.デザイナーガイド 圏 点 の 色 を 指 定 します 色 の 指 定 方 法 はcolor [css] プロパティなどの 場 合 と 同 じです 例 cssj-text-emphasis-colorの 使 用 例 (ソース) <html> <head> <style type="text/css"> span { -cssj-text-emphasis-style: filled; #a { -cssj-text-emphasis-color: Red; #b { color: Red; </style> </head> <body> <p><span id="a">この</span> 圏 点 は 赤 いです</p> <p><span id="b">この</span> 圏 点 も 文 字 も 赤 です</p> </body> </html> 例 cssj-text-emphasis-colorの 使 用 例 ( 表 示 結 果 ) こ の 圏 点 は 赤 いです こ の 圏 点 も 文 字 も 赤 です -cssj-text-emphasis -cssj-text-emphasis-style [css], -cssj-text-emphasis-color [css] をまとめ て 指 定 するプロパティです 圏 点 のスタイル 色 の 順 に 指 定 します 4.8 CSSの 拡 張 機 能 217

232 4.デザイナーガイド 例 cssj-text-emphasisの 使 用 例 (ソース) <html> <head> <style type="text/css"> #a { -cssj-text-emphasis: filled triangle Red; #b { -cssj-text-emphasis: ' ' Pink; </style> </head> <body> <p><span id="a">この</span> 圏 点 は 赤 い 三 角 です</p> <p><span id="b">この</span> 圏 点 はピンクの 米 印 です</p> </body> </html> 例 cssj-text-emphasisの 使 用 例 ( 表 示 結 果 ) こ の 圏 点 は 赤 い 三 角 です こ の 圏 点 はピンクの 米 印 です 文 字 の 影 [3.0.8] Copper PDFは 一 般 的 なブラウザがサポートしている 文 字 の 影 落 とし をサポートし ています ただし 制 約 として 影 の ぼかし には 対 応 していません 常 にぼかしの 半 径 にゼロを 設 定 したのと 同 じになります text-shadow 値 初 期 値 適 用 対 象 値 の 継 承 none [ <length>{2 && <color>? ]# none すべて する text-shadow [css] の 値 は 影 のx 方 向 の 位 置 y 方 向 の 位 置 影 の 色 の 順 に 指 定 します ま た カンマで 区 切 ることにより 複 数 の 影 を 落 とすことができます 1つ 目 の 影 は 文 字 の 後 ろに 作 られ 順 に 背 面 へと 作 られます CSSの 拡 張 機 能

233 4.デザイナーガイド 例 4.49 text-shadowの 使 用 例 (ソース) <html> <head> <style type="text/css"> * { font-size: 32pt; #a { text-shadow: 4pt 8pt Gray; #b { text-shadow: 8pt 8pt Gray, 16pt 16pt LightGray; </style> </head> <body> <p id="a"> 灰 色 の 影 のある 文 字 </p> <p id="b"> 灰 色 の 影 の 後 ろにさらに 薄 い 灰 色 の 影 </p> </body> </html> 例 4.50 text-shadowの 使 用 例 ( 表 示 結 果 ) 灰 色 の 影 のある 文 字 灰 色 の 影 の 後 ろにさらに ろにさらに 薄 い 灰 色 の 影 袋 文 字 [3.0.8] レンダリングエンジンとしてWebKitを 利 用 しているブラウザ(Google Chrome, Safari 等 )との 互 換 性 のために テキストの 輪 郭 と 塗 りを 別 々に 指 定 するプロパティを 用 意 し ています これは 袋 文 字 の 効 果 を 実 現 するために 使 うことができます -cssj-text-fill-color [css], -cssj-text-stroke-width [css], -cssj-text-stroke-color [css], -cssj-text-stroke [css] という4つの 独 自 プロ 4.8 CSSの 拡 張 機 能 219

234 4.デザイナーガイド パ テ ィ を 用 意 し て い ま す こ れ ら は WebKit と の 互 換 性 の た め に そ れ ぞ れ -webkit-text-fill-color [css], -webkit-text-stroke-width [css], -webkit-text-stroke-color [css], -webkit-text-stroke [css] というプロパティ 名 でも 利 用 することができます -cssj-text-fill-color 値 初 期 値 適 用 対 象 値 の 継 承 <color> currentcolor currentcolor すべて する テキストの 塗 りつぶし 色 を 設 定 します なにも 指 定 しない 場 合 は color [css] による 指 定 と 同 じになります -cssj-text-stroke-width 値 初 期 値 適 用 対 象 値 の 継 承 <width> medium thick thin 0 すべて する テキストの 枠 の 幅 をしていします 0 以 外 の 値 を 設 定 すると 枠 が 描 画 されるようにな ります -cssj-text-stroke-color 値 初 期 値 <color> currentcolor currentcolor CSSの 拡 張 機 能

235 4.デザイナーガイド 適 用 対 象 値 の 継 承 すべて する テキストの 枠 の 色 を 設 定 します なにも 指 定 しない 場 合 は color [css] による 指 定 と 同 じになります -cssj-text-stroke 値 初 期 値 適 用 対 象 値 の 継 承 <width> <color> none すべて する テキストの 枠 の 幅 と 色 を 一 度 に 設 定 します 例 4.51 袋 文 字 (ソース) <html> <head> <style type="text/css"> * { font-size: 32pt; #a { -cssj-text-stroke-width: 2pt; #b { -cssj-text-stroke: 1pt Black; -cssj-text-fill: White; </style> </head> <body> <p id="a"> 輪 郭 を 太 らせた 文 字 </p> <p>テキストの<span id="b">この 部 分 </span>が 白 抜 き</p> </body> </html> 4.8 CSSの 拡 張 機 能 221

236 4.デザイナーガイド 例 4.52 袋 文 字 ( 表 示 結 果 ) 輪 郭 を 太 らせた 文 字 文 章 のこの 部 分 が 白 抜 き 透 明 化 [3.0.6] opacity 値 初 期 値 適 用 対 象 値 の 継 承 <alphavalue> 1 すべて しない 要 素 の 不 透 明 度 を 設 定 します 値 は0( 透 明 )から1( 不 透 明 )までの 小 数 値 です 例 えば0.5 に 設 定 すると その 要 素 は50%の 透 明 度 を 持 つことになります 例 4.53 opacityの 使 用 例 (ソース) <html> <head> <style type="text/css"> * { font-size: 32pt; #a { position: relative; top: -32pt; font-size: 32pt; border: 5pt solid Red; CSSの 拡 張 機 能

237 4.デザイナーガイド background-color: Yellow; opacity: 0.7; </style> </head> <body> <div> 輪 郭 を 太 らせた 文 字 </div> <div id="a"> 透 明 化 したボックス</div> </body> </html> 例 4.54 opacityの 使 用 例 ( 表 示 結 果 ) 背 景 にある 文 字 半 透 明 化 したボックス 透 明 色 [3.0.8] 前 記 のopacity [css] は 要 素 全 体 を 半 透 明 にするものでしたが これとは 別 に rgba 関 数 により 各 指 定 色 に 透 明 度 を 加 えることができます これにより 例 えば 文 字 境 界 線 に 別 々 の 透 明 度 を 指 定 す る こ と が で き ま す rgba 関 数 は 色 指 定 を す る color [css], background-color [css], border-color [css] 等 のプロパティで 使 用 することができ ます rgba 関 数 内 の 数 値 は それぞれ 赤 緑 青 不 透 明 度 の 順 です 不 透 明 0から1ま 度 は での 小 数 で 指 定 します 例 4.55 rgbaの 使 用 例 (ソース) <html> <head> <style type="text/css"> * { font-size: 32pt; #a { position: relative; top: -32pt; font-size: 32pt; 4.8 CSSの 拡 張 機 能 223

238 4.デザイナーガイド border: 5pt solid Red; background-color: rgba(255,255,0,0.5); </style> </head> <body> <div> 輪 郭 を 太 らせた 文 字 </div> <div id="a"> 透 明 化 したボックス</div> </body> </html> 例 4.56 rgbaの 使 用 例 ( 表 示 結 果 ) 背 景 にある 文 字 背 景 だけが 半 透 明 角 丸 境 界 [3.0.6] ボックスの 境 界 線 の 四 隅 を 丸 くすることができます Copper PDF 3.0.8からは 背 景 の 四 隅 も 丸 くなります また 既 知 の 問 題 として 4つの 境 界 線 の 色 太 さ スタイル 角 の 半 径 が 異 なる 場 合 背 景 が 境 界 をはみ 出 すことがあり ます 角 の 半 径 を 指 定 するために border-*-*-radius [css] という 形 式 の4つのプロパティ を 使 います これらのプロパティは1つまたは2つの 長 さ % 値 を 指 定 し 1つの 場 合 は 角 の 半 径 2つの 場 合 は 角 を 楕 円 形 の 弧 としそれぞれ 左 右 方 向 と 上 下 方 向 の 半 径 とな ります border-top-left-radius 値 初 期 値 適 用 対 象 値 の 継 承 [ <length> <percentage> ]{1,2 0 すべて しない CSSの 拡 張 機 能

239 4.デザイナーガイド border-top-right-radius 値 初 期 値 適 用 対 象 値 の 継 承 [ <length> <percentage> ]{1,2 0 すべて しない border-bottom-left-radius 値 初 期 値 適 用 対 象 値 の 継 承 [ <length> <percentage> ]{1,2 0 すべて しない border-bottom-right-radius 値 初 期 値 適 用 対 象 値 の 継 承 [ <length> <percentage> ]{1,2 0 すべて しない border-radius [css] は 前 記 のプロパティをまとめて 指 定 するためのものです 値 はそ れ ぞ れ border-top-left-radius [css], border-top-right-radius [css], border-bottom-right-radius [css], border-bottom-left-radius [css] の 順 に 指 定 します 4 番 目 の 値 が 省 略 された 場 合 border-bottom-left-radius [css] は 4.8 CSSの 拡 張 機 能 225

240 4.デザイナーガイド border-top-right-radius [css] と 同 じになります 3 番 目 の 値 が 省 略 された 場 合 border-bottom-right-radius [css] は border-top-left-radius [css] と 同 じにな ります 2 番 めの 値 が 省 略 された 場 合 全 ての 隅 が 同 じ 指 定 になります 左 右 方 向 と 上 下 方 向 の 半 径 は'/'(スラッシュ) 記 号 で 区 切 り それぞれをまとめて 指 定 し ます border-radius 値 適 用 対 象 値 の 継 承 [ <length> <percentage> ]{1,4 [ / [ <length> <percentage> ]{1,4 ]? すべて しない 四 隅 が 丸 いボックス 例 4.57 角 丸 境 界 (ソース) <html> <head> <style type="text/css"> div { border: 1pt solid Red; background-color: Yellow; height: 50pt; #a { border-radius: 5pt; #b { border-radius: 10pt 20pt / 20pt 10pt; border-top-left-radius: 30pt; </style> </head> <body> <div id="a"> 四 隅 が 丸 いボックス</div> <div id="b"> 四 隅 がいびつなボックス</div> </body> </html> 例 4.58 角 丸 境 界 ( 表 示 結 果 ) 四 隅 がいびつなボックス CSSの 拡 張 機 能

241 4.デザイナーガイド 回 転 拡 大 変 形 [3.0.8] ボックスに 対 して 二 次 元 変 換 により 回 転 拡 大 変 形 などを 行 うことができます なお 三 次 元 変 換 には 対 応 していません -cssj-transfrom [css], -cssj-transform-origin [css] というプロパティで 変 換 を 行 い ま す WebKit, Firefox と の 互 換 性 の た め に -webkit-transfrom [css], -webkit-transform-origin [css], -moz-transfrom [css], -moz-transform-origin [css] という 名 前 でも 使 用 することができます -cssj-transform 値 初 期 値 適 用 対 象 値 の 継 承 none <transform-function> [ <transform-function> ]* none ブロックレベル 要 素 しない ボックスに 対 する 変 換 行 列 を 指 定 します 値 には noneまたは 複 数 の 変 換 関 数 を 指 定 す ることができます 利 用 できる 変 換 関 数 は 次 のとおりです matrix(a,b,c,d,e,f) 変 換 行 列 を 直 接 指 定 します 変 換 行 列 は 次 のとおりに 指 定 されます 4.8 CSSの 拡 張 機 能 227

242 4.デザイナーガイド aは 左 右 方 向 の 拡 大 率 bは 上 下 方 向 の 傾 斜 率 cは 左 右 方 向 の 傾 斜 率 dは 上 下 方 向 の 拡 大 率 eは 左 右 方 向 の 移 動 距 離 fは 上 下 方 向 の 移 動 距 離 に 対 応 します e, fにはpt, em 等 の 長 さの 単 位 を 使 用 することができます 単 位 がない 場 合 はpt 単 位 です なお % 値 による 指 定 には 対 応 していません translate(x, y) 左 右 方 向 と 上 下 方 向 の 移 動 距 離 を 指 定 します yを 省 略 した 場 合 は 左 右 方 向 のみが 指 定 されます 長 さの 単 位 を 使 用 することができます 単 位 がない 場 合 はpt 単 位 です translatex(x) 左 右 方 向 の 移 動 距 離 を 指 定 します 長 さの 単 位 を 使 用 することができます 単 位 がな い 場 合 はpt 単 位 です translatey(y) 上 下 方 向 の 移 動 距 離 を 指 定 します 長 さの 単 位 を 使 用 することができます 単 位 がな い 場 合 はpt 単 位 です scale(x, y) scalex(x) scaley(y) 左 右 方 向 と 上 下 方 向 の 拡 大 率 を 指 定 します 左 右 方 向 の 拡 大 率 を 指 定 します 上 下 方 向 の 拡 大 率 を 指 定 します rotate(theta) 回 転 させます thetaは 角 度 で degを 付 けると 度 単 位 単 位 を 省 略 するとラジアン 単 位 と なります skew(xtheta, ytheta) 左 右 方 向 と 上 下 方 向 の 傾 斜 角 度 を 指 定 します それぞれの 値 は 角 度 で degを 付 けると 度 単 位 単 位 を 省 略 するとラジアン 単 位 となります skewx(xtheta) 左 右 方 向 の 傾 斜 角 度 を 指 定 します xthetaは 角 度 で degを 付 けると 度 単 位 単 位 を 省 略 するとラジアン 単 位 となります skewy(ytheta) 上 下 方 向 の 傾 斜 角 度 を 指 定 します ythetaは 角 度 で degを 付 けると 度 単 位 単 位 を 省 略 するとラジアン 単 位 となります -cssj-transform-origin 値 <position> [, <position> ]* CSSの 拡 張 機 能

243 4.デザイナーガイド 初 期 値 適 用 対 象 値 の 継 承 50% 50% ブロックレベル 要 素 しない 変 換 の 中 央 点 を 指 定 します デフォルトではボックスの 中 心 になっており 例 えばrotate 関 数 を 使 用 するとボックスの 中 心 を 回 転 の 中 心 とします 例 4.59 transform, transform-originの 使 用 例 (ソース) <html> <head> <style type="text/css"> body { margin: 40pt; div { font-size: 32pt; position: absolute; -cssj-transform-origin: 5pt 5pt; #a { -cssj-transform: rotate(0deg); #b { -cssj-transform: rotate(90deg); #c { -cssj-transform: rotate(180deg); #d { -cssj-transform: rotate(270deg); </style> </head> <body> <div id="a"> </div> <div id="b"> </div> <div id="c"> </div> <div id="d"> </div> </body> </html> 例 4.60 transform, transform-originの 使 用 例 ( 表 示 結 果 ) 4.8 CSSの 拡 張 機 能 229

244 4.デザイナーガイド 4.9 ページ 処 理 機 能 ページのレイアウト 生 成 されるページは 以 下 の 部 分 から 構 成 されています 用 紙 印 刷 面 マージン トンボ 裁 ち 口 ドブ ドキュメントが 印 刷 される 用 紙 です ドキュメントの 内 容 が 印 刷 される 部 分 です 通 常 は 内 容 がみだすことのない ページの 余 白 部 分 です 製 本 する 際 断 裁 の 目 印 となる 印 です 断 裁 されて 切 り 落 とされる 部 分 です 断 裁 される 可 能 性 のある 範 囲 です ページ 処 理 機 能

245 4.デザイナーガイド 図 4.20 ページのレイアウト htrim( 上 下 断 ち 口 ) cross (センタートンボ) ドブ paper-height( 用 紙 高 さ) page-height(ページ 高 さ) crop (コーナートンボ) vtrim ( 左 右 断 ち 口 ) page-width(ページ 幅 ) paper-width( 用 紙 幅 ) 用 紙 のサイズ 印 刷 面 のサイズ ページのレイアウトは 入 出 力 プロパティにより 設 定 されます 対 応 する 入 出 力 プロパ ティは 次 の 通 りです output.paper-width [io], output.paper-height [io] output.page-width [io], output.page-height [io] マージン トンボ 裁 ち 口 output.page-margins [io] output.marks [io] output.htrim [io], output.vtrim [io] 4.9 ページ 処 理 機 能 231

246 4.デザイナーガイド 用 紙 のサイズの 指 定 がない 場 合 用 紙 の 幅 と 高 さは それぞれページの 幅 と 高 さに 断 ち 口 の 幅 を 足 し た も の に 自 動 的 に 設 定 さ れ ま す 用 紙 の サ イ ズ を 指 定 し た 場 合 output.fit-to-paper [io] がtrueの 場 合 は 用 紙 に 合 わせて 内 容 が 拡 大 され falseの 場 合 は 中 央 に 寄 せられます output.page-margins [io] の 設 定 はページマージンのデフォルト 値 として 使 用 され る も の で す ペ ー ジ の マ ー ジ ン は CSS の margin-top [css], margin-right [css], margin-bottom [css], margin-left [css] 内 で 上 書 きす ることができます ページの 大 きさの 制 約 と 切 り 落 とし Copper PDFのデフォルトの 設 定 では ページの 高 さは297mm ページの 幅 は210mm(A4 サイズ)です 上 下 左 右 のマージンはいずれも12.7mm(3pc)です 用 紙 の 縦 横 の 長 さはいずれも1ptから14400pt(5080mm)の 間 である 必 要 があります 用 紙 サイズがこの 範 囲 を 超 えた 場 合 は 超 えた 部 分 は 切 り 落 とされます このサイズ 制 限 はPDFの 仕 様 によるものです また output.auto-height [io] をtrueに 設 定 することで 用 紙 の 高 さは 固 定 されずに 内 容 に 合 わせて 拡 張 されるようになります この 場 合 改 ページが 発 生 することはあり ませんが 前 記 の 用 紙 サイズの 制 限 により 切 り 落 とされることがあります 用 紙 サ イ ズ を 固 定 し か つ 改 ペ ー ジ が 行 わ れ な い よ う に す る た め に は output.no-page-break [io] をtrueに 設 定 してください [2.0.3] この 場 合 固 定 された 用 紙 サイズをはみ 出 した 部 分 は 切 り 落 とされます 印 刷 内 容 の 切 り 落 としは トンボがある 場 合 デフォルトではドブの 外 側 の 境 界 線 上 で 行 われます トンボのさらに 外 側 まで 内 容 を 印 刷 する 場 合 は output.clip [io] をfalse に 設 定 してください [2.0.3] パス 以 上 の 変 換 処 理 Copper PDFには ページ 番 号 による 参 照 を 可 能 にするために 同 じドキュメントを 複 数 回 処 理 する(それぞれの 処 理 を パス と 呼 びます) 機 能 が 用 意 されています 複 数 パス が 必 要 になるのは ドキュメントの 最 後 以 外 の 場 所 に 目 次 を 入 れる 場 合 と -cssj-pageref 関 数 を 使 用 する 場 合 です 文 書 中 にページ 番 号 を 表 示 する 場 合 1 度 目 のパスでアンカーや 見 出 し 等 が 表 示 される ページの 番 号 を 求 めて 2 度 目 のパスで 実 際 に 参 照 のためのページ 番 号 を 挿 入 します また 目 次 と 本 文 を 通 しでページ 番 号 を 振 る 場 合 や 非 常 に 大 きなドキュメントで ページ 番 号 の 挿 入 のためにページ 数 が 増 加 する 場 合 は 3パス 以 上 必 要 になることがあ ります ページ 処 理 機 能

247 4.デザイナーガイド パスの 数 は 入 出 力 プロパティ processing.pass-count [io] により 設 定 可 能 です 2パス 以 上 の 変 換 処 理 は processing.middle-pass [io] [3.0.4] により 行 うこともでき ます この 場 合 文 字 通 りドキュメントを 複 数 回 Copper PDFに 送 り 出 す 必 要 がありま す 実 際 に 結 果 を 出 力 しない 最 初 と 中 間 のパスの 時 はprocessing.middle-pass [io] を"true"にしておき 最 後 にprocessing.middle-pass [io] を"false"にしてからドキュ メントを 処 理 してください ページの 参 照 Copper PDFには 目 次 をつくる 機 能 (cssj:make-toc 要 素 )と ある 内 容 が 印 刷 されるページ 番 号 を 表 示 する 機 能 (-cssj-page-ref 関 数 )があります これらの 機 能 を 利 用 するためには processing.page-references [io] をtrueに 設 定 し ページ 参 照 情 報 を 収 集 する 機 能 を 有 効 にしてください また 必 要 に 応 じて2パス 以 上 の 変 換 処 理 を 行 ってください CSSJ 1.xのcssj:toc 要 素 processing.make-toc-before [io] は 廃 止 され ました グレイスケール 印 刷 Copper PDFは 原 則 として 結 果 をカラーで 出 力 しますが グレイスケールで 印 刷 した 状 態 をプレビューするために グレイスケールに 変 換 する 機 能 を 持 っています グレイスケールの 出 力 結 果 を 得 るためには output.color [io] をgrayに 設 定 してくだ さい 片 面 印 刷 と 両 面 印 刷 デフォルトではCopper PDFによるページ 生 成 は 横 書 き 両 面 印 刷 として 行 われます 従 って 最 初 のページは:firstまたは:right 擬 似 要 素 として 扱 われ 以 降 は:left, :right 擬 似 要 素 のページが 交 互 に 現 れます output.print-mode [io] にsingle-sideを 設 定 することにより 片 面 印 刷 に 切 り 替 えるこ とができます 片 面 印 刷 では 最 初 のページは:first 擬 似 要 素 として 扱 われ 以 降 はどの 擬 似 要 素 にも 属 さないページが 生 成 されます 4.9 ページ 処 理 機 能 233

248 4.デザイナーガイド ページごとに 生 成 されるコンテンツ Copper PDFは ノンブル のようなページごとに 生 成 されるコンテンツをサポートす るために 独 自 の-cssj-page-content [css] プロパティを 用 意 しています -cssj-page-content [css] は 要 素 をページ 毎 に 生 成 するボックスとして 配 置 するもの です ボックスの 配 置 方 法 は{position: fixed;と 同 じですが ページ 毎 にボック スが 再 生 成 され content [css] プロパティが 処 理 される 点 が 異 なります -cssj-page-content [css] 最 初 の 値 は 生 成 されるコンテンツの 識 別 名 です 2つめの 以 降 の 値 は コンテンツを 最 初 のどちらのページに 再 生 成 するかの 指 定 です first( 最 初 ), left( 左 ページ), right( 右 ページ), single( 片 面 印 刷 のページ)のいずれかです 2つめの 値 を 省 略 すると 全 てのページで 再 生 成 されます 2つめ 以 降 に 複 数 の 値 を 指 定 すると いずれかの 条 件 にマッチする 場 合 にページを 再 生 成 します 例 えばleft singleでは 両 面 印 刷 の 左 か 片 面 印 刷 のページで 再 生 成 します -cssj-page-content [css] が 指 定 されたボックスは それが 空 のインラインボックス であると 仮 定 した 場 合 に 表 示 されるページから 表 示 されます [2.0.8] 識 別 名 は 再 生 成 の 停 止 や 置 き 換 え の た め の も の で す -cssj-page-content-clear [css] により ボックスの 再 生 成 を 止 めることができま す また -cssj-page-content [css] で 指 定 した 名 前 が 既 に 使 われている 場 合 古 い ボックスの 再 生 成 を 止 め 新 しいボックスに 置 き 換 えられます -cssj-page-content-clear [css] は プロパティを 設 定 したオブジェクトが 表 示 され たページから 適 用 されます [2.0.8] 次 の 例 は 再 生 成 ボックスとページカウンタ (208ページ)を 利 用 して ページごとに ノ ンブル を 振 ります 各 ページの 下 部 中 央 にページ 番 号 が 表 示 されます また 本 文 の 前 でページカウンタをリセットし 目 次 と 本 文 は 別 にページを 振 りなおしています 例 4.61 ページ 番 号 の 生 成 <style { margin: 2cm 2cm 5cm 2cm; counter-increment: page; #page-number { -cssj-page-content: footer; bottom: -1cm; text-align: center; width: 100%; #page-number:before { ページ 処 理 機 能

249 4.デザイナーガイド content: counter(page); #body { page-break-before: right; counter-reset: page 1; </style> <div id="page-number"></div> <div id="toc">... 目 次... </div> <div id="body">... 本 文... </div> Copper PDF 以 降 ルールによって CSSだけでページ 番 号 を 表 示 できるようになりました 例 えば 上 記 の 処 理 は 以 下 のように 記 述 することもで きます 例 4.62 ページ 番 号 の 生 成 使 う) <style { margin: 2cm 2cm 5cm 2cm; counter-increment: footer { bottom: -1cm; text-align: center; width: 100%; content: counter(page); #body { page-break-before: right; counter-reset: page 1; </style> <div id="toc">... 目 次... </div> <div id="body">... 本 文... </div> 再 生 成 ボックスどのページに 表 示 するかを 指 定 :left のように 擬 似 クラ スを 記 述 してから その 中 記 述 してください 擬 似 クラスは:first, :left, :right, :singleのいずれかです 例 えば 以 下 の 例 では 左 ページだけにページ 番 号 を 表 示 します 4.9 ページ 処 理 機 能 235

250 4.デザイナーガイド 例 4.63 ページ 番 号 の 生 成 ( 左 ページだけ) <style { margin: 2cm 2cm 5cm 2cm; counter-increment: :left footer { bottom: -1cm; text-align: center; width: 100%; content: counter(page); #body { page-break-before: right; counter-reset: page 1; </style> <div id="toc">... 目 次... </div> <div id="body">... 本 文... </div> 現 在 ペ ー ジ / 総 ペ ー ジ 数 の よ う に 表 示 す る に は 入 出 力 プ ロ パ テ ィ processing.pass-count [io] を2 以 上 の 値 にし 総 ページ 数 を 記 録 する 特 殊 なカウン タ 名 pages を 用 いてください [3.1.4] 例 4.64 総 ページ 数 (Copper PDF 以 降 ) <style { margin: 2cm 2cm 5cm 2cm; counter-increment: page; #page-number { -cssj-page-content: footer; bottom: -1cm; text-align: center; width: 100%; #page-number:before { content: counter(page) '/' counter(pages); #body { page-break-before: right; ページ 処 理 機 能

251 4.デザイナーガイド counter-reset: page 1; </style> <div id="page-number"></div> <div id="toc">... 目 次... </div> <div id="body">... 本 文... </div> なお バージョン3.1.3 以 前 で 現 在 ページ / 総 ページ 数 のように 表 示 するには 以 下 のように 文 書 の 末 尾 の 要 素 のページ 番 号 を-cssj-page-ref 関 数 で 参 照 してください この 場 合 は 入 出 力 プ ロ パ テ ィprocessing.pass-count [io] を 2 以 上 の 値 に し た 上 processing.page-references [io] をtrueに 設 定 する 必 要 があります 例 4.65 総 ページ 数 (Copper PDF 以 前 ) <style { margin: 2cm 2cm 5cm 2cm; counter-increment: page; #page-number { -cssj-page-content: footer; bottom: -1cm; text-align: center; width: 100%; #page-number:before { content: counter(page) '/' -cssj-page-ref(last,page); #body { page-break-before: right; counter-reset: page 1; </style> <div id="page-number"></div> <div id="toc">... 目 次... </div> <div id="body">... 本 文... </div> <div id="last"></div> 4.9 ページ 処 理 機 能 237

252 4.デザイナーガイド 左 右 のページでアラインメントを 変 えることにより ページの 外 側 にノンブルを 振 るこ とができます また -cssj-heading 関 数 を 利 用 することで 現 在 ページのセクションの 見 出 しを 一 緒 に 表 示 することができます Copper PDF 以 降 では-cssj-title 識 別 子 によ り 文 書 のタイトルを 表 示 することができます 例 4.66 タイトルと 見 出 しの 表 示 <style { margin: 2cm 2cm 5cm 2cm; counter-increment: page; #nombre-left, #nombre-right { bottom: -1cm; width: 100%; #nombre-left { -cssj-page-content: nombre-left left; text-align: left; #nombre-right { -cssj-page-content: nombre-right right; text-align: right; #nombre-left:before { content: -cssj-title counter(page) ' - ' -cssj-heading(1); #nombre-right:after { content: -cssj-heading(2) ' - ' counter(page); </style> <div id="nombre-left"></div> <div id="nombre-right"></div>... 本 文... CSSJ 1.x 系 の-cssj-regeneratable [css] も 互 換 性 のためサポートされていますが パ フォーマンスの 面 から-cssj-page-content [css] の 使 用 を 推 奨 します ページ 処 理 機 能

253 4.デザイナーガイド 4.10 改 ページ 制 御 用 語 の 定 義 絶 対 配 置 ボックス {position: absolute;が 指 定 された 要 素 です {position: fixed;が 指 定 された 要 素 やページごとに 生 成 されるコンテンツも 広 義 の 絶 対 配 置 ボックスです 浮 動 ボックス {float: left;または{float: right; が 指 定 された 要 素 です 通 常 のフローのブロック 何 も 指 定 されていない<p> 要 素 や<div> 要 素 や{display: block;が 指 定 された 要 素 で 絶 対 配 置 ボックスでも 浮 動 ボックスでもないものです テーブルは 次 の 部 分 からなっています テーブルキャプション HTMLのcaptionタグ あるいはdisplayがtable-captionと 指 定 された 部 分 テーブルヘッダ HTMLのtheadタグ あるいはdisplayがtable-header-groupと 指 定 された 部 分 テーブルフッタ HTMLのtfootタグ あるいはdisplayがtable-footer-groupと 指 定 された 部 分 テーブル 行 グループ HTMLのtbodyタグ あるいはdisplayがtable-row-groupと 指 定 された 部 分 ただし tbody やtable-row-groupを 省 略 して テーブルの 中 に 直 接 存 在 する 行 も 行 グループに 属 すると 見 なされます 強 制 改 ページ 強 制 改 ページは 指 定 した 場 所 で 強 制 的 に 改 ページを 発 生 させる 機 能 です 強 制 改 ペー ジを 指 定 できるのは 次 の 場 所 です 通 常 のフローのブロックの 直 前 通 常 のフローのブロックの 直 後 浮 動 ボックスの 直 前 浮 動 ボックスの 直 後 テーブルの 直 前 テーブルの 直 後 テーブル 行 グループの 直 前 テーブル 行 グループの 直 後 テーブル 行 の 直 前 4.10 改 ページ 制 御 239

254 4.デザイナーガイド テーブル 行 の 直 後 テーブルセルの 直 前 テーブルセルの 直 後 ただし 上 記 の 場 所 であっても 浮 動 ボックス 内 絶 対 配 置 ボックス 内 テーブルセル 内 で は 強 制 改 ページを 発 生 することはできません 要 素 の 直 前 の 強 制 改 ページの 指 定 は{page-break-before: always;です 要 素 の 直 後 の 強 制 改 ページの 指 定 は{page-break-after: always;です 以 下 は 強 制 改 ページを 使 って 表 紙 を 作 る 例 です 例 4.67 強 制 改 ページ <html> <head> <title>ドキュメント</title> </head> <body> <h1 style="page-break-after: always;"> 表 紙 </h1> <p> 本 文...</p> </body> </html> また 単 純 に 改 ページするためではなく 改 ページした 直 後 のページが 右 になるか 左 に なるかを 指 定 することができます この 場 合 調 整 のために 空 白 のページが1つつくら れる 可 能 性 があります 強 制 改 ページの 後 のページが 右 になるか 左 になるかを 指 定 するには page-break-before およびpage-break-afterプロパティの 値 として alwaysの 代 わりに left( 左 ページにする 場 合 )またはright( 右 ページにする 場 合 )を 指 定 します 以 下 の 例 では 必 ず 右 側 になる 中 表 紙 を 生 成 しています 例 4.68 空 ページが 生 じるケース <html> <head> <title>ドキュメント</title> </head> <body> <h1 style="page-break-after: always;"> 表 紙 </h1> <p style="page-break-after: always;"> 本 文 1...</p> <p> 本 文 2...</p> <h1 style="page-break-before: right;"> 中 表 紙 </h1> </body> </html> ただし 強 制 改 ページのleft, rightの 指 定 はテーブル 内 部 では 適 用 されず いずれもalways と 解 釈 されます 改 ページ 制 御

255 4.デザイナーガイド orphans [css] とwidows [css] orphans [css] とwidows [css] プロパティは 段 落 (ここでは 通 常 のフローのブロックを 指 し <br>による 空 行 等 は 段 落 の 区 切 りとは 認 識 されません) の 途 中 で 改 ページが 発 生 す る 場 合 必 ず 前 のページに 残 す 行 数 と 後 のページに 表 示 される 行 数 を 指 定 するもので す なお Copper PDFは 実 際 の 行 数 ではなく 行 から 行 までの 長 さを 標 準 的 な 行 の 高 さ( 段 落 に 適 用 されたline-height [css] による 高 さ) で 割 った 値 を 整 数 に 丸 めた 数 値 を 基 準 に 計 算 します そのため 行 内 に 大 きな 画 像 が 存 在 したり インラインに 対 する font-size [css] の 指 定 により 例 えば 通 常 の2 倍 の 高 さに 拡 張 されている 行 が 存 在 すれ ば 2 行 として 計 算 します これはCSS 2.1の 仕 様 にはありませんが より 直 感 的 な 改 ペー ジとするための 仕 様 です orphans [css] ある 段 落 がページの 下 端 にかかっている 場 合 段 落 を 途 中 で 分 割 して 改 ページする 必 要 があります orphans [css] はそのような 場 合 に 改 ページされる 前 のページに 最 低 限 残 さなければならない 行 数 です 例 えば 以 下 の 例 ではorphans [css] が3に 対 して 改 ペー ジ 前 のページに3 行 があるので 条 件 を 満 たしています 例 4.69 orphansが3の 場 合 ( 段 落 1)1 行 目... 2 行 目... 3 行 目... 4 行 目... 5 行 目... 6 行 目... 7 行 目... 8 行 目... ( 段 落 2)1 行 目... 2 行 目... 3 行 目... 1ページ 目 4 行 目... 5 行 目... 2ページ 目 同 じ 文 書 でorphans [css] を4に 指 定 すると そのままではorphans [css] を 満 たすことが できないため 段 落 をまるごと 次 ページに 移 動 してしまいます 4.10 改 ページ 制 御 241

256 4.デザイナーガイド 例 4.70 orphansが4の 場 合 ( 段 落 1)1 行 目... 2 行 目... 3 行 目... 4 行 目... 5 行 目... 6 行 目... 7 行 目... 8 行 目... 1ページ 目 ( 段 落 2)1 行 目... 2 行 目... 3 行 目... 4 行 目... 5 行 目... 2ページ 目 widows [css] 文 書 の 内 容 の 高 さがページの 高 さよりわずかに 高 い 場 合 次 のページに 文 書 の 内 容 の うち 何 行 かを 先 送 りしなければなりません widows [css] は 改 ページされた 後 のページ に 最 低 限 表 示 されなければならない 行 数 で Copper PDFはwidows [css] を 満 たすように 先 送 りする 行 数 を 調 整 します 例 えば widows [css] が2の 場 合 以 下 の 例 では2ページ 目 に2 行 存 在 するので 条 件 を 満 たしています 例 4.71 widowsが2の 場 合 ( 段 落 1)1 行 目... 2 行 目... 3 行 目... 4 行 目... 5 行 目... 6 行 目... 7 行 目... 8 行 目... ( 段 落 2)1 行 目... 2 行 目... 3 行 目... 1ページ 目 4 行 目... 5 行 目... 2ページ 目 同 じ 文 書 でwidows [css] を3に 指 定 すると 以 下 のように 前 のページから 次 のページへ 行 を 移 動 して widows [css] を 満 たすようにします 改 ページ 制 御

257 4.デザイナーガイド 例 4.72 widowsが3の 場 合 ( 段 落 1)1 行 目... 2 行 目... 3 行 目... 4 行 目... 5 行 目... 6 行 目... 7 行 目... 8 行 目... ( 段 落 2)1 行 目... 2 行 目... 1ページ 目 3 行 目... 4 行 目... 5 行 目... 2ページ 目 orphans [css] とwidows [css] の 競 合 orphans [css] とwidows [css] の 両 方 の 条 件 を 同 時 に 満 たすことができない 場 合 も orphans [css] を 満 たせなかった 場 合 と 同 様 に 段 落 を 丸 ごと 次 ページに 移 動 します 例 えば 以 下 の 状 況 ではorphans [css] とwindows [css] の 両 方 が 満 たされています 例 4.73 orphansが3でwidowsが2の 場 合 ( 段 落 1)1 行 目... 2 行 目... 3 行 目... 4 行 目... 5 行 目... 6 行 目... 7 行 目... 8 行 目... ( 段 落 2)1 行 目... 2 行 目... 3 行 目... 1ページ 目 4 行 目... 5 行 目... 2ページ 目 この 状 態 でwidows [css] を3に 設 定 すると orphans [css] は 満 たせるがwidows [css] は 満 たせない 状 態 になります 4.10 改 ページ 制 御 243

258 4.デザイナーガイド 例 4.74 orphansが3でwidowsが3の 場 合 ( 段 落 1)1 行 目... 2 行 目... 3 行 目... 4 行 目... 5 行 目... 6 行 目... 7 行 目... 8 行 目... 1ページ 目 ( 段 落 2)1 行 目... 2 行 目... 3 行 目... 4 行 目... 5 行 目... 2ページ 目 ただし 段 落 がページの 先 頭 にある 場 合 は orphans [css] が 無 視 され 少 なくとも1 行 が 前 ページに 残 されます 改 ページの 抑 制 次 の 場 所 には 改 ページの 抑 制 を 指 定 することができます 通 常 のフローのブロックの 内 部 通 常 のフローのブロックの 直 前 通 常 のフローのブロックの 直 後 浮 動 ボックスの 内 部 テーブルの 内 部 テーブルの 直 前 テーブルの 直 後 テーブル 行 グループの 直 前 テーブル 行 グループの 直 後 テーブル 行 の 内 部 テーブル 行 の 直 前 テーブル 行 の 直 後 テーブルセルの 内 部 テーブルセルの 直 前 テーブルセルの 直 後 内 部 の 改 ページ 抑 制 内 部 での 改 ページを 抑 制 するには {page-break-inside: avoid;という 指 定 を します 改 ページ 抑 制 されたボックスがページをはみ 出 す 場 合 は ボックスが 丸 ごと 次 のページ の 先 頭 に 先 送 りされます ただし ボックスが( 先 送 りの 結 果 か 元 々そこにあるかに 関 わらず)ページの 先 頭 にある 場 合 かつボックスの 高 さがページの 高 さを 超 えてしまう 場 合 は 改 ページの 抑 制 を 無 視 してページ 分 割 されます 改 ページ 制 御

259 4.デザイナーガイド 前 後 の 改 ページ 抑 制 ボックスの 前 後 での 改 ページを 抑 制 するには {page-break-before: avoid; (ボックスの 前 )あるいは {page-break-after: avoid;(ボックスの 後 )を 指 定 しま す Copper PDFは 改 ページが 抑 制 された 箇 所 での 改 ページを 避 け 前 後 の 何 行 かを 必 ず 1つのページに 含 めるようにします 改 ページが 抑 制 されたポイントの 前 に 入 れる 行 数 はorphans [css] に 依 存 します 強 制 改 ページと 改 ページの 抑 制 が 競 合 する 場 合 は 強 制 改 ページが 優 先 されます 例 え ば {page-break-after: always; と 指 定 さ れ た 段 落 の 直 後 に {pagebreak-before: avoid;と 指 定 された 段 落 がある 場 合 です このような 競 合 が 起 こった 場 合 常 に 強 制 改 ページが 優 先 されます つまり このケースでは{pagebreak-before: avoid;は 無 視 されて 改 ページが 発 生 します なお HTMLのh1 h6 要 素 にはデフォルトで{page-break-before: avoid; が 指 定 されています 自 動 改 ページ Copper PDFは 文 書 の 内 容 がページの 下 端 にさしかかった 部 分 で 自 動 的 に 改 ページし ます 自 動 的 な 改 ページが 発 生 するのは 次 の 場 所 です 通 常 のフローのブロックの 間 画 像 以 外 の 通 常 のフローのブロックの 内 部 画 像 以 外 の 浮 動 ボックスの 内 部 行 の 間 テーブル 行 グループの 間 テーブル 行 グループ 内 の 行 の 間 テーブル 行 グループ 内 の 行 の 内 部 逆 に 以 下 の 場 所 ではどのような 場 合 も 改 ページされることはありません 行 の 内 部 画 像 の 内 部 絶 対 配 置 ボックスの 内 部 テーブルキャプションの 内 部 テーブルキャプションとテーブルの 間 テーブルヘッダの 内 部 テーブルフッタの 内 部 テーブルヘッダと 行 グループの 間 テーブルフッタと 行 グループの 間 4.10 改 ページ 制 御 245

260 4.デザイナーガイド 通 常 のフローのブロック 通 常 のフローでは orphans [css], widows [css] を 尊 重 して 改 ページが 行 われます ブ ロックに 境 界 線 がある 場 合 に 境 界 線 の 直 後 あるいは 高 さが 指 定 されていて 内 容 がない ブロックの 内 部 では なるべく 改 ページを 避 けますが ブロックがページの 先 頭 ある 場 合 は 改 ページが 発 生 します 浮 動 ボックス 浮 動 ボックスがページの 下 端 をはみ 出 した 場 合 浮 動 ボックスは 分 割 され 次 ページに 送 られた 部 分 は 浮 動 ボックスとして 再 配 置 されます 浮 動 ボックスの 分 割 でも orphans [css], windows [css] の 指 定 は 尊 重 されますが 条 件 を 満 たせない 場 合 であって も 浮 動 ボックスを 丸 ごと 次 ページに 送 られることはなく その 場 合 はorphans [css], widows [css] を 無 視 して 分 割 されます 画 像 および{page-break-inside: avoid;が 指 定 された 浮 動 ボックスは 分 割 され ることはなく ページの 下 端 をはみ 出 した 場 合 は 丸 ごと 次 のページに 持 ち 越 されます た だ し 浮 動 ボ ッ ク ス の 中 に 入 れ 子 に な っ た 浮 動 ボ ッ ク ス で は{page-breakinside: avoid;は 無 効 です 改 ページ 制 御

261 4.デザイナーガイド 4.11 テーブル 内 での 改 ページ Copper PDFはテーブルの 行 間 テーブルの 行 の 途 中 (セルの 途 中 )での 改 ページが 可 能 で す また テーブルのヘッダとテーブルのフッタは 各 ページで 繰 り 返 し 表 示 されます 改 ページされない 場 所 テーブル 内 の 次 の 場 所 では どのような 場 合 も 改 ページされることはありません テーブルのキャプション 内 テーブルのキャプションとテーブルの 間 テーブルヘッダの 内 部 テーブルフッタの 内 部 テーブルのヘッダと 行 グループの 間 テーブルのフッタと 行 グループの 間 従 って 上 記 の 部 分 に 指 定 されたpage-break-after [css], page-break-before [css], page-break-inside [css] は 無 視 されます また 上 記 の 規 則 が 適 用 された 結 果 テー ブルの 行 グループが 存 在 する 限 り どのように 改 ページが 発 生 する 場 合 も テーブルの 行 グループの 一 部 が 常 に 表 示 され ヘッダかフッタだけのテーブルが 現 れることはあ りません 上 記 の 部 分 がページの 高 さを 超 える 場 合 は テーブルがページの 下 端 をはみ 出 します 従 って 適 切 なレイアウトとなるためには テーブルのキャプションとヘッダとフッタ の 高 さが ページの 高 さに 対 して 十 分 に 小 さいことが 望 ましいです page-break-xxxの 適 用 改 ページに 関 する 特 性 は 行 の 間 には 通 常 のフローのブロックと 同 様 に 適 用 されます 改 ページに 関 する 特 性 の 指 定 は 行 グループの 間 にも 適 用 されます ただし 強 制 改 ペー ジでleft, rightの 指 定 は 有 効 ではなく 効 果 はalwaysと 同 じになります セルに 対 するpage-break-inside [css] は 行 に 適 用 されます 同 じ 行 内 でautoとavoid が 指 定 されたセルが 競 合 する 場 合 avoidが 優 先 されます すなわち 行 に 属 するセルの うち1つでもavoidが 指 定 された 場 合 行 全 体 の 中 での 改 ページが 禁 止 されます また セルがrowspanで 連 結 されている 場 合 セルが 属 する 全 ての 行 の 内 部 で 改 ページが 抑 制 さ れ る の に 加 え て 行 の 間 で page-break-after [css] お よ び page-break-before [css] にavoidが 指 定 されたものと 見 なされます セルに 対 するpage-break-after [css] および page-break-before [css] は 行 に 適 用 されます この 場 合 の 優 先 順 位 は 次 の 順 になります always > avoid > auto 4.11 テーブル 内 での 改 ページ 247

262 4.デザイナーガイド テーブルがページの 先 頭 にあり かつ 改 ページ 禁 止 指 定 のために ページの 下 端 までの 間 で 改 ページできない 場 合 は 行 間 の 改 ページ 禁 止 を 無 視 します この 場 合 は 改 ペー ジが 禁 止 された 部 分 であっても 改 ページが 発 生 します テーブル 行 内 部 (セル 内 部 )での 改 ページ テーブル 行 内 に {page-break-inside: avoid;が 指 定 されたセルがなく テーブ ル 行 がページの 下 端 に 差 し 掛 かっている 場 合 そのテーブル 行 の 分 割 が 試 みられます このとき orphans [css] とwidows [css] が 尊 重 され 行 に 属 する 全 てのセルが 分 割 不 可 能 な 場 合 は 行 全 体 が 次 のページに 先 送 りされます 1つでも 分 割 可 能 なセルがあった 場 合 は 行 が 分 割 されます この 場 合 他 のセルに 対 してはorphans [css] とwidows [css] を 無 視 した 分 割 が 起 こる 可 能 性 があります 分 割 されたセルに 対 してはvertical-align [css] による 垂 直 アラインメ ントの 指 定 が 無 効 となり セルの 内 容 は 全 てセルの 上 端 につけられます デフォルトの 改 ページ 禁 止 HTMLのtd,th 要 素 は デフォルトで{page-break-inside: avoid; が 設 定 されて います テーブルセル 内 の 改 ページを 有 効 にするには HTMLのtd, th 要 素 に 対 して 明 示 的 に {page-break-inside:: auto; を 指 定 する 必 要 があります (td, th 以 外 の 要 素 に 対 して {display: table-cell; を 指 定 したことによるテーブルセルは この 限 りではありません ) 例 4.75 テーブルセル 内 での 改 ページを 有 効 にするCSS td, th { page-break-inside: auto; 上 のスタイルシートをデフォルトのスタイルシートとして 指 定 しておけば あらゆる ページでテーブルセル 内 での 改 ページがされるようになります テーブル 内 での 改 ページ

263 4.デザイナーガイド 4.12 WebFont Copper PDF からWebFont がサポートされました WebFont は CSSによりファイル システム 上 やネットワーク 上 のフォントを 指 定 し 文 書 をレイアウトする 際 に 読 み 込 むものです Internet Explorer, Safari, Chrome, Firefox 等 の 最 新 のブラウザはWebFontをサ ポートしており これらのブラウザ 向 けに 表 示 環 境 に 関 わらず 同 じフォントが 表 示 さ れるようにした 文 書 はCopper PDFでも 同 じフォントを 表 示 することができます WebFontは 非 常 に 手 軽 に 使 える 反 面 文 書 のレイアウトの 度 にフォントファイルを 読 み 込 むため 処 理 速 度 が 遅 くなります WebFontの 利 用 は 開 発 時 や どうしても 使 用 する 必 要 がある 場 合 にとどめ 可 能 な 限 りシステムのフォント 設 定 (44ページ)で 対 応 するこ とを 推 奨 します ルール 文 書 からフォントファイルを 読 み 込 使 います 以 下 は 欧 文 フォントを 読 み 込 む 例 です 例 4.76 ネットワーク 上 のフォントの 読 み 込 み(ソース) <html> <head> <style { font-family: "VeraSerif"; src: { font-family: "VeraSerif"; font-weight: bold; src: { font-family: "VeraSerif"; font-style: italic; src: url("http://dl.cssj.jp/docs/copper/misc/bitstreamvera/verait.ttf"); body { font-family: "VeraSerif".bold { font-weight: bold;.italic { 4.12 WebFont 249

264 4.デザイナーガイド font-style: italic; </style> </head> <body> <p>this is Bitstream Vera Serif.</p> <p class="bold">this is Bitstream Vera Serif Bold.</p> <p class="italic">this is Bitstream Vera Serif Italic.</p> </body> </html> 図 4.21 ネットワーク 上 のフォントの 読 み 込 み( 表 示 結 果 内 で は font-family [css], font-style [css], font-weight [css], unicode-range [css], src [css] の 各 プロパティを 設 定 することができます このうち font-family [css], src [css] は 必 須 です font-family [css], font-style [css], font-weight [css] は 読 み 込 まれたフォントの 属 性 となります 文 書 中 で 適 切 なフォントが 選 択 される 際 の 手 がかりとなります Copper PDF がフォントを 選 択 する 方 法 については ドキュメント 中 でのフォントの 利 用 (45ページ) をご 参 照 ください font-family フォントのファミリ 名 です font-style フォントのスタイルです normal, italic, obliqueのいずれかです デフォルトはnormalで す font-weight フォントの 太 さです normal, bold または100から900までの100 刻 みの 値 です デフォル トはnormalです WebFont

265 4.デザイナーガイド unicode-range フォントが 利 用 可 能 な 文 字 コードの 範 囲 です ここで 指 定 されたコード 範 囲 にあり か つフォントファイルに 定 義 されている 文 字 が 利 用 可 能 な 文 字 となります デフォルト はU+0-10FFFFです 記 述 例 は 次 のとおりです unicode-range: U+A5; 円 記 号 ( )の 文 字 だけに 適 用 します unicode-range: U+0-7F; ASCII 文 字 ( 文 字 コード0から127)だけに 適 用 します unicode-range: U+30??; ひらがな カタカナ( 文 字 コード16 進 数 で3000 番 台 )だけに 適 用 します unicode-range: U+A5, U+0-7F, U+30??; 前 記 の3つのコード 範 囲 を 合 わせたものです src フォントファイルの 位 置 です 記 述 例 は 次 のとおりです src: url(fonts/ipamincho.otf); fonts/ipamincho.otfというパスにあるフォントファイルを 読 み 込 みます src: local(ms 明 朝 ) (Copper PDFが 動 作 している)OSにインストールされたMS 明 朝 という 名 前 のフォント を 読 み 込 みます src: local(ms 明 朝 ), url(fonts/ipamincho.otf) OS に イ ン ス ト ー ル さ れ た MS 明 朝 が 利 用 可 能 で あ れ ば そ れ を 使 い な け れ ば fonts/ipamincho.otfを 読 み 込 みます 対 応 しているフォントフォーマットは TrueType, OTF, WOFF[3.1.0]です SVGフォント 等 はサポートしていません 次 の 例 は 漢 字 にはIPA Pゴシック ひらがなと 英 数 字 にはきろ 字 を 使 用 します 4.12 WebFont 251

266 4.デザイナーガイド 例 4.77 複 数 のフォントの 併 用 (ソース) <html> <head> <style { font-family: "MyFont"; src: url("http://dl.cssj.jp/docs/copper/misc/ipagp.otf"); unicode-range: { font-family: "MyFont"; src: url("http://dl.cssj.jp/docs/copper/misc/kiloji.ttf"); unicode-range: U+A5, U+0-7F, U+30??; body { font-family: "MyFont"; </style> </head> <body> <p> 目 に 青 葉 / 山 ほととぎす/ 初 がつお</p> </body> </html> 図 4.22 複 数 のフォントの 併 用 ( 表 示 結 果 ) WebFont

267 4.デザイナーガイド 4.13 縦 書 き Copper PDF は 縦 書 きを 独 自 にサポートしています[3.0.0] これはドラフト 段 階 のCSS3 Writing Modes(2010 年 12 月 現 在 ) 仕 様 の 一 部 を 先 行 して 実 装 したものです Copper PDFの 現 在 の 実 装 は 将 来 リリースされるW3C 規 格 との 互 換 性 を 保 証 するものではありませ ん またCopper PDFの 将 来 のバージョンでは 仕 様 に 変 更 が 生 ずる 可 能 性 があります cssj-writing-mode -cssj-writing-mode [css] は CSS3 Writing Modesのwriting-mode [css] の 先 行 実 装 です 仕 様 は 次 のとおりです 値 初 期 値 適 用 対 象 値 の 継 承 horizontal-tb vertical-rl lr lr-tb rl tb tb-rl horizontal-tb テーブル 行 グループ テーブルカラムグループ テーブル 行 テーブルカラム 以 外 の 要 素 する 要 素 に 対 して horizontal-tbは 横 書 き vertical-rl は 縦 書 きを 適 用 します SVG, Internet Explorerとの 互 換 性 のために 用 意 されている lr, lr-tb, rlはhorizaontal-tbと 同 じ 意 味 であ り 同 様 にtb, tb-rlはvertical-rlと 同 じ 意 味 です テーブルセル(td, th)に-cssj-writing-mode [css] を 指 定 することができますが テー ブルセルの 書 字 方 向 を 変 えることは 推 奨 しません 書 字 方 向 が 変 えられたテーブルセ ル の 途 中 で は 常 に 改 ペ ー ジ で き な く な り ま す 代 わ り に テ ー ブ ル セ ル 内 に -cssj-writing-mode [css] を 設 定 したdivタグを 入 れ 子 にするなどしてください 文 書 の 書 字 方 向 文 書 全 体 の 書 字 方 向 は 文 書 のドキュメント 要 素 (XMLではルート 要 素 HTMLでは BODY 要 素 )に 対 する -cssj-writing-mode [css] の 指 定 によります 文 書 全 体 の 書 字 方 向 は 文 書 の 綴 じ 方 向 に 影 響 します すなわち 横 書 きでは 左 綴 じ 縦 書 きでは 右 綴 じとなります page-break-before [css], page-break-after [css] に 対 するleft, rightによる 強 制 改 ページでは 綴 じ 方 向 が 考 慮 されます 4.13 縦 書 き 253

268 4.デザイナーガイド 横 書 きの 場 合 は 内 容 が 下 にはみ 出 したところから 改 ページされますが 縦 書 きでは 内 容 が 左 にはみ 出 したところから 改 ページされます 例 4.78 文 書 全 体 を 縦 書 きにする(ソース) <html> <head> <style type="text/css"> body { writing-mode: vertical-rl; </style> </head> <body> <p> 石 炭 をば 早 や 積 み 果 てつ 中 等 室 の 卓 のほとりはいと 靜 にて 熾 熱 燈 の 光 の 晴 れがましきも 徒 なり 今 宵 は 夜 毎 にこゝに 集 ひ 來 る 骨 牌 仲 間 も ホテル に 宿 りて 舟 に 殘 れるは 余 一 人 のみなれ ば </p> </body> </html> 図 4.23 文 書 全 体 を 縦 書 きにする( 表 示 結 果 ) 縦 書 き

269 4.デザイナーガイド 書 字 方 向 の 混 在 横 書 き 中 に 縦 書 き 指 定 された 要 素 がある あるいは 縦 書 き 中 に 横 書 き 指 定 された 要 素 がある 場 合 書 字 方 向 が 混 在 するものとして 処 理 します 文 書 の 書 字 方 向 と 異 なる 要 素 の 中 では 改 ページすることはできません ブロックの 書 字 方 向 が 異 なる 場 合 そのブロックのページ 進 行 方 向 の 幅 ( 親 要 素 が 横 書 きでは 高 さ 縦 書 きでは 幅 )がautoであれば ページの 高 さとなります しかし 書 字 方 向 の 異 なるブロックを ページ 進 行 方 向 の 幅 をautoで 配 置 することは 推 奨 しません 行 方 向 の 幅 ( 親 要 素 横 書 きでは 幅 縦 書 きでは 高 さ)の 計 算 方 法 は 通 常 の 場 合 と 同 じで す そのため 内 容 が 長 ければ 親 要 素 の 行 方 向 にはみ 出 すことになります あるいは 多 段 組 (ページ)を 活 用 してください 例 4.79 横 書 きの 文 書 の 一 部 を 縦 書 きにする(ソース) <html> <head> <style type="text/css"> body { border: 1pt dashed Red; #a { writing-mode: vertical-rl; height: 6em; border: 1pt solid Red; </style> </head> <body> <p> 石 炭 をば 早 や 積 み 果 てつ 中 等 室 の 卓 のほとりはいと 靜 にて 熾 熱 燈 の 光 の 晴 れがましきも 徒 なり 今 宵 は 夜 毎 にこゝに 集 ひ 來 る 骨 牌 仲 間 も ホテル に 宿 りて 舟 に 殘 れるは 余 一 人 のみなれ ば </p> <div id="a"> 五 年 前 の 事 なりしが 平 生 の 望 足 りて 洋 行 の 官 命 を 蒙 り このセイゴンの 港 まで 來 し 頃 は 目 に 見 るもの 耳 に 聞 くもの 一 つとして 新 ならぬはなく 筆 に 任 せて 書 き 記 しつる 紀 行 文 日 ごとに 幾 千 言 をかなしけむ 當 時 の 新 聞 に 載 せられて 世 の 人 にもてはやされしかど 今 日 に なりておもへば 穉 き 思 想 身 の 程 知 らぬ 放 言 さらぬも 尋 常 の 動 植 金 石 さては 風 俗 などを さへ 珍 しげにしるしゝを 心 ある 人 はいかにか 見 けむ </div> </body> </html> 4.13 縦 書 き 255

270 4.デザイナーガイド 図 4.24 横 書 きの 文 書 の 一 部 を 縦 書 きにする( 表 示 結 果 ) インラインの 書 字 方 向 が 異 なる 場 合 インラインブロックとして 配 置 します これは 縦 中 横 のために 使 うことができます 例 4.80 縦 中 横 (ソース) <html> <head> <style type="text/css"> body { writing-mode: vertical-rl;.tcy { writing-mode: horizontal-tb; </style> </head> <body> <p> <span class="tcy">2010</span> 年 <span class="tcy">7-9</span> 月 期 の 実 質 <span class="tcy">gdp</span>( 国 内 総 生 産 )の 成 長 率 は 民 間 最 終 消 費 支 出 がプラスに 寄 与 したことなどから 前 期 比 で<span class="tcy">0.9</span>% 増 ( 年 率 <span class="tcy">3.9 </span>% 増 )となった(4 四 半 期 連 続 のプラス) また 名 目 <span class="tcy">gdp</span> 成 長 率 は 前 期 比 で <span class="tcy" >0.7</span>% 増 となった(2 四 半 期 ぶりのプラス) </p> </body> </html> 縦 書 き

271 4.デザイナーガイド 図 4.25 縦 中 横 ( 表 示 結 果 ) cssj-direction-mode margin-top [css], border-left [css], padding-bottom [css] といったマージン 境 界 パディング 等 の 方 向 に 依 存 するプロパティは 書 字 方 向 に 関 わらず 物 理 的 な 方 向 (*- topなら 常 に 上 *-leftなら 常 に 左 のように) に 適 用 されます しかし 横 書 きの 文 書 を 縦 書 きに 切 り 替 えるスタイルシートを 作 成 する 場 合 横 書 きで 上 だったものを 右 右 だっ たものを 下 下 だったものを 左 左 だったものを 上 に それぞれ 回 転 させることで 新 し いスタイルシートの 記 述 が 最 小 限 で 済 む 場 合 があります 特 に style 属 性 によるスタイ ルでマージン 等 が 指 定 された 既 存 の 文 書 の 書 字 方 向 を 変 えるには 方 向 に 依 存 するス タイル 指 定 を 回 転 させるしかありません -cssj-direction-mode [css] は 方 向 に 依 存 するプロパティを 回 転 させます 仕 様 は 次 のとおりです 値 physical logical horizontal-tb[3.0.12] vertical-rl[3.0.12] 初 期 値 適 用 対 象 値 の 継 承 physical 全 ての 要 素 する -cssj-direction-mode [css] がlogicalまたはhorizontal-tbの 場 合 方 向 に 依 存 するプロ パティを 横 書 きを 基 準 として 論 理 的 に 適 用 します topはページ 進 行 方 向 の 前 bottom はページ 進 行 方 向 の 後 leftは 行 頭 rightは 行 末 という 意 味 になります 値 の 継 承 は 変 わ りません 例 えばmargin-top [css] は 常 にmargin-top [css] に 継 承 します 継 承 などに より 得 られた 計 算 値 を 論 理 的 な 方 向 に 読 み 替 えて スタイルを 構 成 する 要 素 に 適 用 しま す 4.13 縦 書 き 257

272 4.デザイナーガイド page-break-before [css], page-break-after [css] に 対 するleft, right 指 定 は それぞ れ 偶 数 ページ(verso) 奇 数 ページ(recto)として 処 理 します すなわち 全 体 が 縦 書 き( 右 綴 じ)の 文 書 では 左 右 の 指 定 が 逆 になります background-position [css] は yがパーセント 値 の 場 合 は (100%-y) の 値 が 適 用 され そしてx 値 とy 値 が 逆 転 されます background-repeat [css] repeat-xとrepeat-y が 逆 転 されます 縦 書 きでは 次 の 通 りにプロパティの 計 算 値 を 適 用 します 元 の 計 算 値 width height max-width max-height min-width min-height padding-top padding-right padding-bottom padding-left border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width 計 算 値 を 適 用 するプロパティ height width max-height max-width min-height min-width padding-right padding-bottom padding-left padding-top border-right-color border-bottom-color border-left-color border-top-color border-right-style border-bottom-style border-left-style border-top-style border-right-width border-bottom-width border-left-width 縦 書 き

273 4.デザイナーガイド 元 の 計 算 値 border-left-width margin-top margin-right margin-bottom margin-left top right bottom left 計 算 値 を 適 用 するプロパティ border-top-width margin-right margin-bottom margin-left margin-top right bottom left top また width [css] は 行 進 行 方 向 の 幅 height [css] はいずれの 場 合 もページ 進 行 方 向 の 幅 として 処 理 します 最 大 幅 最 小 幅 を 指 定 するプロパティ(max-width [css] など) も 同 様 です しかし 一 般 的 に 画 像 は 初 期 方 向 が 切 り 替 わっても 回 転 させることはないた め 縦 横 の 幅 を 維 持 する 必 要 があります そのため 画 像 の 幅 と 高 さに 対 しては logical またはhorizontal-tb, horizontal-tbの 設 定 は 影 響 しません float [css], clear [css], text-align [css], caption-side [css] は も と も と -cssj-direction-mode [css] の 影 響 を 受 けません 常 に 設 定 値 のleftは 行 頭 rightは 行 末 topはページ 進 行 方 向 の 前 bottomはページ 進 行 方 向 の 後 として 処 理 されます 次 のような 横 書 きの 文 書 があるとします 例 4.81 横 書 きの 文 書 (ソース) <html> <head> <style type="text/css"> p { text-indent: 1em; text-align: justify; </style> </head> <body> <h1 style="border-bottom: 2pt dashed">かっぱ</h1> 4.13 縦 書 き 259

274 4.デザイナーガイド <img src="kappa.png" width="148" height="199" alt="かっぱ" align="left"/> <p> 河 童 (かっぱ)は 日 本 の 妖 怪 伝 説 上 の 動 物 または 未 確 認 動 物 標 準 和 名 の かっぱ は かわ( 川 ) に わらは( 童 ) の 変 化 形 わっぱ が 複 合 した かわわっぱ が 変 化 したもの 河 太 郎 (かわたろう)とも 言 う ほぼ 日 本 全 国 で 伝 承 され その 呼 び 名 や 形 状 も 各 地 方 によって 異 なる </p> </body> </html> 図 4.26 横 書 きの 文 書 ( 表 示 結 果 ) この 文 書 のbodyに 対 して {writing-mode: vertical-rl; を 適 用 すると 文 書 が 縦 書 きになりますが 見 出 しの 境 界 線 や 画 像 のマージンの 方 向 はそのままになります 図 4.27 縦 書 きに 変 換 ( 表 示 結 果 ) さらにbodyに 対 して {-cssj-direction-mode: logical; を 適 用 すると 見 出 し の 境 界 線 や 画 像 のマージンが 回 転 され より 適 切 な 表 示 になります 縦 書 き

275 4.デザイナーガイド 図 4.28 論 理 方 向 モードで 縦 書 きに 変 換 ( 表 示 結 果 ) -cssj-direction-mode [css] にvertical-rl を 設 定 した 場 合 は 方 向 に 依 存 するプロパ ティを 縦 書 を 基 準 として 論 理 的 に 適 用 します page-break-before [css], page-break-after [css] に 対 するleft, right 指 定 は それぞ れ 奇 数 ページ(recto) 偶 数 ページ(verso)として 処 理 します すなわち 全 体 が 縦 書 き( 右 綴 じ)の 文 書 では 左 右 の 指 定 が 逆 になります background-position [css] は xがパーセント 値 の 場 合 は (100%-x) の 値 が 適 用 され そしてx 値 とy 値 が 逆 転 されます background-repeat [css] repeat-xとrepeat-y が 逆 転 されます 横 書 きでは 次 の 通 りにプロパティの 計 算 値 を 適 用 します 元 の 計 算 値 width height max-width max-height min-width min-height padding-top padding-right padding-bottom padding-left 計 算 値 を 適 用 するプロパティ height width max-height max-width min-height min-width padding-left padding-top padding-right padding-bottom 4.13 縦 書 き 261

276 4.デザイナーガイド 元 の 計 算 値 border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width border-left-width margin-top margin-right margin-bottom margin-left top right bottom left 計 算 値 を 適 用 するプロパティ border-left-color border-top-color border-right-color border-bottom-color border-left-style border-top-style border-right-style border-bottom-style border-left-width border-top-width border-right-width border-bottom-width margin-left margin-top margin-right margin-bottom left top right bottom その 他 のプロパティの 扱 いに 関 しては {-cssj-direction-mode: logical;の 場 合 と 同 様 です 縦 書 き

277 4.デザイナーガイド 4.14 多 段 組 Copper PDF は 多 段 組 を 独 自 にサポートしています[3.0.0] これは 勧 告 候 補 段 階 のCSS3 Multi-column Layout(2010 年 12 月 現 在 ) 仕 様 の 一 部 を 先 行 して 実 装 したものです Copper PDFの 現 在 の 実 装 は 将 来 リリースされるW3C 規 格 との 互 換 性 を 保 証 するものではあり ません またCopper PDFの 将 来 のバージョンでは 仕 様 に 変 更 が 生 ずる 可 能 性 がありま す 印 刷 面 の 大 きさに 比 べて 文 字 が 小 さい 場 合 1 行 の 幅 が 大 きくなってしまい 非 常 に 読 み にくいことがあります そんな 時 は 多 段 組 をすると 読 みやすくなります また 空 白 が 少 なくなるため より 紙 面 を 節 約 できます 多 段 組 では 段 数 に 応 じて 行 方 向 の 幅 が 圧 縮 されます % 指 定 で 配 置 された 画 像 やボッ クスの 大 きさは 段 の 幅 に 対 する 比 率 となります 見 出 しなどは ブチ 抜 きで 配 置 することができます 例 段 組 (ソース) <html> <head> <style type="text/css"> div { column-count: 2; column-gap: 2em; column-rule: 1pt solid; h1 { border-bottom: 2pt dashed; column-span: all; img { float: left; width: 50%; p { text-indent: 1em; text-align: justify; margin: 0; </style> </head> <body> <div> <p> 妖 怪 (ようかい)は 日 本 で 伝 承 される 民 間 信 仰 において 人 間 の 理 解 を 超 える 奇 怪 で 異 常 な 現 象 や あるいはそれらを 起 こす 不 可 思 議 な 力 を 持 つ 非 日 常 的 な 存 在 のこと 妖 (あやか し)または 物 の 怪 (もののけ) 魔 物 (まもの)とも 呼 ばれる 4.14 多 段 組 263

278 4.デザイナーガイド </p> <h1>かっぱ</h1> <img src="kappa.png" alt="かっぱ" /> <p> 河 童 (かっぱ)は 日 本 の 妖 怪 伝 説 上 の 動 物 または 未 確 認 動 物 標 準 和 名 の かっぱ は かわ( 川 ) に わらは( 童 ) の 変 化 形 わっぱ が 複 合 した かわわっぱ が 変 化 したもの 河 太 郎 (かわたろう)とも 言 う ほぼ 日 本 全 国 で 伝 承 され その 呼 び 名 や 形 状 も 各 地 方 によって 異 なる </p> </div> </body> </html> 図 段 組 ( 表 示 結 果 ) column-gap column-count: 2; column-span: all; (ブチ 抜 き) column-rule ( 罫 線 ) 段 組 に 関 する 各 プロパティの 説 明 は 次 のとおりです cssj-column-count 値 初 期 値 auto 1 以 上 の 整 数 auto 多 段 組

Copper PDF 3.0 説明書 2015-6-21

Copper PDF 3.0 説明書 2015-6-21 HTML PDF変換サーバー Copper PDF バージョン 3.0 説明書 発売元 株式会社 GNN 2015-6-21 NOTICE Copper PDF 2011-2015 Zamasoft. All rights reserved. This product includes software developed by Andy Clark. This product includes software

More information

試 作 ツールは MIT ライセンスによって 提 供 いたします その 他 内 包 されたオ ープンソース ソフトウェアについてはそれぞれのライセンスに 従 ってご 利 用 くださ い 2

試 作 ツールは MIT ライセンスによって 提 供 いたします その 他 内 包 されたオ ープンソース ソフトウェアについてはそれぞれのライセンスに 従 ってご 利 用 くださ い 2 情 報 連 携 用 語 彙 データベースと 連 携 するデータ 設 計 作 成 支 援 ツール 群 の 試 作 及 び 試 用 並 びに 概 念 モデルの 構 築 ( 浦 安 市 都 市 整 備 部 市 街 地 開 発 課 液 状 化 対 策 推 進 室 ) 操 作 説 明 書 2014 年 9 月 30 日 実 施 企 業 : インディゴ 株 式 会 社 独 立 行 政 法 人 情 報 処 理 推

More information

項 目 設 定 設 置 可 能 項 目 数 100 項 目 投 票 フォームの 設 置 可 能 投 票 項 目 数 1 項 目 (10 選 択 肢 ) 必 須 項 目 設 定 条 件 項 目 設 定 添 付 ファイル 合 計 容 量 入 力 項 目 を 必 須 項 目 に 設 定 できます フォーム

項 目 設 定 設 置 可 能 項 目 数 100 項 目 投 票 フォームの 設 置 可 能 投 票 項 目 数 1 項 目 (10 選 択 肢 ) 必 須 項 目 設 定 条 件 項 目 設 定 添 付 ファイル 合 計 容 量 入 力 項 目 を 必 須 項 目 に 設 定 できます フォーム 更 新 日 :2015 年 4 月 14 日 料 金 初 期 費 用 月 額 料 金 無 料 サーバーの 初 期 セットアップ 時 以 外 または 複 数 フォームメーラーを インストールする 場 合 には 別 途 費 用 が 必 要 となります 無 料 スペック 100 個 作 成 可 能 フォーム 数 一 般 投 票 注 文 フォームに 対 応 設 置 可 能 項 目 数 100 項 目 添 付

More information

ICTシミュレータインストール方法

ICTシミュレータインストール方法 伸 ばそう ICT メディアリテラシー 教 材 用 インターネット 補 助 教 材 セットアップについて (Windows 用 の 解 説 を 中 心 に) 本 書 で 説 明 する 伸 ばそう ICT メディアリテラシー 教 材 用 インターネット 補 助 教 材 は, 平 成 18 年 度 総 務 省 事 業 として 開 発 されました 本 書 では,XAMPP for Windows を 利

More information

2.ページ 作 成 機 能 2-13 Wordデータを 取 り 込 める(もしくはコピー&ペーストできる)こその 際 アプリケーション 特 有 のHTML(CSS) 表 現 を 自 動 的 に 削 除 できるこ 他 データの 流 用 表 2-14 Excelデータを 取 り 込 める(もしくはコピー

2.ページ 作 成 機 能 2-13 Wordデータを 取 り 込 める(もしくはコピー&ペーストできる)こその 際 アプリケーション 特 有 のHTML(CSS) 表 現 を 自 動 的 に 削 除 できるこ 他 データの 流 用 表 2-14 Excelデータを 取 り 込 める(もしくはコピー 1. 基 本 情 報 1-1 CMS 利 用 にあたって 各 職 員 のPC 端 末 に 特 別 なアプリケーションなどをインストールす る 必 要 が 無 いこと(ウェブブラウザから 利 用 できること) 1-2 各 職 員 PC 端 末 から InternetExplorerを 通 じ ID PASSWORD 認 証 にてログインできるこ 1-3 閲 覧 者 のパソコン 機 種 OS ブラウザ

More information

1. はじめに 独 立 行 政 法 人 日 本 学 術 振 興 会 科 研 費 電 子 申 請 システム( 以 下 電 子 申 請 システム という ) は 申 請 者 申 請 者 の 所 属 研 究 機 関 担 当 者 ( 以 下 所 属 研 究 機 関 担 当 者 という ) と 日 本 学 術

1. はじめに 独 立 行 政 法 人 日 本 学 術 振 興 会 科 研 費 電 子 申 請 システム( 以 下 電 子 申 請 システム という ) は 申 請 者 申 請 者 の 所 属 研 究 機 関 担 当 者 ( 以 下 所 属 研 究 機 関 担 当 者 という ) と 日 本 学 術 独 立 行 政 法 人 日 本 学 術 振 興 会 科 研 費 電 子 申 請 システム 研 究 者 向 け 操 作 手 引 ( 一 部 基 金 ) ( 交 付 内 定 時 決 定 後 用 ) 第 2.3 版 1. はじめに 独 立 行 政 法 人 日 本 学 術 振 興 会 科 研 費 電 子 申 請 システム( 以 下 電 子 申 請 システム という ) は 申 請 者 申 請 者 の 所 属

More information

Active! mail のプログラムとマニュアルは 著 作 権 法 で 保 護 された 著 作 物 で その 全 部 または 一 部 を 許 可 なく 複 製 したり 複 製 物 を 配 布 したり あるいは 他 のコンピュータ 用 に 変 換 したり 他 の 言 語 に 翻 訳 すると 著 作

Active! mail のプログラムとマニュアルは 著 作 権 法 で 保 護 された 著 作 物 で その 全 部 または 一 部 を 許 可 なく 複 製 したり 複 製 物 を 配 布 したり あるいは 他 のコンピュータ 用 に 変 換 したり 他 の 言 語 に 翻 訳 すると 著 作 Active! mail 6.52 ユーザーズマニュアル(スマートフォン 版 ) Active! mail のプログラムとマニュアルは 著 作 権 法 で 保 護 された 著 作 物 で その 全 部 または 一 部 を 許 可 なく 複 製 したり 複 製 物 を 配 布 したり あるいは 他 のコンピュータ 用 に 変 換 したり 他 の 言 語 に 翻 訳 すると 著 作 権 の 侵 害 とな

More information

32bit または 64bit アーキテクチャに 対 応 快 適 な 操 作 性 を 得 るために 高 性 能 CPU を 推 奨 します HDD 容 量 は 約 1GB 以 上 1GB 以 上 にはコンテンツ 領 域 は 含 まれません またコンテンツの 増 大 に 比 例 してシステム 領 域

32bit または 64bit アーキテクチャに 対 応 快 適 な 操 作 性 を 得 るために 高 性 能 CPU を 推 奨 します HDD 容 量 は 約 1GB 以 上 1GB 以 上 にはコンテンツ 領 域 は 含 まれません またコンテンツの 増 大 に 比 例 してシステム 領 域 CMSKIT Ver.2.3 動 作 環 境 2015 年 10 月 20 日 株 式 会 社 ノア 本 書 は CMSKIT Ver.2.3 をサーバーに 導 入 して 実 行 させるとき お 客 様 にご 用 意 いただく 動 作 環 境 を 示 しています 動 作 環 境 とは 株 式 会 社 ノアが CMSKIT Ver.2.3 の 正 常 動 作 を 確 認 した 環 境 をいいます 本

More information

サポート技術方法

サポート技術方法 キャッシュと 同 期 の 推 奨 設 定 イントロダクション このドキュメントでは Curl RTE のパフォーマンスを 最 大 限 に 活 用 できるように Curl RTE の 設 定 と Web ブラウザのキャッシュの 特 徴 について 説 明 します この 設 定 を 採 用 することで 正 確 なプログラムの 動 作 を 維 持 しながら Curl アプリケー ションにおいて 最 も 効

More information

KeySQL R8.0 Release Note

KeySQL R8.0 Release Note KeySQL R8.0リリース ノート 2014 年 05 月 1 目 次 動 作 環 境... 3 インストール アンインストールに 関 して... 5 インストール... 5 ライセンスキーの 登 録... 5 修 正 パッチのインストール... 6 アンインストール... 6 KeySQL R7.0 からの 変 更 点 および 互 換 性 について... 7 新 機 能 と 変 更 点...

More information

FOCUSシステムへのSSL-VPNによるログイン手順

FOCUSシステムへのSSL-VPNによるログイン手順 FOCUS システム SSL-VPN 利 用 者 マニュアル 第 1.05 版 (2013 年 1 月 版 ) SSL-VPN を 利 用 する 際 の 動 作 環 境 - 1 - ( 第 1.05 版 ) FOCUS システムへの SSL-VPN 接 続 では Java によるポートフォワーディング 方 式 を 用 いて FOCUS 内 のサーバと 接 続 します その 際 に 使 用 する 利

More information

改 訂 履 歴 版 数 日 付 改 訂 内 容 改 訂 箇 所 1.0 2015 年 3 月 31 日 初 版 作 成 - - i -

改 訂 履 歴 版 数 日 付 改 訂 内 容 改 訂 箇 所 1.0 2015 年 3 月 31 日 初 版 作 成 - - i - ( 事 業 者 向 け) 1.0 版 2015 年 3 月 31 日 改 訂 履 歴 版 数 日 付 改 訂 内 容 改 訂 箇 所 1.0 2015 年 3 月 31 日 初 版 作 成 - - i - 目 次 1. はじめに... 1 2. システム 動 作 環 境... 1 2.1. 動 作 の 条 件 注 意 事 項... 1 2.1.1. JAVA スクリプトの 設 定... 1 2.1.2.

More information

目 次 1 はじめに... 2 1.1 概 要... 2 1.2 利 用 環 境... 2 2 リモート PC の 利 用... 3 2.1 利 用 手 順... 3 2.2 Firefox での 利 用 手 順... 11 2.3 注 意 事 項... 11 3 利 用 環 境 の 確 認...

目 次 1 はじめに... 2 1.1 概 要... 2 1.2 利 用 環 境... 2 2 リモート PC の 利 用... 3 2.1 利 用 手 順... 3 2.2 Firefox での 利 用 手 順... 11 2.3 注 意 事 項... 11 3 利 用 環 境 の 確 認... 関 西 学 院 大 学 教 育 研 究 システム リモート PC 利 用 マニュアル (Windows 版 ) 2.1 版 2016 年 6 月 1 日 目 次 1 はじめに... 2 1.1 概 要... 2 1.2 利 用 環 境... 2 2 リモート PC の 利 用... 3 2.1 利 用 手 順... 3 2.2 Firefox での 利 用 手 順... 11 2.3 注 意 事 項...

More information

目 次 1 はじめに...4 1.1 本 マニュアルで 記 載 する 内 容...4 1.2 システム 要 件...4 1.2.1 対 応 OS(オペレーティングシステム) 要 件...4 1.2.2 対 応 Web ブラウザ 要 件...7 1.2.3 ディスプレイ 解 像 度 要 件...9 1

目 次 1 はじめに...4 1.1 本 マニュアルで 記 載 する 内 容...4 1.2 システム 要 件...4 1.2.1 対 応 OS(オペレーティングシステム) 要 件...4 1.2.2 対 応 Web ブラウザ 要 件...7 1.2.3 ディスプレイ 解 像 度 要 件...9 1 商 工 中 金 外 為 Web 為 替 予 約 サービス ご 利 用 マニュアル 1ログイン 編 Ver.1.2 2015 年 3 月 - 1 - 目 次 1 はじめに...4 1.1 本 マニュアルで 記 載 する 内 容...4 1.2 システム 要 件...4 1.2.1 対 応 OS(オペレーティングシステム) 要 件...4 1.2.2 対 応 Web ブラウザ 要 件...7 1.2.3

More information

Active! mail のプログラムとマニュアルは 著 作 権 法 で 保 護 された 著 作 物 で その 全 部 または 一 部 を 許 可 なく 複 製 したり 複 製 物 を 配 布 したり あるいは 他 のコンピュータ 用 に 変 換 したり 他 の 言 語 に 翻 訳 すると 著 作

Active! mail のプログラムとマニュアルは 著 作 権 法 で 保 護 された 著 作 物 で その 全 部 または 一 部 を 許 可 なく 複 製 したり 複 製 物 を 配 布 したり あるいは 他 のコンピュータ 用 に 変 換 したり 他 の 言 語 に 翻 訳 すると 著 作 Active! mail 6.54 ユーザーズマニュアル(スマートフォン 版 ) Active! mail のプログラムとマニュアルは 著 作 権 法 で 保 護 された 著 作 物 で その 全 部 または 一 部 を 許 可 なく 複 製 したり 複 製 物 を 配 布 したり あるいは 他 のコンピュータ 用 に 変 換 したり 他 の 言 語 に 翻 訳 すると 著 作 権 の 侵 害 とな

More information

甲南大学 Office365卒業生メールの使い方

甲南大学 Office365卒業生メールの使い方 甲 南 大 学 Office365 卒 業 生 メールの 使 い 方 2016/3/25 情 報 システム 室 (Version 1.0) このマニュアルは Windows 7/Internet Explorer の 環 境 を 基 に 作 成 しています OS やブラウザが 異 なる 場 合 は 環 境 にあわせて 操 作 してください マニュアル 内 では Office365 卒 業 生 メールを

More information

1. 概 要............ 2 2. 作 業 を 始 める 前 に......... 3 3.Office365 ログイン......... 4 1 Office365 にログイン......... 4 2 Office365 ソフトウェアページの 表 示...... 5 4.インストール

1. 概 要............ 2 2. 作 業 を 始 める 前 に......... 3 3.Office365 ログイン......... 4 1 Office365 にログイン......... 4 2 Office365 ソフトウェアページの 表 示...... 5 4.インストール 学 生 向 け 最 新 版 Office (Office365 Pro PLUS) Ver.1.2 1. 概 要............ 2 2. 作 業 を 始 める 前 に......... 3 3.Office365 ログイン......... 4 1 Office365 にログイン......... 4 2 Office365 ソフトウェアページの 表 示...... 5 4.インストール............

More information

03 CMS機能審査表.xls

03 CMS機能審査表.xls 厚 真 町 ホームページ 構 築 業 務 CMS 機 能 調 査 表 ( 別 紙 ) 対 応 欄 : 本 業 務 の 委 託 費 用 内 で 対 応 可 能 : 代 替 案 により 本 業 務 の 委 託 費 用 内 で 対 応 可 能 ( 代 替 案 欄 に 代 替 案 をご 記 入 ください ) : 対 応 不 可 項 目 番 号 要 件 対 応 代 替 案 1 1.システム 基 本 要 件 Windows

More information

3.コンテンツの 作 成 機 能 3-1 IDごとに 編 集 権 限 を 設 け 権 限 に 応 じたメニューが 表 示 されること 3-2 管 理 者 はすべてのページにおいて 編 集 する 権 限 があること 3-3 複 数 のユーザーが 同 時 に 同 一 のページを 更 新 できないこと 基

3.コンテンツの 作 成 機 能 3-1 IDごとに 編 集 権 限 を 設 け 権 限 に 応 じたメニューが 表 示 されること 3-2 管 理 者 はすべてのページにおいて 編 集 する 権 限 があること 3-3 複 数 のユーザーが 同 時 に 同 一 のページを 更 新 できないこと 基 ( 別 紙 ) 志 摩 市 ホームページ 構 築 業 務 CMS 機 能 調 査 表 対 応 欄 : 本 業 務 の 委 託 費 用 内 で 対 応 可 能 : 代 替 案 により 本 業 務 の 委 託 費 用 内 で 対 応 可 能 ( 代 替 案 欄 に 代 替 案 をご 記 入 ください ) : 対 応 不 可 項 目 番 号 要 件 対 応 代 替 案 1-1 1.システム 基 本 要 件

More information

Ver2.2.0 新機能ガイド

Ver2.2.0 新機能ガイド アプリケーション 新 機 能 ガイド ~Version 2.9.0~ 1 目 次 1 はじめに... 3 2 新 機 能... 3 3 機 能 紹 介 フォトレポート... 4 3.1 売 場 ノート フォトレポート の PC 画 面 対 応 #902... 4 4 機 能 紹 介 お 知 らせ... 18 4.1 店 舗 スタッフ 回 答 の 店 長 閲 覧 不 可 オプション 追 加 #916...

More information

送信アイコン操作ガイド

送信アイコン操作ガイド 送 信 アイコン 操 作 ガイド 日 本 ワムネット 株 式 会 社 技 術 部 2016 年 6 月 第 2.12 版 1 目 次 1 はじめに... 3 2 インストール... 4 Windows でのインストール 方 法... 5 MacOS X でのインストール 方 法... 6 3 アンインストール... 8 Windows でのアンインストール 方 法... 8 MacOS X でのアンインストール

More information

1.Web 履 修 登 録 とは 大 学 では 同 じ 学 科 の 学 生 であっても 全 員 が 同 じ 科 目 を 受 けるわけではなく 各 自 が 選 択 した 科 目 を 履 修 しますので 学 生 ごとに 履 修 科 目 が 異 なります 学 生 は 毎 学 期 の 始 めに その 学 期

1.Web 履 修 登 録 とは 大 学 では 同 じ 学 科 の 学 生 であっても 全 員 が 同 じ 科 目 を 受 けるわけではなく 各 自 が 選 択 した 科 目 を 履 修 しますので 学 生 ごとに 履 修 科 目 が 異 なります 学 生 は 毎 学 期 の 始 めに その 学 期 東 北 工 業 大 学 ( 注 ) 各 種 問 い 合 わせ 窓 口 統 合 認 証 システムのパスワードを 忘 れた 場 合 の 再 発 行 について 情 報 サービスセンター 演 習 システム 管 理 室 八 木 山 ( 八 木 山 キャンパス8 号 館 1 階 ) 長 町 ( 長 町 キャンパス2 号 館 3 階 ) 統 合 認 証 システムのユーザID パスワードとは 本 学 情 報 サービスセンターが

More information

Microsoft Corporation のガイドラインに 従 って 画 面 写 真 を 使 用 しています Microsoft Windows Windows Vista は 米 国 Microsoft Corporation の 米 国 及 びその 他 の 国 における 登 録 商 標 又 は

Microsoft Corporation のガイドラインに 従 って 画 面 写 真 を 使 用 しています Microsoft Windows Windows Vista は 米 国 Microsoft Corporation の 米 国 及 びその 他 の 国 における 登 録 商 標 又 は 書 類 閲 覧 用 端 末 要 件 平 成 28 年 3 月 金 融 庁 総 務 企 画 局 企 業 開 示 課 Microsoft Corporation のガイドラインに 従 って 画 面 写 真 を 使 用 しています Microsoft Windows Windows Vista は 米 国 Microsoft Corporation の 米 国 及 びその 他 の 国 における 登 録 商

More information

F-Secure Anti-Virus for Mac 2014

F-Secure Anti-Virus for Mac 2014 F-Secure Anti-Virus for Mac 2014 目 次 2 目 次 第 1 章 : 製 品 を 使 用 するには...3 1.1 インストールした 後 に...4 1.1.1 ライセンスの 管 理...4 1.1.2 本 製 品 を 起 動 する...4 1.2 コンピュータの 保 護 状 況 を 確 認 するには...4 1.2.1 全 体 の 保 護 ステータスを 表 示 する...4

More information

Microsoft Corporation のガイドラインに 従 って 画 面 写 真 を 使 用 しています Microsoft Windows Windows Vista は 米 国 Microsoft Corporation の 米 国 及 びその 他 の 国 における 登 録 商 標 又 は

Microsoft Corporation のガイドラインに 従 って 画 面 写 真 を 使 用 しています Microsoft Windows Windows Vista は 米 国 Microsoft Corporation の 米 国 及 びその 他 の 国 における 登 録 商 標 又 は 書 類 閲 覧 用 端 末 要 件 平 成 25 年 4 月 金 融 庁 総 務 企 画 局 企 業 開 示 課 Microsoft Corporation のガイドラインに 従 って 画 面 写 真 を 使 用 しています Microsoft Windows Windows Vista は 米 国 Microsoft Corporation の 米 国 及 びその 他 の 国 における 登 録 商

More information

1 Wacom sign pro PDF のインストール 1. 起 動 したコンピュータに 管 理 者 としてログインし インターネットに 接 続 します 2. 開 いているすべてのアプリケーションを 終 了 します 3. STU-300 をコンピュータの 空 いている USB ポートに 接 続 し

1 Wacom sign pro PDF のインストール 1. 起 動 したコンピュータに 管 理 者 としてログインし インターネットに 接 続 します 2. 開 いているすべてのアプリケーションを 終 了 します 3. STU-300 をコンピュータの 空 いている USB ポートに 接 続 し 手 書 き 電 子 サインセット 簡 単 ご 利 用 マニュアル 株 式 会 社 ワコム 目 次 1 Wacom sign pro PDF のインストール 2 Wacom sign pro PDF の 起 動 と 初 期 設 定 A) Wacom sign pro PDF の 起 動 方 法 B) Wacom sign pro PDF の 初 期 設 定 方 法 1. 署 名 証 明 書 作 成 2.

More information

スライド 1

スライド 1 ログイン 登 録 確 認 編 集 Copyright(C)2013 Agilecore Co.,Ltd.All right reserved. 1 ログイン Copyright(C)2013 Agilecore Co.,Ltd.All right reserved. 2 1 パソコンのWEBブラウザから 下 記 URLに 接 続 してください https://www.kintai-ebisu.com/koara-series/

More information

<4D6963726F736F667420576F7264202D20817989E6919C8EE68D9E817A979897708ED2837D836A83858341838B2E646F63>

<4D6963726F736F667420576F7264202D20817989E6919C8EE68D9E817A979897708ED2837D836A83858341838B2E646F63> 住 My Note お 客 様 マ ニ ュ ア ル ID パスワード 情 報 お 名 前 お 客 様 I D パスワード1 パスワード2 更 新 日 ID パスワード 情 報 を 忘 れないよう システム 利 用 時 に 記 入 してください ID パスワード 情 報 は 紛 失 しないよう 管 理 してください 平 成 27 年 6 月 住 宅 金 融 支 援 機 構 目 次 1.ご 利 用 案

More information

システム設計書

システム設計書 二 松 學 舍 大 学 二 松 メール(Gmail) 利 用 マニュアル バージョン 2.00 発 効 日 改 訂 日 2016 年 04 月 06 日 二 松 学 舎 大 学 情 報 センター i 目 次 1. はじめに...1 2. 二 松 メール(Gmail)ログイン ログアウト 方 法...1 2.1. 二 松 メール(Gmail)ログイン 方 法... 1 2.2. 二 松 メール(Gmail)ログアウト

More information

Microsoft Word - (20070728)化審法3条.doc

Microsoft Word - (20070728)化審法3条.doc e-gov 電 子 申 請 システムを 使 用 した 少 量 新 規 化 学 物 質 製 造 輸 入 申 出 提 出 マニュアル 平 成 19 年 7 月 経 済 産 業 省 製 造 産 業 局 化 学 物 質 管 理 課 化 学 物 質 安 全 室 e-gov 電 子 申 請 システムを 使 用 した 少 量 新 規 化 学 物 質 製 造 輸 入 申 出 の 提 出 マニュアル 目 次 1. 提

More information

intra-mart Accel GroupMail 2016 Spring — リリースノート   初版 2016-04-01  

intra-mart Accel GroupMail 2016 Spring — リリースノート   初版 2016-04-01   intra-mart Accel GroupMail 2016 Spring リリースノート 初 版 2016-04-01 Copyright 2016 NTT DATA INTRAMART CORPORATION 1 Top 目 次 intra-mart Accel GroupMail 2016 Spring リリースノート 初 版 2016-04-01 1. 改 訂 情 報 2. はじめに 3.

More information

SciFinder エラーへの対処法

SciFinder エラーへの対処法 SciFinder エラーへの 対 処 法 2016 年 3 月 18 日 改 訂 SciFinder でエラーが 起 きた 場 合 は,まずはご 利 用 環 境 が 推 奨 環 境 下 にあるかどうかをご 確 認 ください. http://www.jaici.or.jp/scifinder/require.html 目 次 ケース 1:SciFinder にアクセスできない... 2 ケース 2:ID

More information

各 種 ソフトウェアのインストール Adobe Reader のインストール Adobe Reader は 医 見 書 で 作 成 した 帳 票 をプレビューとして 表 示 させるためのソフトとなります 以 下 URL より 最 新 の Adobe Reader をダウンロードし インストールをおこ

各 種 ソフトウェアのインストール Adobe Reader のインストール Adobe Reader は 医 見 書 で 作 成 した 帳 票 をプレビューとして 表 示 させるためのソフトとなります 以 下 URL より 最 新 の Adobe Reader をダウンロードし インストールをおこ 64Bit 版 Windows 7 への 医 見 書 インストール 手 順 はじめに この 手 順 書 は 64Bit 版 Windows 7 へのインストールに 正 式 対 応 した 医 見 書 が リリースされるまでの 暫 定 版 インストール 手 順 書 となります 64Bit 版 Windows7 で 運 用 しているパソコンしか 持 っていない 等 のやむを 得 ない 状 況 で どうしても

More information

IBM SPSS Statistics for Mac OS のインストール手順 (シングル ユーザー)

IBM SPSS Statistics for Mac OS のインストール手順 (シングル ユーザー) IBMSPSSStatisticsforMacOSの インストール 手 順 (シングル ユー ザー) 以 下 に 示 すのは シングル ユーザー ライセンス を 使 用 した IBM SPSS Statistics バージョン 20 のインストール 手 順 です シングルユーザー ライセンス を 使 用 すると 最 大 2 台 のコンピュータに SPSS Statistics をインストールできま

More information

Microsoft Word - セキュアMyNUMBER_詳細マニュアル_20151208.docx

Microsoft Word - セキュアMyNUMBER_詳細マニュアル_20151208.docx 管 理 者 向 け 詳 細 マニュアル Ver.1.0 目 次 1. 管 理 画 面... - 3-1.1. ご 利 用 環 境 について... - 3-1.2. ログイン... - 4-1.3. ログアウト... - 4-1.4. 管 理 画 面 について... - 5-1.4.1. 管 理 画 面 の 表 示 項 目... - 5-1.5. 始 めにご 確 認 頂 く 事 項 と 初 期 設 定

More information

28年オンライン調査システム操作説明書

28年オンライン調査システム操作説明書 平 成 28 年 科 学 技 術 研 究 調 査 オ ン ラ イ ン 調 査 シ ス テ ム 操 作 説 明 書 科 学 技 術 研 究 調 査 では 郵 送 に 加 えてオンライン 調 査 システムを 利 用 した インターネットによるご 回 答 も 可 能 となっています オンライン 調 査 システムの 利 用 には フリーソフトである AdobeReader の 所 定 バージョン 等 の 利

More information

Microsoft Corporation のガイドラインに 従 って 画 面 写 真 を 使 用 しています Microsoft Excel Windows Windows Vista は 米 国 Microsoft Corporation の 米 国 及 びその 他 の 国 における 登 録 商

Microsoft Corporation のガイドラインに 従 って 画 面 写 真 を 使 用 しています Microsoft Excel Windows Windows Vista は 米 国 Microsoft Corporation の 米 国 及 びその 他 の 国 における 登 録 商 XBRL から CSV への 変 換 ツール 操 作 ガイド 平 成 25 年 8 月 金 融 庁 総 務 企 画 局 企 業 開 示 課 Microsoft Corporation のガイドラインに 従 って 画 面 写 真 を 使 用 しています Microsoft Excel Windows Windows Vista は 米 国 Microsoft Corporation の 米 国 及 びその

More information

e-Gov電子申請システムを利用した

e-Gov電子申請システムを利用した e-gov 電 子 申 請 システムを 利 用 した RPS 法 に 係 る 申 請 書 提 出 マニュアル -ITEM2000 形 式 のファイルを 利 用 した 申 請 方 法 について- 平 成 22 年 4 月 資 源 エネルギー 庁 省 エネルギー 新 エネルギー 部 新 エネルギー 等 電 気 利 用 推 進 室 電 子 政 府 の 実 現 に 向 けた 政 府 全 体 の 取 組 みの

More information

~ 目 次 ~ 1. 概 要... 2 1. ChattyBooksとChattyBook... 2 2. ユーザーのニーズに 応 じたカスタマイズ 機 能... 2 2. 動 作 環 境 インストール... 3 1. プログラムの 入 手 とインストール... 3 2. ChattyBookの 動

~ 目 次 ~ 1. 概 要... 2 1. ChattyBooksとChattyBook... 2 2. ユーザーのニーズに 応 じたカスタマイズ 機 能... 2 2. 動 作 環 境 インストール... 3 1. プログラムの 入 手 とインストール... 3 2. ChattyBookの 動 新 しいマルチメディアDAISY EPUB3 プレイヤー ChattyBooks 説 明 書 認 定 NPO 法 人 サイエンス アクセシビリティ ネット 2016/1/28 ~ 目 次 ~ 1. 概 要... 2 1. ChattyBooksとChattyBook... 2 2. ユーザーのニーズに 応 じたカスタマイズ 機 能... 2 2. 動 作 環 境 インストール... 3 1. プログラムの

More information

DVIOUT-ind

DVIOUT-ind HCP Viewer(Ver 1.2.0) User s Manual 杉 浦 学 gackt@crew.sfc.keio.ac.jp 慶 應 義 塾 大 学 大 岩 研 究 室 (CreW Project) 2004.04.14 目 次 1 準 備 編 2 1.1 実 行 環 境......................................... 2 1.1.1 ハードウェアと OS

More information

ファイル 管 理 ツール デザイン 設 定 >> ファイル 管 理 でアップロードされているファイルを 管 理 できます この 画 面 ではファイルの 確 認 / 移 動 / 削 除 が 可 能 です ファイルのアップロードはできません 2

ファイル 管 理 ツール デザイン 設 定 >> ファイル 管 理 でアップロードされているファイルを 管 理 できます この 画 面 ではファイルの 確 認 / 移 動 / 削 除 が 可 能 です ファイルのアップロードはできません 2 レンタルショッピングカートマニュアル Vol.2 ~ デザイン 設 定 編 ~ ファイル 管 理 ツール デザイン 設 定 >> ファイル 管 理 でアップロードされているファイルを 管 理 できます この 画 面 ではファイルの 確 認 / 移 動 / 削 除 が 可 能 です ファイルのアップロードはできません 2 ファイル 管 理 ファイルのアップロード/ダウンロード デザイン 設 定 >>

More information

新 規 就 農 支 援 Webサイト 制 作 業 務 委 託 公 募 型 プロポーザル 仕 様 書 1 業 務 の 名 称 新 規 就 農 支 援 Webサイト 制 作 業 務 委 託 2 業 務 の 目 的 福 井 県 若 狭 町 における 就 農 の 魅 力 や 就 農 支 援 を 広 くPRし

新 規 就 農 支 援 Webサイト 制 作 業 務 委 託 公 募 型 プロポーザル 仕 様 書 1 業 務 の 名 称 新 規 就 農 支 援 Webサイト 制 作 業 務 委 託 2 業 務 の 目 的 福 井 県 若 狭 町 における 就 農 の 魅 力 や 就 農 支 援 を 広 くPRし 平 成 27 年 度 次 世 代 就 農 リーダー 育 成 事 業 新 規 就 農 支 援 Webサイト 制 作 業 務 委 託 公 募 型 プロポーザル 仕 様 書 平 成 27 年 11 月 福 井 県 若 狭 町 1 新 規 就 農 支 援 Webサイト 制 作 業 務 委 託 公 募 型 プロポーザル 仕 様 書 1 業 務 の 名 称 新 規 就 農 支 援 Webサイト 制 作 業 務

More information

目 次. 電 子 入 札 サービスの 環 境 設 定. クライアント 環 境 の 確 認.2 ICカード 及 びICカードリーダの 準 備 4.3 ソフトウェアのインストール 5.4 環 境 設 定 (Javaポリシー) 5 2. 利 用 者 登 録 2. 前 提 条 件 6 2.2 ICカードの

目 次. 電 子 入 札 サービスの 環 境 設 定. クライアント 環 境 の 確 認.2 ICカード 及 びICカードリーダの 準 備 4.3 ソフトウェアのインストール 5.4 環 境 設 定 (Javaポリシー) 5 2. 利 用 者 登 録 2. 前 提 条 件 6 2.2 ICカードの 電 子 入 札 サービス 操 作 概 要 マニュアル 受 注 者 用 ( 工 事 /コンサル) 導 入 編 平 成 26 年 7 月 仙 台 市 目 次. 電 子 入 札 サービスの 環 境 設 定. クライアント 環 境 の 確 認.2 ICカード 及 びICカードリーダの 準 備 4.3 ソフトウェアのインストール 5.4 環 境 設 定 (Javaポリシー) 5 2. 利 用 者 登 録 2.

More information

KnowledgeDeliver

KnowledgeDeliver 受 講 者 マニュアル 受 講 者 マニュアル 目 次 1. 本 書 について... 4 2. 映 像 学 習 システムで 学 習 する... 5 2-1 ログインする... 5 2-2 パスワードを 変 更 する... 6 2-3 一 般 的 なクラスの 仕 組 み... 7 2-3-1 教 材 検 索 の 使 い 方... 10 中 学 講 座 向 け 動 画 コードの 使 い 方... 10

More information

ITF Finder ヘルプ

ITF Finder ヘルプ もくじ 1.はじめに 1-1.ITF Finder について 1-2. 動 作 環 境 2.ITF Finder の 起 動 と 終 了 2-1.ITF Finder を 起 動 する 2-2.ITF Finder を 終 了 する 3.ITF Finder の 画 面 概 要 4.ITFファイルを 閲 覧 する 5.ITFファイルを 印 刷 する 6.ITFファイルをメールに 添 付 する 7.NETセキュリティのセキュリティ

More information

1 本 書 の 目 的 及 び 用 語 1.1 本 書 は Tap Style Cloud 利 用 約 款 ( 以 下 本 利 用 約 款 という )に 規 定 される サービスの 詳 細 を 定 めるものです なお 本 書 に 使 用 される 用 語 は 以 下 の 1.1 用 語 集 での 記

1 本 書 の 目 的 及 び 用 語 1.1 本 書 は Tap Style Cloud 利 用 約 款 ( 以 下 本 利 用 約 款 という )に 規 定 される サービスの 詳 細 を 定 めるものです なお 本 書 に 使 用 される 用 語 は 以 下 の 1.1 用 語 集 での 記 Tap Style Cloud サービス 仕 様 書 Ver2.0.0 大 日 本 印 刷 株 式 会 社 1 本 書 の 目 的 及 び 用 語 1.1 本 書 は Tap Style Cloud 利 用 約 款 ( 以 下 本 利 用 約 款 という )に 規 定 される サービスの 詳 細 を 定 めるものです なお 本 書 に 使 用 される 用 語 は 以 下 の 1.1 用 語 集 での

More information

サーバセキュリティサービス 導入手順書 Deep Security 9.5SP1 (Linux) プロキシ非経由編

サーバセキュリティサービス 導入手順書 Deep Security 9.5SP1 (Linux) プロキシ非経由編 サーバセキュリティサービス 導 入 手 順 書 Deep Security 9.5SP1 (Linux) プロキシ 非 経 由 編 NEC 第 2 版 2016/01/22 本 資 料 に 関 して 本 資 料 はサーバセキュリティサービス with Trend Micro Deep Security をご 利 用 中 のお 客 様 向 けの 資 料 になります Linux かつ プロキシを 利 用

More information

はじめに 本 説 明 書 は Web Caster 600MSにおいて Universal Plug&Play(UPnP)を 利 用 するための 設 定 方 法 につ いて 説 明 したものです Web Caster 600MS 本 体 に 添 付 されている 取 扱 説 明 書 とあわせてお 読

はじめに 本 説 明 書 は Web Caster 600MSにおいて Universal Plug&Play(UPnP)を 利 用 するための 設 定 方 法 につ いて 説 明 したものです Web Caster 600MS 本 体 に 添 付 されている 取 扱 説 明 書 とあわせてお 読 Web Caster 600MS Universal Plug & Play(UPnP UPnP) 使 用 説 明 書 はじめに 本 説 明 書 は Web Caster 600MSにおいて Universal Plug&Play(UPnP)を 利 用 するための 設 定 方 法 につ いて 説 明 したものです Web Caster 600MS 本 体 に 添 付 されている 取 扱 説 明 書

More information

2 2-1 HTMLの 構 造 等 公 開 URLが 静 的 なHTMLであること 判 読 不 可 能 な 文 字 を 含 むものや 文 字 数 が 多 すぎるURL(いわゆる 動 的 なHTML)は 原 則 として 不 可 とする 2-2 任 意 なURLが 使 用 でき コンテンツ 作 成 時

2 2-1 HTMLの 構 造 等 公 開 URLが 静 的 なHTMLであること 判 読 不 可 能 な 文 字 を 含 むものや 文 字 数 が 多 すぎるURL(いわゆる 動 的 なHTML)は 原 則 として 不 可 とする 2-2 任 意 なURLが 使 用 でき コンテンツ 作 成 時 1 1-1 サイト 全 般 デザイン 等 サイト 全 体 が 標 準 化 統 一 化 されたページデザインとすること ただし サイトで 異 なるデザインで 作 成 表 示 することができること 1-2 ヘッダー フッターは 原 則 すべてのページで 統 一 したデザインとすること 1-3 ロゴ イラスト バナーなどサイトに 応 じたデザインで 作 成 すること 1-4 スマートフォンやタブレット 端

More information

たよれーる どこでもキャビネット ご利用の手引き(Windows版アプリ)

たよれーる どこでもキャビネット ご利用の手引き(Windows版アプリ) Windows 版 アプリ 操 作 マニュアル 2016 年 7 月 版 目 次 目 次 サービス 内 容... 2 どこでもキャビネットとは... 2 Windows 版 アプリの 概 要... 2 お 問 い 合 わせ 窓 口... 2 インストール/アンインストール... 3 インストールする... 3 アカウントを 設 定 する... 6 アンインストールする... 8 基 本 操 作...

More information

安否確認サービスユーザーマニュアル

安否確認サービスユーザーマニュアル ユーザーマニュアル Ver.6.6.1 目 次 1 章 はじめに... 1 1.1 本 書 の 利 用 について... 1 1.2 ユーザーの 役 割 別 名 称 について... 1 1.3 ユーザーが 利 用 できる 機 能 について... 1 1.4 WEB ブラウザーについて... 2 1.4.1 Internet Explorer のセキュリティ 設 定 について... 2 1.5 携 帯

More information

IBM SPSS Statistics for Linux のインストール手順 (ネットワーク ライセンス)

IBM SPSS Statistics for Linux のインストール手順 (ネットワーク ライセンス) IBM SPSS Statistics for Linux のイ ンストール 手 順 (ネットワーク ライ センス) 以 下 に 示 すのは ネットワーク ライセンス を 使 用 したIBM SPSS Statistics バー ジョン 21 のインストール 手 順 です この 文 書 は デスクトップ コンピュータに SPSS Statistics をインストールするエンド ユーザーが 対 象 です

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル( 標 準 MySQL+ 独 自 SSL ) 作 成 :2014 年 2 月 Ver.1.1 注 意 事 項 EC-CUBEは 株 式 会 社 ロックオンの 提 供 するソフトウェアです ここでは 株 式 会 社 ロックオンから 提 供 されているEC-CUBEバージョン2.13 のパッケージをご 利 用 される

More information

<4D6963726F736F667420506F776572506F696E74202D208CDA8B718AC7979D5F8EE688B590E096BE8F912E70707478>

<4D6963726F736F667420506F776572506F696E74202D208CDA8B718AC7979D5F8EE688B590E096BE8F912E70707478> Ver 1.00 用 目 次 製 品 の 導 入 P.4 製 品 概 要 P.5 試 用 版 の 制 限 ライセンスの 購 入 動 作 環 境 P.6 ファイルの 配 置 起 動 方 法 P.7 ログイン 画 面 ログイン 方 法 P.8 ライセンス 登 録 方 法 P.9 メインメニュー 顧 客 管 理 P.11 [ 顧 客 管 理 ] 顧 客 検 索 CSV 出 力 メール 一 斉 送 信 新

More information

日 々 増 大 する 多 量 なデータを 持 ち 広 告 宣 伝 調 査 などに 活 発 に 利 用 しなければならない 状 況 下 で 海 外 支 店 印 刷 会 社 広 告 代 理 店 などに 向 けた 効 率 的 なデータ 発 信 を 行 うためのデータマスターとして 活 用 できるプランです

日 々 増 大 する 多 量 なデータを 持 ち 広 告 宣 伝 調 査 などに 活 発 に 利 用 しなければならない 状 況 下 で 海 外 支 店 印 刷 会 社 広 告 代 理 店 などに 向 けた 効 率 的 なデータ 発 信 を 行 うためのデータマスターとして 活 用 できるプランです デジタルデータの 管 理 共 有 活 用 をトータルにカバー SyncaDrive(シンカドライブ)は 画 像 やデータの 保 存 ~ 管 理 ~ 活 用 までをオンラインで 実 現 する プロのためのビジネスソリューションサービス デジタルデータに 関 するさまざまな 課 題 を 一 気 に 解 決 します 用 途 に 合 わせて 選 べる 3つのパッケージプラン 大 量 のデータをストックし カンタンに

More information

スライド 1

スライド 1 電 子 調 査 票 (PDF ファイル)を 直 接 送 信 ( 提 出 )いただく 方 法 工 業 統 計 調 査 政 府 統 計 オンライン 調 査 システム 操 作 マニュアル - Ver.1.0 平 成 24 年 経 済 産 業 省 大 臣 官 房 調 査 統 計 グループ - お 願 い - 本 書 とログイン 情 報 は 厳 重 に 保 管 してくださ い ご 担 当 者 が 代 わられても

More information

Acrobat早分かりガイド

Acrobat早分かりガイド Adobe PDF を 加 工 編 集 する PDF を 再 利 用 する PDF ファイルの Word 文 書 書 き 出 し [ 名 前 を 付 けて 保 存 ] ダイアログが 開 くので ファイルの 書 き 出 し 先 を 指 定 し [ 保 存 ] ボタンをクリックします Acrobat を 使 用 すると Adobe PDF から Word の フォーマットに 書 き 出 してファイルを

More information

ESET NOD32アンチウイルス V4.0 リリースノート

ESET NOD32アンチウイルス V4.0 リリースノート ====================================================================== ESET NOD32 アンチウイルス V4.0 リリースノート キヤノンITソリューションズ 株 式 会 社 ====================================================================== はじめに

More information

機 能 概 要 概 要 平 成 24 年 度 シームレスな 地 域 連 携 医 療 の 実 現 実 証 事 業 に 対 応 するため 地 域 連 携 システム( 能 登 北 部 版 )を 構 築 する 機 能 < 機 能 追 加 変 更 一 覧 > 1. 画 像 連 携 機 能 院 内 で 撮 影

機 能 概 要 概 要 平 成 24 年 度 シームレスな 地 域 連 携 医 療 の 実 現 実 証 事 業 に 対 応 するため 地 域 連 携 システム( 能 登 北 部 版 )を 構 築 する 機 能 < 機 能 追 加 変 更 一 覧 > 1. 画 像 連 携 機 能 院 内 で 撮 影 厚 生 労 働 省 シームレスな 健 康 情 報 活 用 基 盤 実 証 事 業 地 域 連 携 システム システム 仕 様 書 1 機 能 概 要 概 要 平 成 24 年 度 シームレスな 地 域 連 携 医 療 の 実 現 実 証 事 業 に 対 応 するため 地 域 連 携 システム( 能 登 北 部 版 )を 構 築 する 機 能 < 機 能 追 加 変 更 一 覧 > 1. 画 像 連

More information

Microsoft Word - 学生用Office365の利用について(ver1.0版 160324) .doc

Microsoft Word - 学生用Office365の利用について(ver1.0版 160324) .doc 山 梨 学 院 メールシステム Office365 利 用 マニュアル 2016 年 3 月 版 (Ver1.0) 学 校 法 人 山 梨 学 院 このマニュアルは 本 学 の Office365 の 利 用 について 利 用 方 法 や 設 定 方 法 をまとめたものです 利 用 に 際 し あらかじめ ご 一 読 いただき よく 理 解 した 上 でご 利 用 いただくようお 願 いいたします

More information

学校ホームページ管理ツール導入委託提案要求仕様書

学校ホームページ管理ツール導入委託提案要求仕様書 ... 1... 1... 1... 1 CMS... 1... 1... 2 PC... 2 CMS... 3... 3... 3... 4... 5... 6... 6... 6... 7... 7... 8... 8... 8... 9... 9... 9... 11... 11... 12... 13... 13... 14... 14... 14... 15... 15... 15...

More information

目 次. 電 子 入 札 サービスの 環 境 設 定. クライアント 環 境 の 確 認.2 ICカード 及 びICカードリーダの 準 備 4.3 ソフトウェアのインストール 5.4 環 境 設 定 (Javaポリシー) 5 2. 利 用 者 登 録 2. 前 提 条 件 6 2.2 ICカードの

目 次. 電 子 入 札 サービスの 環 境 設 定. クライアント 環 境 の 確 認.2 ICカード 及 びICカードリーダの 準 備 4.3 ソフトウェアのインストール 5.4 環 境 設 定 (Javaポリシー) 5 2. 利 用 者 登 録 2. 前 提 条 件 6 2.2 ICカードの 電 子 入 札 サービス 操 作 概 要 マニュアル ( 工 事 /コンサル) 導 入 編 平 成 27 年 6 月 目 次. 電 子 入 札 サービスの 環 境 設 定. クライアント 環 境 の 確 認.2 ICカード 及 びICカードリーダの 準 備 4.3 ソフトウェアのインストール 5.4 環 境 設 定 (Javaポリシー) 5 2. 利 用 者 登 録 2. 前 提 条 件 6 2.2

More information

別 紙 釧 路 公 立 大 学 ホームページリニューアル 業 務 CMS 要 件 一 覧 NO ( 大 分 類 ) NO ( 中 分 類 ) NO ( 小 分 類 ) 3 静 的 HTML 作 成 4 HTMLソース 直 接 編 集 5 CSSソース 直 接 編 集 6 画 像 掲 載 7 アクセシ

別 紙 釧 路 公 立 大 学 ホームページリニューアル 業 務 CMS 要 件 一 覧 NO ( 大 分 類 ) NO ( 中 分 類 ) NO ( 小 分 類 ) 3 静 的 HTML 作 成 4 HTMLソース 直 接 編 集 5 CSSソース 直 接 編 集 6 画 像 掲 載 7 アクセシ 別 紙 釧 路 公 立 大 学 ホームページリニューアル 業 務 CMS 要 件 一 覧 NO ( 大 分 類 ) NO ( 中 分 類 ) NO ( 小 分 類 ) 説 明 利 用 者 組 織 管 理 パスワード 管 理 登 録 修 正 削 除 パスワード 期 限 管 理 組 織 名 組 織 ID 組 織 パスワードを 登 録 修 正 削 除 する 管 理 者 自 身 がパスワードの 設 定 変

More information

CEAS/Sakai 困ったときのヘルプ集20150401

CEAS/Sakai 困ったときのヘルプ集20150401 CEAS/Sakai 連 携 システム 困 ったときのヘルプ 集 (version 1.1) 2015.4.1. 本 書 では 問 い 合 わせ 口 に 寄 せられる 問 い 合 わせの 内 頻 度 の 高 い 物 を 中 心 にリスト アップし 主 な 対 処 法 をまとめて 掲 載 しています エラー 画 面 が 表 示 されたり 問 題 が 発 生 した 際 に 参 考 にしてください なお

More information

教 務 Webシステム( 学 生 用 ) 操 作 説 明 書 目 次. 概 要 2 2. 注 意 事 項 3 2-. 利 用 全 般 の 注 意 事 項 3 2-2. 学 習 申 告 上 の 注 意 事 項 4 3. 日 程 について 5 4. ログイン 6 5. トップページ 7 6. 学 部 -

教 務 Webシステム( 学 生 用 ) 操 作 説 明 書 目 次. 概 要 2 2. 注 意 事 項 3 2-. 利 用 全 般 の 注 意 事 項 3 2-2. 学 習 申 告 上 の 注 意 事 項 4 3. 日 程 について 5 4. ログイン 6 5. トップページ 7 6. 学 部 - 教 務 Webシステム ( 学 生 用 ) 操 作 説 明 書 修 正 版 更 新 日 :204//07 表 紙 国 立 大 学 法 人 東 京 工 業 大 学 204 年 月 教 務 Webシステム( 学 生 用 ) 操 作 説 明 書 目 次. 概 要 2 2. 注 意 事 項 3 2-. 利 用 全 般 の 注 意 事 項 3 2-2. 学 習 申 告 上 の 注 意 事 項 4 3. 日 程

More information

WPM Web Server for AIX V3.2 FixPack 2

WPM Web Server for AIX V3.2 FixPack 2 WPM Web Server for AIX V3.2 FixPack 2 (V3.2.2.0) 2015/09 ============================================================================ 対 象 製 品 名 : WPM Web Server for AIX V3.2 前 提 条 件 : WPM Web Server for

More information

目 次 1 はじめに... 4 2 推 奨 環 境... 4 3 ご 注 意 ください... 5 4 パソコンでの 受 講 前 に... 6 4.1 パソコンのブラウザの 確 認... 6 パソコンの 省 電 力 設 定 の 確 認... 8 動 作 の 確 認... 10 5 パソコンでの 受 講

目 次 1 はじめに... 4 2 推 奨 環 境... 4 3 ご 注 意 ください... 5 4 パソコンでの 受 講 前 に... 6 4.1 パソコンのブラウザの 確 認... 6 パソコンの 省 電 力 設 定 の 確 認... 8 動 作 の 確 認... 10 5 パソコンでの 受 講 効 果 測 定 受 講 者 マニュアル 平 成 28 年 8 月 版 目 次 1 はじめに... 4 2 推 奨 環 境... 4 3 ご 注 意 ください... 5 4 パソコンでの 受 講 前 に... 6 4.1 パソコンのブラウザの 確 認... 6 パソコンの 省 電 力 設 定 の 確 認... 8 動 作 の 確 認... 10 5 パソコンでの 受 講 の 流 れ... 11 6 パソコンでの

More information

目 次 事 前 設 定 Internet Explorer の 設 定... 2 電 子 証 明 書 の 取 得 登 録 (パソコン 方 式 )... 7 電 子 証 明 書 の 更 新 (パソコン 方 式 )... 12 電 子 証 明 書 の 削 除 (パソコン 方 式 )... 17 電 子

目 次 事 前 設 定 Internet Explorer の 設 定... 2 電 子 証 明 書 の 取 得 登 録 (パソコン 方 式 )... 7 電 子 証 明 書 の 更 新 (パソコン 方 式 )... 12 電 子 証 明 書 の 削 除 (パソコン 方 式 )... 17 電 子 Ver.5.5 2016/7/11 Ver.5.5 目 次 事 前 設 定 Internet Explorer の 設 定... 2 電 子 証 明 書 の 取 得 登 録 (パソコン 方 式 )... 7 電 子 証 明 書 の 更 新 (パソコン 方 式 )... 12 電 子 証 明 書 の 削 除 (パソコン 方 式 )... 17 電 子 証 明 書 の 取 得 登 録 (IC カード 方

More information

biz-Stream v4 各種機能別動作環境一覧表

biz-Stream v4 各種機能別動作環境一覧表 biz-stream v4 各 種 機 能 別 動 作 環 境 一 覧 表 2016 年 3 月 ライブラリ および COMサーバ 1 4.0.0 4.1.0 4.1.1 4.1.3 0 Java 環 境 JDK/JRE 1.2.2 以 上 (JDK/JRE 1.4.2 以 上 推 奨 ) サウンド 機 能 を 利 用 する 場 合 はJDK/JRE 1.3.1 以 上 JDK/JRE 1.4.2

More information

はじめに をご 利 用 いただき 誠 に 有 難 うございます 本 ガイドは を 利 用 したサーバ 構 築 の 方 法 や Biz/PrintServer で 構 築 し たサーバからの 移 行 について 理 解 していただくことを 目 的 として 作 成 致 しました 本 製 品 の 導 入 に

はじめに をご 利 用 いただき 誠 に 有 難 うございます 本 ガイドは を 利 用 したサーバ 構 築 の 方 法 や Biz/PrintServer で 構 築 し たサーバからの 移 行 について 理 解 していただくことを 目 的 として 作 成 致 しました 本 製 品 の 導 入 に サーバ 構 築 ガイド Copyright (C) Open Stream,Inc. All Rights Reserved. はじめに をご 利 用 いただき 誠 に 有 難 うございます 本 ガイドは を 利 用 したサーバ 構 築 の 方 法 や Biz/PrintServer で 構 築 し たサーバからの 移 行 について 理 解 していただくことを 目 的 として 作 成 致 しました

More information

目 次 第 1 章 QlikViewの 基 礎 1.1 QlikView 概 要...1-1 1.1.1 ビジネスインテリジェンス(BI)とQlikView...1-1 1.1.2 QlikView Personal Edition...1-2 1.1.3 QlikViewのアプリケーション...1

目 次 第 1 章 QlikViewの 基 礎 1.1 QlikView 概 要...1-1 1.1.1 ビジネスインテリジェンス(BI)とQlikView...1-1 1.1.2 QlikView Personal Edition...1-2 1.1.3 QlikViewのアプリケーション...1 はじめに コース 概 要 と 目 的 本 コースはQlikViewをご 利 用 中 またはご 利 用 をご 検 討 中 のすべての 方 を 対 象 に QlikViewでのデータの 分 析 に ついてご 覧 いただくコースです システム 部 門 の 方 だけでなく QlikView Personal Editionを 個 人 でお 使 いの 方 や QlikViewのご 利 用 をご 検 討 中 の

More information

目 次 目 次... 2 1. 概 要... 4 1.1. 対 応 バージョン(2013/06/01 時 点 )... 5 1.2. 動 作 環 境 (2013/06/01 時 点 )... 5 1.3. 対 応 フォーマット... 5 1.4. 動 画 変 換... 5 1.5. MS Offic

目 次 目 次... 2 1. 概 要... 4 1.1. 対 応 バージョン(2013/06/01 時 点 )... 5 1.2. 動 作 環 境 (2013/06/01 時 点 )... 5 1.3. 対 応 フォーマット... 5 1.4. 動 画 変 換... 5 1.5. MS Offic 作 成 日 文 書 番 号 文 書 ver 2013/05/31 V2.0.0 作 成 部 署 / 作 成 者 検 討 者 文 書 管 理 者 3hands タイトル 文 書 種 類 ページ Media Library 操 作 マニュアル 説 明 書 1(55) Media Library Ver.1.2 ipad 操 作 マニュアル スリーハンズ 株 式 会 社 100-6103 東 京 都 千

More information

Microsoft Word - 学生向け取扱説明書1.0_簡易版_20121011.docx

Microsoft Word - 学生向け取扱説明書1.0_簡易版_20121011.docx 学 校 法 人 関 西 大 学 ODLE システム 運 用 編 学 生 向 け 取 扱 説 明 書 ( 簡 易 版 ) 平 成 24 年 10 月 11 日 1.0 版 改 訂 履 歴 版 数 章 番 号 区 分 改 訂 内 容 改 定 日 1.0 初 版 2012/10/11 目 次 1. ODECS システムと ODLE システムとの 違 い...... 1 2. 新 機 能 について.........

More information

Microsoft Word - 150410_e-Gov提出マニュアル(化審法3条).doc

Microsoft Word - 150410_e-Gov提出マニュアル(化審法3条).doc e-gov 電 子 申 請 システムを 使 用 した 少 量 新 規 化 学 物 質 製 造 輸 入 申 出 提 出 マニュアル 平 成 27 年 4 月 経 済 産 業 省 製 造 産 業 局 化 学 物 質 管 理 課 化 学 物 質 安 全 室 e-gov 電 子 申 請 システムを 使 用 した 少 量 新 規 化 学 物 質 製 造 輸 入 申 出 の 提 出 マニュアル 目 次 提 出

More information

テキスト 中 の 表 記 について 画 面 中 に 表 示 される 文 字 の 表 記 ウィンドウ ボタン メニューなど 画 面 に 表 示 される 文 字 は[]で 囲 んで 表 記 しています 画 面 上 に 表 示 される 選 択 肢 や 入 力 する 文 字 については で 囲 んで 表 記

テキスト 中 の 表 記 について 画 面 中 に 表 示 される 文 字 の 表 記 ウィンドウ ボタン メニューなど 画 面 に 表 示 される 文 字 は[]で 囲 んで 表 記 しています 画 面 上 に 表 示 される 選 択 肢 や 入 力 する 文 字 については で 囲 んで 表 記 はじめに コース 概 要 と 目 的 本 コースはQlikViewの 開 発 者 の 方 を 対 象 に QlikViewの 製 品 概 要 と 基 本 的 なアプリケーション 開 発 についてご 覧 頂 くコースです QlikViewの 製 品 概 要 データベースからデータを 取 り 込 む 方 法 ユーザーインターフェース( 画 面 )の 作 成 方 法 に ついて 身 に 付 けることを 目

More information

2 シ ス テ ム が 2 4 時 間 3 6 5 日 安 定 的 に 稼 働 す る 機 材 と 設 置 環 境 を 整 え る こ と ( 2 ) ソ フ ト ウ ェ ア 1 既 に 導 入 実 績 の あ る CMS で あ る こ と 2 Windows7(Windows IE1 1 ) で

2 シ ス テ ム が 2 4 時 間 3 6 5 日 安 定 的 に 稼 働 す る 機 材 と 設 置 環 境 を 整 え る こ と ( 2 ) ソ フ ト ウ ェ ア 1 既 に 導 入 実 績 の あ る CMS で あ る こ と 2 Windows7(Windows IE1 1 ) で 結 の 故 郷 匠 の 技 体 験 観 光 事 業 ウ ェ ブ サ イ ト 構 築 保 守 管 理 業 務 仕 様 書 1. 業 務 名 結 の 故 郷 匠 の 技 体 験 観 光 事 業 ウ ェ ブ サ イ ト 構 築 保 守 管 理 業 務 2. 目 的 こ の 業 務 は 越 前 お お の 雇 用 創 造 推 進 協 議 会 ( 以 下 協 議 会 と い う )が 実 施 す る 実 践

More information

利用者

利用者 Regional SNS クラウド 環 境 への 導 入 ガイド 2012 年 2 月 29 日 株 式 会 社 ネットワーク 応 用 通 信 研 究 所 目 次 1. はじめに... 1 2. 導 入 環 境 及 び 前 提 条 件... 1 3. 導 入 準 備... 1 3.1. Windows 環 境 の 場 合... 1 3.2. Linux 環 境 の 場 合... 1 3.3. MOGOK

More information

(Microsoft Word - AADS\212\307\227\235\203T\201[\203o\201[\211^\227p\203}\203j\203\205\203A\203\213v1.3.docx)

(Microsoft Word - AADS\212\307\227\235\203T\201[\203o\201[\211^\227p\203}\203j\203\205\203A\203\213v1.3.docx) Ahkun AutoDaily Server AADS 管 理 サーバー 運 マニュアル 株 式 会 社 アークン 目 次 1. Ahkun AutoDaily Server の 特 徴... 2 2. AutoDaily Server の 設 置... 2 3. クライアント PC へ AutoDaily をインストールする... 2 4. AutoDaily Manager( 管 理 コンソール)へのログイン...

More information

目 次 1. 概 要...1 2. 作 成 できる 帳 票...1 3. 年 調 法 定 調 書 の 達 人 の 起 動 方 法...2 3-1. 最 新 年 度 版 の 起 動... 2 3-2. 過 年 度 版 の 起 動... 2 4. 関 与 先 データ 作 成 方 法...3 4-1. 前

目 次 1. 概 要...1 2. 作 成 できる 帳 票...1 3. 年 調 法 定 調 書 の 達 人 の 起 動 方 法...2 3-1. 最 新 年 度 版 の 起 動... 2 3-2. 過 年 度 版 の 起 動... 2 4. 関 与 先 データ 作 成 方 法...3 4-1. 前 達 人 シ ス テ ム 年 調 法 定 調 書 の 達 人 平 成 27 年 分 版 東 京 地 方 税 理 士 会 データ 通 信 協 同 組 合 2015/12/08 目 次 1. 概 要...1 2. 作 成 できる 帳 票...1 3. 年 調 法 定 調 書 の 達 人 の 起 動 方 法...2 3-1. 最 新 年 度 版 の 起 動... 2 3-2. 過 年 度 版 の 起 動...

More information

事 前 準 備 WEB 出 願 を 行 うには 以 下 のものが 必 要 となります パソコン 下 表 を 確 認 し WEB 出 願 推 奨 環 境 を 整 えてください WEB 出 願 ガイドページでは お 使 いのパソコン 環 境 を 確 認 することができます 携 帯 端 末 からの 出 願

事 前 準 備 WEB 出 願 を 行 うには 以 下 のものが 必 要 となります パソコン 下 表 を 確 認 し WEB 出 願 推 奨 環 境 を 整 えてください WEB 出 願 ガイドページでは お 使 いのパソコン 環 境 を 確 認 することができます 携 帯 端 末 からの 出 願 3. 出 願 WEB 出 願 の 流 れ 出 願 登 録 を 行 う 環 境 (パソコ ン メールアドレスなど)や 出 願 書 類 郵 送 時 に 必 要 となる 書 類 封 筒 などを 用 意 します 3-2 ~ 事 前 準 備 出 願 登 録 出 願 する 入 試 区 分 の 選 択 志 願 者 情 報 の 入 力 を 行 います ま た 入 学 検 定 料 のお 支 払 い 方 法 を 選 択

More information

fusion_place は 株 式 会 社 フュージョンズの 商 標 です Oracle, Java は 米 国 Oracle Corporation の 米 国 およびその 他 の 国 における 商 標 または 登 録 商 標 です Microsoft, Windows, Windows Vis

fusion_place は 株 式 会 社 フュージョンズの 商 標 です Oracle, Java は 米 国 Oracle Corporation の 米 国 およびその 他 の 国 における 商 標 または 登 録 商 標 です Microsoft, Windows, Windows Vis fusion_place インストールマニュアル スタンドアロン 編 対 応 製 品 バージョン:3.0 第 3.0 版 :2014 年 10 月 15 日 Copyright 2014- fusions corporation fusion_place は 株 式 会 社 フュージョンズの 商 標 です Oracle, Java は 米 国 Oracle Corporation の 米 国 およびその

More information

parts_表紙とはじめにと目次

parts_表紙とはじめにと目次 サイボウズ Office on cybozu.com パッケージ 版 からのデータ 移 行 手 順 (2013 年 6 月 3 日 版 / 移 行 ツールバージョン 1.0.3) サイボウズ 株 式 会 社 目 次 1 章 移 行 前 の 準 備... 3 1.1 サイボウズ Office on cybozu.com の 動 作 環 境 を 確 認 する... 3 1.2 移 行 ツールの 動 作

More information

一括インストールの実行

一括インストールの実行 CHAPTER 3 この 章 では 複 数 のデスクトップに 一 括 インストールを 実 行 する 方 法 について 説 明 します ここでは 次 の 項 目 を 取 り 上 げます 概 要 (P.3-1) 応 答 ファイルの 作 成 (P.3-2) SCCM を 使 用 した (P.3-4) プラグインのコンフィギュレーション ファイルの 変 更 (P.3-17) 概 要 ユーザ グループ 向 けに

More information

ファイルサーバー(NFS) 構築ガイド

ファイルサーバー(NFS) 構築ガイド CLUSTERPRO D for Linux ファイルサーバー(NFS) 構 築 ガイド 改 版 履 歴 版 数 改 版 日 付 内 容 1 2016/04/20 新 規 作 成 i 目 次 第 1 章 はじめに... 1 1.1 対 象 読 者 と 目 的...2 1.2 適 用 範 囲...2 1.3 表 記 規 則...2 1.4 免 責 事 項...2 1.5 商 標 情 報...3 1.6

More information

eコミマップ印刷アプリケーション操作マニュアル 1_7版

eコミマップ印刷アプリケーション操作マニュアル 1_7版 e コミマップ 印 刷 アプリケーション 操 作 マニュアル 第 1.7 版 2015.10.28 防 災 科 学 技 術 研 究 所 1 目 次 1. 印 刷 アプリケーションとは... 4 2. 印 刷 アプリケーションの 動 作 環 境... 4 3. サポートしている e コミマップのバージョン... 4 4. サポートしている 背 景 地 図... 5 5. 印 刷 アプリケーションのインストール...

More information

あいち電子調達共同システム

あいち電子調達共同システム (2) 提 出 依 頼 書 の 確 認 提 出 依 頼 書 が 発 行 されると 利 用 者 登 録 で 指 定 したメールアドレスへお 知 らせが 送 信 されま すので 提 出 依 頼 書 を 確 認 します 調 達 案 件 一 覧 画 面 で 案 件 情 報 を 確 認 し 提 出 依 頼 書 を 表 示 します 操 作 1 調 達 案 件 検 索 画 面 で 検 索 条 件 を 入 力 し

More information

ツール 開 発 の 目 的 2 1 PostgreSQL / PostGIS データをシームレスに 可 視 化 したい 2 R との 連 携 作 業 のプラットフォームを 作 りたい

ツール 開 発 の 目 的 2 1 PostgreSQL / PostGIS データをシームレスに 可 視 化 したい 2 R との 連 携 作 業 のプラットフォームを 作 りたい 2014/12/5 PostgreSQL カンファレンス 2014 R と Qt による PostgreSQL / PostGIS データの 可 視 化 ツール リンク 元 http://kenpg2.seesaa.net/article/409350942.html ツール 開 発 の 目 的 2 1 PostgreSQL / PostGIS データをシームレスに 可 視 化 したい 2 R との

More information

目 次 1.はじめに 1 1.クライアント 環 境 1 2. 初 期 設 定 1 1.システムログイン 1 3.プロジェクト データの 管 理 4 1.プロジェクトの 新 規 作 成 4 2.ファイルのアップロード 5 3.ファイルのダウンロード 6 4.タスク 8 1.タスクの 設 定 8 2.オ

目 次 1.はじめに 1 1.クライアント 環 境 1 2. 初 期 設 定 1 1.システムログイン 1 3.プロジェクト データの 管 理 4 1.プロジェクトの 新 規 作 成 4 2.ファイルのアップロード 5 3.ファイルのダウンロード 6 4.タスク 8 1.タスクの 設 定 8 2.オ InSite Creative Workflow Version 4.1 操 作 ガイド 目 次 1.はじめに 1 1.クライアント 環 境 1 2. 初 期 設 定 1 1.システムログイン 1 3.プロジェクト データの 管 理 4 1.プロジェクトの 新 規 作 成 4 2.ファイルのアップロード 5 3.ファイルのダウンロード 6 4.タスク 8 1.タスクの 設 定 8 2.オートタスクの

More information

ファイル格納通知ツール 取扱説明書

ファイル格納通知ツール 取扱説明書 ファイル 格 納 通 知 ツール 取 扱 説 明 書 本 ツールは ネットワーク 上 の MFP から SEND 機 能 を 使 って 送 信 したファイルをクライアン ト PC が 受 信 格 納 したときに PC のディスプレイ 上 に 通 知 するツールです ファイルが 送 信 されたことを 音 やバルーン 表 示 などでお 知 らせするので 他 の 業 務 に 専 念 するこ とができます

More information

甲南大学 Office365の使い方

甲南大学 Office365の使い方 2015/10/03 情 報 システム 室 (Version 1.2) 甲 南 大 学 のパソコンには 環 境 復 元 機 能 が 入 っています パソコン 教 室 などで 行 っ た 設 定 は 一 度 ログオフすると 元 に 戻 ります ご 注 意 ください このマニュアルは Windows 7/Internet Explorer の 環 境 を 基 に 作 成 しています OS やブラウザが

More information

目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7.

目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7. Web メール 操 作 説 明 書 京 都 与 謝 野 町 有 線 テレビ 0 目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7. メール 一 覧 画 面...

More information

Ver.1.6.3.0 (2014 年 6 月 16 日 リリース) Windows 8.1 に 対 応 しました デスクトップアプリケーションとして 動 作 します 64 ビット 版 では WOW64 (Windows On Windows 64) として 動 作 します LabelianⅡをイン

Ver.1.6.3.0 (2014 年 6 月 16 日 リリース) Windows 8.1 に 対 応 しました デスクトップアプリケーションとして 動 作 します 64 ビット 版 では WOW64 (Windows On Windows 64) として 動 作 します LabelianⅡをイン LabelianⅡ バージョン 履 歴 Ver.1.7.0.0 (2015 年 2 月 6 日 リリース) 発 行 端 末 モードに 対 応 しました タブレットで 利 用 時 ひらがなや 漢 字 が 含 まれるデータを 編 集 して 発 行 する 運 用 には 適 しません 画 面 解 像 度 はタスクバーを 除 いたエリアが 1024x768 以 上 必 要 です ( 解 像 度 に 満 たない

More information

高知大学 学生用

高知大学 学生用 高 知 大 学 学 生 用 moodle2 moodle(ムードル)は Web を 通 じて 利 用 する 授 業 サポートのシステムです 学 生 ユーザは 参 加 している 科 目 (コース)の 授 業 コンテンツを 使 って 受 講 ( 活 動 ) することができます ご 利 用 の 推 奨 ブラウザ Internet Explorer 8 以 上 Firefox 4 以 上 Google Chrome

More information

CSS-Net インストール要領書

CSS-Net インストール要領書 2016/05/11 第 2 版 CSS-Net CSS-Net インストール 要 領 書 この 冊 子 は CSS-Net のインストール 方 法 を 分 かり 易 く 説 明 してあります インストール 方 法 が 分 からないときはご 覧 になって 下 さい 目 次 1. はじめに 2. CSS-Net の 動 作 環 境 3. インストーラのダウンロード 4. インストール 手 順 5. CSS-Net

More information

教員用

教員用 高 知 大 学 教 員 用 moodle2 1.1.moodle を 利 用 するためには 1.2.コースの 保 全 1.3.moodle へのログイン 1.4.ログアウト 2.1.コースの 説 明 2.2.ブロック 一 覧 2.3.HTML テキストエディタを 利 用 する 2.4.アイコン 編 集 アイコンの 説 明 3.1.ユーザを 登 録 する 3.2.ユーザを 削 除 する 4.1.ファイルのアップロード

More information

はじめに 本 資 料 のご 対 象 者 SkyVisualEditorの 担 当 になったがどこから 手 をつけて 良 いかわからないご 担 当 者 様 SkyVisualEditorをこれから 検 討 してみたいご 担 当 者 様 向 けの 基 礎 的 な 内 容 です 本 セミナーのゴール Sk

はじめに 本 資 料 のご 対 象 者 SkyVisualEditorの 担 当 になったがどこから 手 をつけて 良 いかわからないご 担 当 者 様 SkyVisualEditorをこれから 検 討 してみたいご 担 当 者 様 向 けの 基 礎 的 な 内 容 です 本 セミナーのゴール Sk SkyVisualEditorスタートアップガイド 2015 Terrasky Co., Ltd. All Rights Reserved. はじめに 本 資 料 のご 対 象 者 SkyVisualEditorの 担 当 になったがどこから 手 をつけて 良 いかわからないご 担 当 者 様 SkyVisualEditorをこれから 検 討 してみたいご 担 当 者 様 向 けの 基 礎 的 な

More information

京三製作所 御中

京三製作所 御中 セキュリティ 機 能 の 動 作 条 件 2014/12/16 intra-mart Accel Documents Secure Download Option / IM-PDFCoordinator for AccelPlatform のセキュリテ ィ 機 能 を 使 用 する 場 合 機 能 制 限 や 注 意 事 項 があります 必 ず 事 前 にこのファイルを 確 認 して 下 さい 提

More information

SciFinder (Web 版) エラーへの対処法

SciFinder (Web 版) エラーへの対処法 SciFinder (Web 版 ) のエラーへの 対 処 法 化 学 情 報 協 会 2012 年 4 月 改 訂 ケース1:SciFinder (Web 版 ) にアクセスできない 症 状 : ブラウザの お 気 に 入 り から SciFinder (Web 版 ) にアクセ スしている 場 合, 左 記 のエラ ー (HTTP 500 内 部 サーバー エラー)によりアクセスできな い. 解

More information

目 次 1. はじめに... 4 2. 本 手 引 きの 利 用 上 の 注 意... 5 2-1. 本 手 引 きの 転 載 について... 5 2-2. ウェブサイト ソフトウェア 等 の 画 面 コピーについて... 5 2-3. 商 標 などの 利 用 に 関 する 表 示... 5 2-4

目 次 1. はじめに... 4 2. 本 手 引 きの 利 用 上 の 注 意... 5 2-1. 本 手 引 きの 転 載 について... 5 2-2. ウェブサイト ソフトウェア 等 の 画 面 コピーについて... 5 2-3. 商 標 などの 利 用 に 関 する 表 示... 5 2-4 インターネット 利 用 による 公 報 発 行 サイト 御 利 用 案 内 平 成 27 年 4 月 1 日 特 許 庁 1 目 次 1. はじめに... 4 2. 本 手 引 きの 利 用 上 の 注 意... 5 2-1. 本 手 引 きの 転 載 について... 5 2-2. ウェブサイト ソフトウェア 等 の 画 面 コピーについて... 5 2-3. 商 標 などの 利 用 に 関 する

More information

沖縄科学技術研究基盤整備機構

沖縄科学技術研究基盤整備機構 第 3 章 Microsoft Outlook 利 用 マニュアル ( 利 用 者 向 け)/Windows 版 第 1.2 版 作 成 日 :2011/10/21 株 式 会 社 オーシーシー. 更 新 履 歴 日 付 版 更 新 内 容 2011/05/31 1.0 初 版 の 作 成 2011/10/14 1.1 文 言 修 正 by 尾 崎 @OIST 2011/10/21 1.2 文 言

More information