Copper PDF 3.0 説明書

Size: px
Start display at page:

Download "Copper PDF 3.0 説明書 2015-6-21"

Transcription

1 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 ( 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 接 続 印 刷 サポート 目 次 ページ 参 照 プログラムインターフェース 9 Copper PDF 2.0 以 前 9 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) 4/5/6 21 Copper PDFサーバーの 起 動 停 止 Debian 22 Copper PDFサーバーの 起 動 停 止 その 他 の 環 境 ディレクトリ 構 成 24 アーカイブ 内 のディレクトリ 構 成 24 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フォント 49 埋 め 込 みフォント 50 CID Identity 50 iv

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

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

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

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

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

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

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

12 4.7.6 長 さの 単 位 CSSの 拡 張 機 能 名 前 空 間 ページカウンタ 全 角 数 字 と 漢 数 字 による 箇 条 書 き 番 号 禁 則 処 理 209 word-wrap[3.0.0] 210 -cssj-no-break-characters[3.0.6] 211 -cssj-break-characters[3.0.6] 圏 点 [3.0.4] 213 -cssj-text-emphasis-style 214 -cssj-text-emphasis-color 215 -cssj-text-emphasis 文 字 の 影 [3.0.8] 217 text-shadow 袋 文 字 [3.0.8] 218 -cssj-text-fill-color 219 -cssj-text-stroke-width 219 -cssj-text-stroke-color 219 -cssj-text-stroke 透 明 化 [3.0.6] 221 opacity 透 明 色 [3.0.8] 角 丸 境 界 [3.0.6] 223 border-top-left-radius 223 border-top-right-radius 224 border-bottom-left-radius 224 border-bottom-right-radius 224 border-radius 回 転 拡 大 変 形 [3.0.8] 226 -cssj-transform 226 -cssj-transform-origin ページ 処 理 機 能 ページのレイアウト ページの 大 きさの 制 約 と 切 り 落 とし パス 以 上 の 変 換 処 理 ページの 参 照 グレイスケール 印 刷 片 面 印 刷 と 両 面 印 刷 ページごとに 生 成 されるコンテンツ 改 ページ 制 御 用 語 の 定 義 強 制 改 ページ orphans [css]とwidows [css] 238 orphans [css] 238 widows [css] 239 orphans [css]とwidows [css]の 競 合 改 ページの 抑 制 241 内 部 の 改 ページ 抑 制 241 前 後 の 改 ページ 抑 制 自 動 改 ページ 242 通 常 のフローのブロック 243 xii

13 浮 動 ボックス テーブル 内 での 改 ページ 改 ページされない 場 所 page-break-xxxの 適 用 テーブル 行 内 部 (セル 内 部 )での 改 ページ デフォルトの 改 ページ 禁 止 WebFont 246 ルール 246 font-family 247 font-style 247 font-weight 247 unicode-range 248 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 改 段 と 改 ページ 265 自 動 的 な 改 段 と 改 ページ 265 強 制 的 な 改 段 と 改 ページ 資 料 集 入 出 力 プロパティ 一 覧 文 書 中 で 設 定 できないプロパティ 機 能 限 定 版 メッセージハンドラから 取 得 できる 情 報 Copper PDF 2.0 以 前 (CTIP 1.0) Copper PDF 2.1 以 降 (CTIP 2.0) 279 メッセージコードのフィルタリング[3.0.0] CSSプロパティのサポート 状 況 HTMLの 各 要 素 属 性 のサポート 状 況 拡 張 機 能 処 理 命 令 の 拡 張 CSSプロパティの 拡 張 291 CSSプロパティ 291 CSS 関 数 296 CSS 識 別 子 XMLの 拡 張 297 XML 要 素 297 XML 属 性 297 xiii

14 1.Copper PDF 入 門 Copper PDF 3.0 説 明 書 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クライアントを 利 用 できる 各 種 開 発 環 境 からも 容 易 に 利 用 することができます Copper PDFの 概 要

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

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

17 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 以 降 1.2 動 作 環 境 4

18 1.Copper PDF 入 門 Copper PDF 3.0 説 明 書 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 接 続 をする 場 合 ) 動 作 環 境

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

20 1.Copper PDF 入 門 Copper PDF 3.0 説 明 書 機 能 一 覧 入 力 データ 形 式 ドキュメント HTML/XHTML (173ページ) - HTML/XHTML 文 書 をレイアウトします XML (173ページ) - XML 文 書 をレイアウトします スタイルシート CSS 2.1 (200ページ) - HTML/XHTML/XML 文 書 をCSSでスタイル 付 けします XSLT (175ページ) - XML 文 書 をXSLTで 変 換 します メディアタイプの 設 定 (200ページ) - 印 刷 向 け 以 外 のスタイルシートを 適 用 します ユーザーのCSSスタイルシート (204ページ) ユーザーのXSLTスタイルシート (175ページ) WebFont(@font-face) (246ページ)[3.0.0] - ネットワーク 上 からTrueType フォント OTF を 読 み 込 めます 縦 書 き (250ページ)[3.0.0] - 縦 書 きレイアウトをサポートしています 段 組 み (260ページ)[3.0.0] - 多 段 組 をサポートしています ルビ (198ページ)[3.0.0] 禁 則 文 字 の 追 加 除 外 (209ページ)[3.0.6] 圏 点 (213ページ)[3.0.4] 文 字 の 影 (217ページ)[3.0.8] 袋 文 字 (218ページ)[3.0.8] 透 明 化 (221ページ)[3.0.6] 角 丸 境 界 (223ページ)[3.0.6] 回 転 拡 大 変 形 (226ページ)[3.0.8] ベクター 画 像 データ SVG (176ページ) - SVGを 直 接 PDF 等 のデータ 形 式 に 変 換 します[2.1.0] または 文 書 中 にSVG 形 式 の 絵 図 を 埋 め 込 みます ラスター(ビットマップ) 画 像 データ 画 像 を 直 接 PDF 等 のデータ 形 式 に 変 換 します[2.1.0] または 文 書 中 に 画 像 を 埋 め 込 みま す GIF/PNG (175ページ) JPEG (176ページ) - JPEGをそのままPDF 中 に 埋 め 込 むことができます 機 能 一 覧

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

22 1.Copper PDF 入 門 Copper PDF 3.0 説 明 書 埋 め 込 みフォント (43ページ) - 環 境 に 依 存 しないPDFを 出 力 するために TrueType, OpenType 等 のフォントを 埋 め 込 みます デフォルトのフォントの 設 定 (45ページ) フォント 幅 情 報 MSフォントの 使 用 (52ページ) HTTP 接 続 Copper PDFが 外 部 のサーバーからHTTP 接 続 で 文 書 を 取 得 する 機 能 です タイムアウトの 設 定 (168ページ) ヘッダ(Referer, User-Agent 等 )の 変 更 (166ページ) - 参 照 元 やUser-Agentを 偽 装 するこ とができます プロクシを 介 した 接 続 (166ページ) BASIC 認 証 /Digest 認 証 (165ページ) クッキー (167ページ) 印 刷 サポート 用 紙 サイズ 出 力 サイズの 設 定 (229ページ) ページの 拡 大 縮 小 変 形 (229ページ) トンボの 出 力 (229ページ) - 断 裁 して 製 本 するためのトンボを 表 示 します 欄 外 の 描 画 (231ページ) ページのマージン (229ページ) 片 面 印 刷 両 面 印 刷 の 切 り 替 え (232ページ) グレイスケール 変 換 (232ページ) - カラーの 文 書 をモノトーンに 変 換 します 目 次 ページ 参 照 2パス 以 上 の 処 理 (231ページ) - 目 次 やページ 参 照 のために 文 書 を 複 数 回 処 理 できま す 欄 外 のページ 番 号 見 出 し(233ページ) - 欄 外 にページ 番 号 や 見 出 しを 出 力 します 目 次 の 生 成 (194ページ) - HTMLの 見 出 し(H1~H6)から 目 次 を 生 成 します ページの 参 照 (232ページ) - 文 書 中 の 指 定 した 部 分 のページ 番 号 を 出 力 できます プログラムインターフェース Copper PDF 2.0 以 前 Java (73ページ) PHP (82ページ) Perl (78ページ) Ant (86ページ) 処 理 中 のページ 内 容 の 取 得 (64ページ) 機 能 一 覧

23 1.Copper PDF 入 門 処 理 状 況 の 取 得 (64ページ) Copper PDF 2.1 以 降 Java (JRuby, Jython) (93ページ) PHP (118ページ) Perl (111ページ).NET (C# / VB.NET) (124ページ) Ruby (134ページ) Python (140ページ) Ant (147ページ) 処 理 中 のページ 内 容 の 取 得 (ページ) 処 理 状 況 の 取 得 (ページ) サーバーからリソースを 要 求 (ページ) HTTP/REST (151ページ) (Apache 経 由 での 接 続 (40ページ) / Ruby (154ページ) / Python (156ページ) / C# (157ページ) / ASP.NET (C# / VB.NET) (159ページ) / 4th Dimension (161 ページ)) その 他 の 機 能 改 ページをせずに 文 書 を 出 力 する (231ページ) 解 像 度 (pxの 大 きさ)の 設 定 (205ページ) IE 互 換 モード (ページ) - InternetExplorerの 表 示 に 近 いレイアウトモードです 出 力 データサイズ 制 限 (169ページ) - DoS 攻 撃 対 策 等 のため 出 力 サイズを 制 限 できま す ページ 数 制 限 (169ページ) - DoS 攻 撃 対 策 等 のため 出 力 ページ 数 を 制 限 できます 実 行 経 過 情 報 取 得 (279ページ) - リアルタイムで 文 書 の 変 換 状 況 をアプリケーション が 取 得 できます 1.3 機 能 一 覧 10

24 1.Copper PDF 入 門 Copper PDF 3.0 説 明 書 とりあえず 使 ってみよう 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が 無 事 に 動 作 しました とりあえず 使 ってみよう

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

26 1.Copper PDF 入 門 Copper PDF 3.0 説 明 書 図 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 とりあえず 使 ってみよう

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

28 1.Copper PDF 入 門 Copper PDF 3.0 説 明 書 図 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 という 名 前 のファイルをダウンロードしてください とりあえず 使 ってみよう

29 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というファイルができれば 成 功 で す 1.4 とりあえず 使 ってみよう 16

30 1.Copper PDF 入 門 Copper PDF 3.0 説 明 書 図 1.7 出 力 結 果 とりあえず 使 ってみよう

31 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ディレクトリを 削 除 するだけです 2.1 セットアップ 18

32 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 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 セットアップ

33 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オプションによりサービスの 状 態 を 確 認 することができます 2.1 セットアップ 20

34 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 例 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) 4/5/6 RHEL 向 けにはRPMパッケージを 配 布 しています RHELでは Java 実 行 環 境 としてjava-(バージョン)-sun が 必 要 です Red Hat Networks のSupplementaryチャンネルからyumでインストールするか Supplement CDに 収 録 されているものをインストールしてください java-(バージョン)-gcj-compatでは 動 作 しません alternatives --config java コマンドでjava-(バージョン)-sunに 切 り 替 えてくだ さい RHELの 代 替 としてCentOSを 使 用 する 場 合 は JPackage によりJava をインストールしてく ださい 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 セットアップ

35 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_ セットアップ 22

36 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 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 その 他 の 環 境 その 他 の 環 境 では tar.gzアーカイブを 使 用 してください copper-pdf-3.x.x.tar.gzを 適 当 なディレクトリに 展 開 してください セットアップ

37 2. 管 理 者 ガイド LinuxあるいはUNIX 系 のOSの 場 合 展 開 してできたCopperPDFディレクトリ 内 のシェル スクリプト (copper, copperd, copper-webapp)を 使 用 してください また デーモンをセッ トアップするにはextras/redhat/copperdを 編 集 し 16 行 目 でCOPPER_HOME 環 境 変 数 に CopperPDFの 配 置 ディレクトリを 設 定 するようにし 適 切 な 場 所 に 配 置 してください 例 2.20 JAVA_HOME の 設 定 COPPER_HOME=[CopperPDFの 配 置 ディレクトリ] Copper PDFに 付 属 のシェルスクリプトは 環 境 変 数 JAVA_HOME により Javaのインス トールディレクトリを 判 別 します /etc/profile 等 で JAVA_HOME を 適 切 に 設 定 してく ださい 例 2.21 JAVA_HOME の 設 定 export JAVA_HOME=/usr/local/jdk1.6.0_05 JAVA_HOME が 設 定 されていない 場 合 PATH に 加 えられているjavaコマンドが 実 行 さ れます 各 ツールの 実 行 方 法 の 詳 細 はCopper PDFのツール (27ページ)の 解 説 を 参 照 してくださ い アンインストールは 単 にCopperPDFディレクトリを 削 除 するだけです ディレクトリ 構 成 アーカイブ 内 のディレクトリ 構 成 ZIPまたはtar.gzアーカイブを 展 開 すると copper-pdf-3_x_xというディレクトリができま す 各 ツールの 実 行 ファイルは このディレクトリの 直 下 にあります その 他 のディレ クトリ 構 成 は 次 の 通 りです 2.1 セットアップ 24

38 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 図 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 jetty webapp logs 配 置 場 所 /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 系 以 前 では 実 ファイルとシンボリックリンクが 逆 転 しています /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は そのままでは 機 能 限 定 版 (278ページ)として 動 作 します セットアップ

39 2. 管 理 者 ガイド Copper PDFを 使 用 するためには ライセンスキー ファイルをlicense-keyという 名 前 で conf デ ィ レ ク ト リ に 配 置 す る 必 要 が あ り ま す ラ イ セ ン ス キ ー は 購 入 してください 全 ての 機 能 を 試 用 する 場 合 は で 試 用 ライセンスキーを 取 得 してください 旧 バージョンからのアップデート confディレクトリ 内 の 各 種 設 定 は 上 位 互 換 です 過 去 のバージョンの 設 定 は 新 しい バージョンで 常 に 動 作 します RPMパッケージまたはdebパッケージは それぞれ 通 常 の 方 法 でアップデートしてくだ さい 例 2.22 RPMパッケージの 更 新 # sudo rpm -Uvh copper-pdf-3.x.x-0.noarch.rpm 例 2.23 debパッケージの 更 新 # sudo dpkg -i copper-pdf_2.x.x_all.deb その 他 (Windows,.zip,.tar.gzアーカイブ)の 場 合 は 先 にconfディレクトリをバックアッ プし Copper PDFを 再 インストールし confディレクトリをアップデート 前 のものと 置 き 換 えてください 2.1 セットアップ 26

40 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 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.24 JAVA_OPTS の 設 定 export JAVA_OPTS="-Xmx1024m -server" Javaコマンドで 直 接 ツールを 実 行 する 方 法 については 各 ツールの 説 明 を 参 照 してくだ さい copper コマンドラインアプリケーションです コマンドラインからCopper PDFの 機 能 を 直 接 利 用 することができます copper-webapp ウェブアプリケーションです ウェブブラウザからローカルマシン 上 のファイルや ウェブ 上 のコンテンツを 変 換 する 簡 単 なウェブアプリケーションが 起 動 します copperd Copper PDFサーバーを 起 動 停 止 あるいは 状 態 を 確 認 します プログラムインター フェースからアクセスするためのパスワードの 設 定 もこのコマンドで 行 います Copper PDFのツール

41 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:" を 直 接 使 用 します 2.2 Copper PDFのツール 28

42 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 Copper PDF 以 前 ではCopper PDFサーバー 付 属 のcopperコマンド では -sには"copper:direct:" 以 外 使 用 できません "ctip://" " 等 で 始 まる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の 記 述 方 法 は 接 続 情 報 (90ページ) を 参 照 してください 入 力 について -inオプションが 省 略 された 場 合 は 標 準 入 力 を 使 用 します -inオプションと-uriオプションが 両 方 指 定 された 場 合 -inで 指 定 されたファイルの データが 使 われ ドキュメントのURIは-uriで 指 定 されたものと 見 なします -inオプションだけ 指 定 された 場 合 -inで 指 定 されたファイルのデータが 使 われ ド キュメントのURIはそのファイルのシステムURIとします -uriオプションだけが 指 定 された 場 合 そのURIから 取 得 できるデータが 使 われ ド キュメントのURIも 同 じURIとします このとき-ie, -ifオプションは 無 視 されます 出 力 について -outオプションが 省 略 された 場 合 は 標 準 出 力 を 使 用 します -outオプションが 指 定 された 場 合 は 指 定 されたファイルに 出 力 します Copper PDFのツール

43 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ファイルを 変 換 してレイアウトを 確 認 するために 用 い ることができます プログラムを 起 動 後 ブラウザで にアクセスすると Copper PDFの ウェブアプリケーションが 利 用 できます なお ブラウザが 実 行 可 能 な 環 境 では プロ グラムの 起 動 後 に 自 動 的 にブラウザが 開 きます 2.2 Copper PDFのツール 30

44 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 図 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ファイルのパスを 設 定 してください Copper PDFのツール

45 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サーバーのバージョンを 表 示 します サーバーを 起 動 します サーバーを 停 止 します 2.2 Copper PDFのツール 32

46 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 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] Copper PDFのツール

47 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"を 設 定 してください 2.2 Copper PDFのツール 34

48 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 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ディレクトリのパスを 設 定 してください Copper PDFのツール

49 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 使 用 するフォントの 設 定 です 2.3 設 定 ファイル 36

50 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 Copper PDFサーバーの 動 作 設 定 (copperd.properties) copperd.propertiesはcopper PDFサーバー(copperd)の 動 作 に 関 する 設 定 です この 設 定 の 変 更 を 反 映 するにはCopper PDFサーバーの 再 起 動 が 必 要 です ファイルの 形 式 は Javaのプロパティファイル です 各 行 に 名 前 = 値 の 形 式 で 記 述 して ください = 記 号 改 行 はそれぞれ\= \nで 記 述 します \の 次 の 改 行 と 空 白 は 無 視 されま す 例 えば 以 下 の 場 合 key1 の 値 は a=b であり key2 の 値 は a, b, c, d, e, f です 例 2.25 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 以 外 からのアクセスはブ ロックされます 制 御 用 コマンドです 制 御 用 ポートからアクセスする 場 合 の 合 言 葉 のようなものです 通 常 は 変 更 する 必 要 はありません 接 続 タイムアウト( 秒 数 )です プログラムインターフェースとの 間 で 指 定 された 時 間 データがや りとりされなかった 場 合 接 続 を 切 断 します 最 小 スレッド 数 です プログラムインターフェースの 接 続 を 待 ち 受 けるために 準 備 して おく 最 小 限 のスレッド 数 です 高 負 荷 が 予 想 される 状 況 では 大 き めの 値 を 設 定 しておくと 処 理 が 効 率 化 しますが 使 用 するメモリ は 増 大 します 設 定 ファイル

51 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による 暗 号 化 された 高 速 な 接 続 をサポートしました 2.3 設 定 ファイル 38

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

53 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.31 mod_proxy_ajpの 設 定 <Proxy *> Order deny,allow Allow from all </Proxy> <Location /cti/> ProxyPass ajp:// :8095/ </Location> 例 2.32 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のログプロパティファイル の 形 式 で 記 述 してください 2.3 設 定 ファイル 40

54 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 例 2.33 ログの 設 定 例 # Logging levels by categories. jp.cssj.handlers = jp.cssj.logging.filehandler, \ java.util.logging.consolehandler jp.cssj.level = INFO # File java.util.logging.filehandler.level = INFO java.util.logging.filehandler.formatter = java.util.logging.simpleformatter java.util.logging.filehandler.encoding = UTF-8 # 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 のプロパティ 名 前 デフォルト 説 明 directory copperdの 標 準 のlogsディレクトリ ログの 出 力 先 ディレクトリ prefix copperd. ログファイル 名 の 先 頭 の 文 字 列 suffix.log ログファイル 名 の 末 尾 の 文 字 列 level ALL ログレベル filter N/A ログのフィルタ formatter java.util.logging.simpleformatter ログのフォーマッタ encoding UTF-8 ログファイルのキャラクタエンコーディング アクセス 制 御 の 設 定 (access.txt) access.txtはipアドレスでアクセスできるクライアントを 制 限 する 設 定 です このファイ ルの 変 更 は 自 動 的 に 検 出 されるため 変 更 後 にCopper PDFサーバーを 再 起 動 する 必 要 は ありません 各 行 のルールを [allow deny] IPアドレス という 形 式 で 記 述 します IPアドレスはIPv4, IPv6のどちらの 形 式 も 使 用 可 能 です 設 定 ファイル

55 2. 管 理 者 ガイド allowは 指 定 されたアドレスのアクセスを 許 可 し denyはアクセスを 拒 否 するルールで す クライアントからのアクセスがあった 場 合 は 先 頭 から 順 に 検 索 し 最 初 に 一 致 し たルールが 適 用 されます IPアドレスを * にすると 全 てのクライアントにルールを 適 用 します 例 2.34 アクセス 制 御 の 設 定 例 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サーバーを 再 起 動 する 必 要 はありません ファイルの 形 式 は Javaのプロパティファイル です 各 プロパティは 入 出 力 プロパティ の 節 で 解 説 されていますが 1つだけsystem.fontsという 特 別 なプロパティがあります system.fontsは 後 で 次 に 説 明 するフォント 設 定 ファイルをdefault.propertiesファイルから の 相 対 パスで 指 定 したものです fontsディレクトリ フォント 関 連 の 設 定 です 詳 細 はフォントの 設 定 の 章 で 解 説 します 2.3 設 定 ファイル 42

56 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 フォントの 設 定 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)フォントにも 対 応 しています CID-Keydフォントを 使 用 するために 既 定 のフォントの 幅 情 報 が 配 置 されています CID-KeydフォントのためのCMapファイルが 配 置 されています コアフォントのフォントメトリックス 情 報 がAFM 形 式 で 配 置 されています フォントの 設 定

57 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 フォントの 設 定 44

58 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 条 件 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, cid-embeddedを 指 定 することで それぞれCID-Keyedフォント CID Identityフォ ント 埋 め 込 みフォントを 切 り 替 えることができます コアフォントは 常 に 使 用 されま すが "-core"を 指 定 することで 除 外 することができます[3.0.0] またスペース 区 切 で 複 数 指 定 することも 可 能 です[2.0.1] "embedded cid-keyed"のようにスペース 区 切 りで 複 数 指 定 された 場 合 は 最 初 に 指 定 されたものから 優 先 的 に 使 用 されます[2.0.9] ただし コ アフォントの 優 先 度 は 常 に 最 低 となります PDF/A-1を 出 力 する 場 合 は 上 記 の 設 定 に 関 わらず 埋 め 込 みフォントだけが 使 われま す[2.1.0] フォントの 設 定

59 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 フォントの 設 定 46

60 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 各 文 字 と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 ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ フォントの 設 定

61 2. 管 理 者 ガイド 以 下 はSymbolで 使 用 できる 文 字 の 一 覧 です 文 字 の 下 の 数 字 は16 進 ユニコードです 表 2.7 Symbolの 文 字 一 覧 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 フォントの 設 定 48

62 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 以 下 は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] の 設 定 によります フォントの 設 定

63 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 フォントの 設 定 50

64 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 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.35 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.36 抽 出 されたフォント 情 報 の 例... 略 '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 コードの 仕 様 です フォントの 設 定

65 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.37 幅 情 報 の 抽 出 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 フォントの 設 定 52

66 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 フォントファイルの 種 類 埋 め 込 みフォント 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 属 性 の 指 定 を 変 更 することで 切 り 替 えることができます フォントの 設 定

67 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 フォントの 設 定 54

68 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 表 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 カンマで 区 切 ったユニコード 範 囲 ( 詳 細 は 後 述 ) フォントの 設 定

69 2. 管 理 者 ガイド unicode-rangeはu+に 続 く16 進 数 によるユニコードとハイフンを 用 います 例 えば 日 本 語 のかなを 含 める 文 字 範 囲 の 指 定 は 次 の 通 りです 例 2.38 ハイフンによる 文 字 範 囲 <include unicode-range="u ff" /> また 下 位 の 桁 をワイルドカードに 置 き 換 えることもできます 以 下 の 記 述 は U+1F00-1FFFと 書 くのと 等 価 です 例 2.39 ワイルドカードによる 文 字 範 囲 <include unicode-range="u+1f??" /> 複 数 の 文 字 範 囲 はカンマで 区 切 ってください 例 2.40 複 数 の 文 字 範 囲 <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 フォントの 設 定 56

70 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 属 性 必 須 説 明 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 名 です フォントの 設 定

71 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 フォントの 設 定 58

72 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 属 性 必 須 説 明 フォントのタイプをスペース 区 切 りで 記 述 します 値 は 次 のいず れかです 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フォント フォントの 設 定

73 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 フォントの 設 定 60

74 2. 管 理 者 ガイド Copper PDF 3.0 説 明 書 表 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フォント ( を 配 置 した 場 合 は generic-fontsの 部 分 を 以 下 のように 設 定 することで フォントの 埋 め 込 みに デ フォルトでIPAフォントが 使 われるようになります 例 2.41 例 のタイトル <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> フォントの 設 定

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

76 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 HTTP/REST (151ページ)[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ページ) プログラムインターフェースの 概 要

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

78 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 で あ っ た 場 合 ド キ ュ メ ン ト 中 に <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にアクセスするのではなく 事 前 に 送 ったデータ を 使 用 します プログラムインターフェースの 概 要

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

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

81 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 プログラムインターフェースの 概 要 68

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

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

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

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

86 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 Java ドライバ1 Copper PDF 2.1.0からは より 強 力 なJavaドライバ バージョン2 が 利 用 可 能 です 従 来 のドライバもサポートされていますが 新 しいドライバの 使 用 を 検 討 してください Javaドライバ バージョン2の 説 明 (93ページ) 使 用 方 法 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

87 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 74

88 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 例 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

89 3. 開 発 者 ガイド // 以 下 にあるリソースへアクセスする session.includeresource(" // index.htmlを 変 換 session.formatmain (" } 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 76

90 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 フィルターを 使 った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

91 3. 開 発 者 ガイド 3.4 Perlドライバ1 Copper PDF 2.1.0からは より 強 力 なPerlドライバ バージョン2 が 利 用 可 能 です 従 来 のドライバもサポートされていますが 新 しいドライバの 使 用 を 検 討 してください Perlドライバ バージョン2の 説 明 (111ページ) 使 用 方 法 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 78

92 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 リソースの 送 信 アクセス 許 可 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

93 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 80

94 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 例 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

95 3. 開 発 者 ガイド 3.5 PHPドライバ1 Copper PDF 2.1.0からは より 強 力 なPHPドライバ バージョン2 が 利 用 可 能 です 従 来 のドライバもサポートされていますが 新 しいドライバの 使 用 を 検 討 してください PHPドライバ バージョン2の 説 明 (118ページ) 使 用 方 法 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 82

96 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 プロパティの 設 定 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

97 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 84

98 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 // 変 換 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

99 3. 開 発 者 ガイド 3.6 copper Antタスク Copper PDF 2.1.0からは より 強 力 なtranscode Antタスク が 利 用 可 能 です 従 来 の Antタスク もサポートされていますが 新 しいAntタスク の 使 用 を 検 討 してください transcode Antタスク (147ページ) 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タスク 86

100 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 属 性 名 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タスク

101 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タスク 88

102 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 例 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タスク

103 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を 使 う 場 合 は " SSL(HTTPS)を 使 う 場 合 は " のようにURIを 設 定 してください メッセージコード 処 理 状 況 や 警 告 エラーとして 2バイトのメッセージコード メッセージに 付 随 する 値 人 間 が 読 める 形 式 の 文 字 列 の3つの 値 がドライバに 渡 されます メッセージコード は16 進 数 で 表 記 し 以 下 の 通 りクラス 分 けされます 1XXX 2XXX 3XXX 4XXX 処 理 情 報 文 書 のタイトル 出 力 したページの 番 号 等 です 警 告 メッセージ 通 常 の 運 用 でも 発 生 する 可 能 性 のある 軽 微 なエラーを 示 すもので 処 理 が 続 行 されます エラーメッセージ アプリケーション 等 の 問 題 によるエラーで 処 理 が 中 断 されます 深 刻 なエラー サーバープログラムのバグやシステムの 障 害 によるもので 処 理 が 中 断 されます 全 てのメッセージコードの 一 覧 は 資 料 集 (279ページ)を 参 照 してください サーバー 情 報 ドライバによりCopper PDFサーバーの 環 境 に 関 する 情 報 を 得 ることができます 情 報 の 種 類 はURIで 指 定 します 3.7 CTIP 2.0 インターフェースの 概 要 90

104 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 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 インターフェースの 概 要

105 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 プロトコルの 仕 様 プロトコルの 仕 様 書 は 以 下 のアドレスで 公 開 しています CTIP 2.0 インターフェースの 概 要 92

106 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 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による 接 続 にも 対 応 しています (90ページ) Java ドライバ2

107 3. 開 発 者 ガイド APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はドライバのapidocディレクトリ 内 のJavadocか オンラインのAPIドキュメ ントを 参 照 してください タイムアウトの 設 定 Java 版 ドライバ2.1.4 以 降 から 一 定 時 間 通 信 がない 状 態 で 自 動 的 に 通 信 を 切 断 するタイ ムアウトに 対 応 しています 以 下 のようにURLパラメータで timeoutをミリ 秒 単 位 で 指 定 できます ctip:// :8099/?timeout=10000 ctips, http 等 他 のプロトコルではタイムアウトは 無 効 です サーバーへの 接 続 認 証 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 94

108 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 ソースリゾルバの 設 定 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

109 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 96

110 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 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

111 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", " } } // ウェブページを 変 換 session.transcode(uri.create(" } 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 98

112 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 繰 り 返 し 処 理 出 力 先 を 変 え 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

113 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(" session.join();... abortによる 中 断 CTISessionのabort メソッドは 文 書 の 変 換 処 理 を 中 断 しますが transcodeメソッドは 処 理 の 間 ブロックするため 別 スレッドからabortを 呼 び 出 す 必 要 があります abortは 引 数 に よって 強 制 的 に 中 断 するモードと きりのよいところまで 処 理 して 一 応 利 用 可 能 な 結 果 を 出 力 するモードの2つがあります 後 者 のモードは 例 えば 大 きなPDFファイルを 3.8 Java ドライバ2 100

114 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 出 力 中 に 処 理 を 中 断 して 途 中 までの 出 力 結 果 を 見 たい 場 合 に 有 用 です ただし 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=" xmlns:xsi=" xsi:schemalocation=" 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

115 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でラップして そのパスに 転 送 します 例 え ば ユ ー ザ ー が に ア ク セ ス す る と 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 102

116 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 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でラップ して 処 理 を 次 に 渡 すだけです 例 えば ユーザーが にアクセスすると 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

117 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 104

118 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 前 記 の 例 では 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

119 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(" session.close(); } } こうして 得 られたCTISessionの 使 用 方 法 は 通 常 通 りドライバを 使 う 場 合 と 変 わりあり ません また プログラムのコンパイルも 通 常 通 りドライバのjarをクラスパスに 加 える ことで 可 能 です 3.8 Java ドライバ2 106

120 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 しかし 当 然 ながらプログラムの 実 行 時 には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

121 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 108

122 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 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

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

124 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 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

125 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 112

126 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 サンプル 以 下 は プログラムによる 出 力 を 変 換 するサンプルです 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

127 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', ' # 文 書 の 送 信 $session->transcode(' # セッションの 終 了 $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 114

128 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 例 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

129 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 116

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

131 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 118

132 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 メッセージハンドラ プログレスリスナの 設 定 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

133 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 120

134 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 次 の 例 は サーバー 側 からネットワーク 上 のウェブページアクセスして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', ' // 文 書 の 送 信 $session->transcode(' //セッションの 終 了 $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

135 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 122

136 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 例 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

137 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")) { // 各 種 操 作... } APIの 概 要 ここではAPIによるアクセスの 概 要 で 説 明 した 各 手 順 に 対 応 する 関 数 を 列 挙 します 各 関 数 の 詳 細 はドライバのapidoc/htmlディレクトリ 内 のAPIドキュメントか オンライン のAPIドキュメントを 参 照 してください 3.11.NETドライバ 124

138 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 サーバーへの 接 続 認 証 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) 複 数 の 結 果 の 結 合 bool Continuous { set; } public void Join() NETドライバ

139 3. 開 発 者 ガイド 処 理 の 中 断 リセット 通 信 の 終 了 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"); を 許 可 する session.property("input.include", " // 以 下 にあるリソースへのアクセス } } } } // ウェブページを 変 換 session.transcode(" NETドライバ 126

140 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 例 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", " ' ウェブページを 変 換 session.transcode(" End Using End Sub End Module.NET 版 ドライバの 特 徴 は ASP.NET をPDF 出 力 のためのテンプレートとして 利 用 でき るようになることです 前 準 備 として 以 下 のクラスを 用 意 しておきます 例 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) NETドライバ

141 3. 開 発 者 ガイド { } : 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) 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)を 得 ています 3.11.NETドライバ 128

142 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 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ディレクトリに 収 められています プログラミングのポイント 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"); NETドライバ

143 3. 開 発 者 ガイド 例 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.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 を 使 ってストリームやファイルにデータを 出 力 してくださ い 3.11.NETドライバ 130

144 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 サーバーから 要 求 されたリソースの 送 信 (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") { 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; } } NETドライバ

145 3. 開 発 者 ガイド 例 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 を 呼 び 出 してください 例 つの 結 果 の 結 合 (C#)... session.continuous = true; Utils.SendResourceFile(session, "test.css", "text/css", "UTF-8"); Utils.TranscodeFile(session, "test.html", "text/html", "UTF-8"); session.transcode(" session.join(); NETドライバ 132

146 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 例 つの 結 果 の 結 合 (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(" session.join()... Abortによる 中 断 SessionのAbort メソッドは 文 書 の 変 換 処 理 を 中 断 しますが Transcodeメソッドは 処 理 の 間 ブロックするため 別 スレッドからAbortを 呼 び 出 す 必 要 があります Abortは 引 数 に よって 強 制 的 に 中 断 するモードと きりのよいところまで 処 理 して 一 応 利 用 可 能 な 結 果 を 出 力 するモードの2つがあります 後 者 のモードは 例 えば 大 きなPDFファイルを 出 力 中 に 処 理 を 中 断 して 途 中 までの 出 力 結 果 を 見 たい 場 合 に 有 用 です ただし 1 ページ 目 を 出 力 される 前 に 中 断 してしまった 場 合 など 読 み 込 み 可 能 なデータが 出 力 で きないことも 起 こり 得 ます NETドライバ

147 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ドライバ 134

148 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 メッセージハンドラ プログレスリスナの 設 定 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ドライバ

149 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ドライバ 136

150 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 例 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', ' # 文 書 の 変 換 session.transcodeserver(' 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ドライバ

151 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ドライバ 138

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

153 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ドライバ 140

154 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 サーバーへの 接 続 認 証 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ドライバ

155 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ドライバ 142

156 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 <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', ' # 文 書 の 変 換 session.transcode_server(' finally: session.close() 他 のサンプルはドライバのsrc/testに 収 められています Pythonドライバ

157 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ドライバ 144

158 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 サーバーから 要 求 されたリソースの 送 信 サーバーから 要 求 されたリソースを 送 る 場 合 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ドライバ

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

160 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 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タスク

161 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を 使 う 場 合 は " のようにURIを 設 定 してください 3.14 transcode Antタスク 148

162 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 うまく 動 かない 場 合 (ローカルマシンで 実 行 する 場 合 ) 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タスク

163 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タスク 150

164 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 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インターフェース

165 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インターフェース 152

166 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 式 のファイルとフォームフィールドとして 送 る 方 法 があります (さらに ファイルその ものをリクエストボディとして 送 る 方 法 があります 詳 細 は 仕 様 書 を 参 照 してくださ い) 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インターフェース

167 3. 開 発 者 ガイド パラメータ 名 rest.mode 説 明 1であればなるべく 有 効 なデータを 出 力 して 処 理 を 中 断 し 2であればなるべく 直 ちに 処 理 を 中 断 します なお 各 アクションのレスポンスの 詳 細 は 仕 様 書 を 参 照 してください ウェブブラウザからのアクセス ウェブブラウザからデータの 変 換 を 行 う 場 合 最 も 簡 単 な 方 法 は 以 下 のフォームを HTMLファイルとして 保 存 して (キャラクタ エンコーディングはUTF-8にしてくださ い) ブラウザで 表 示 し 変 換 ボタンを 押 すことです テキストエリアの 内 容 (Hello world!)がpdf 化 されます 例 3.86 フォームからCopper PDFを 使 う <form action=" <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=" 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インターフェース 154

168 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 例 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(" 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" => " "rest.mainuri" => " } # POSTを 実 行 puts client.post_content(" postdata) HTTP/RESTインターフェース

169 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インターフェース 156

170 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 url = ' 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 = ' params = urllib.urlencode({'rest.user':'user', 'rest.password':'kappa', 'input.include':' 'rest.mainuri':' }) f = urllib.urlopen(url, params) print f.read() C# (.NET WebClient) C# / VB.NETではRESTインターフェースを 使 用 する 必 要 はなくなりました より 高 速 で 高 機 能 な.NETドライバの 使 用 を 推 奨 します C#では.NETのWebClientを 使 うことができます 以 下 のサンプルでは ヒアドキュメン トとして 記 述 したHTMLを 変 換 します HTTP/RESTインターフェース

171 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 (" par); Console.OpenStandardOutput().Write(res, 0, res.length); client.dispose(); } } } 以 下 の 例 では をPDF 化 します パラメータの input.include 画 像 等 の 取 得 のためにアクセスを 許 可 するアドレスのパターンです この 例 では 変 換 結 果 をストリームに 逐 次 送 り 出 すため メモリを 節 約 することができ 巨 大 なPDFの 出 力 にも 対 応 できます 3.15 HTTP/RESTインターフェース 158

172 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 例 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 = " + // ロー カルマシンのCopper PDF "?rest.user=user" + "&rest.password=kappa" + "&input.include= + // 画 像 等 への アクセス 許 可 "&rest.mainuri= // 変 換 対 象 ア ドレス 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インターフェース

173 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 = " + // ローカルマシ ンのCopper PDF "?rest.user=user" + "&rest.password=kappa" + "&input.include= + // 画 像 等 へのアクセス 許 可 "&rest.mainuri= // 変 換 対 象 アドレス 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インターフェース 160

174 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 ' ローカルマシンのCopper PDF Dim uri As String = " uri &= "?rest.user=user" uri &= "&rest.password=kappa" ' 画 像 等 へのアクセス 許 可 uri &= "&input.include= ' 変 換 対 象 アドレス uri &= "&rest.mainuri= %> 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インターフェース

175 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インターフェース 162

176 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 `ヘッダの 除 去 $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:=" $uri:=" ` 結 果 ファイル 名 $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インターフェース

177 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のサイト( 提 供 してい ます 3.15 HTTP/RESTインターフェース 164

178 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 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 の 場 合 は 認 証 方 法 が 自 動 判 別 されます 以 下 の 例 では にそれぞれ 別 のユーザーアカウントで 接 続 し BASIC 認 証 かDigest 認 証 かを 自 動 判 別 します HTTPクライアント 機 能

179 3. 開 発 者 ガイド 例 3.98 認 証 の 設 定 session.property("input.http.authentication.preemptive", "true"); session.property("input.http.0.authentication.host", " session.property("input.http.0.authentication.user", "foouser"); session.property("input.http.0.authentication.password", "foopass"); session.property("input.http.1.authentication.host", " 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クライアント 機 能 166

180 3. 開 発 者 ガイド Copper PDF 3.0 説 明 書 で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クライアント 機 能

181 3. 開 発 者 ガイド 例 クッキーの 設 定 String sessionid = request.getsession().getid(); session.property("input.http.cookie.0.domain", " 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クライアント 機 能 168

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

183 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による 文 書 のレイアウト 170

184 4.デザイナーガイド Copper PDF 3.0 説 明 書 入 出 力 プロパティ Copper PDF 独 自 の 機 能 や 一 般 的 なブラウザの 環 境 設 定 やオプションに 相 当 する 部 分 を 設 定 するためには 名 前 と 値 の 組 み 合 わせである 入 出 力 プロパティ を 設 定 します 入 出 力 プロパティの 一 覧 は 資 料 集 の 入 出 力 プロパティ (266ページ)を 参 照 してくださ い 入 出 力 プロパティは プログラマによりプログラムにより 設 定 (64ページ) されるか シ ステム 管 理 者 により デフォルトの 入 出 力 プロパティの 設 定 ファイル (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> 入 出 力 プロパティ

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

186 4.デザイナーガイド Copper PDF 3.0 説 明 書 対 応 する 入 力 ファイル 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] によるエンコーディング 対 応 する 入 力 ファイル

187 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 対 応 する 入 力 ファイル 174

188 4.デザイナーガイド Copper PDF 3.0 説 明 書 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は 画 像 形 式 での 出 力 (186ページ)にも 利 用 することができます[2.0.3] ラスター(ビットマップ/ピクセルマップ) 画 像 GIF / PNG 画 像 GIFおよびPNG 画 像 の 透 明 化 効 果 はPDF 内 でも 有 効 です ただし PDF 1.3 以 前 のバー ジョンのPDFを 出 力 する 場 合 PNG 画 像 の 半 透 明 化 効 果 が 正 確 に 表 現 されず 透 明 不 透 明 だけとなります 対 応 する 入 力 ファイル

189 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 対 応 する 入 力 ファイル 176

190 4.デザイナーガイド Copper PDF 3.0 説 明 書 Copper PDFでは SVG 画 像 を 他 の 画 像 と 同 様 に 扱 うことができます img 要 素 を 利 用 す ることができ background-image [css] プロパティにより 背 景 に 設 定 することもでき ます インラインSVG SVGを 別 ファイルに 分 けずに 文 章 中 に 直 接 記 述 することができます グラフ 等 動 的 に 変 化 する 画 像 をドキュメントに 含 める 場 合 に 適 しています インラインSVGは ド キュメント 中 で と 名 前 空 間 宣 言 したSVGを 記 述 するだけで す 例 4.3 インラインSVG <html> <head> <title>インラインsvgを 含 むドキュメント</title> </head> <body> <p>すぐ 下 に が 表 示 されます </p> <svg:svg xmlns:svg=" xmlns: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)ことができます 対 応 する 入 力 ファイル

191 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 )に 対 応 したファイルを 出 力 することがで きます (185ページ) 暗 号 化 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 出 力 するファイル 形 式 178

192 4.デザイナーガイド Copper PDF 3.0 説 明 書 も 開 く こ と が で き る 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に 対 する 該 当 する 操 作 が 行 われないことを 保 証 するものではありません 出 力 するファイル 形 式

193 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 出 力 するファイル 形 式 180

194 4.デザイナーガイド Copper PDF 3.0 説 明 書 デフォルトでは 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] 出 力 するファイル 形 式

195 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 出 力 するファイル 形 式 182

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

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

198 4.デザイナーガイド Copper PDF 3.0 説 明 書 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 社 が 公 開 し て い る ド キ ュ メ ン ト ( 参 照 してください 出 力 するファイル 形 式

199 4.デザイナーガイド 画 像 の 出 力 Copper PDFはPDFだけではなく JPEG 等 のラスタ(ピクセルマップ) 画 像 を 出 力 すること ができます [2.0.3] output.type [io] に"image/jpeg"のように 画 像 のMIMEタイプを 指 定 してください 画 像 のエンコーディングにはJava 実 行 環 境 の 機 能 を 利 用 しており 大 抵 のJava 実 行 環 境 ではJPEG("image/jpeg"), PNG("image/png") 画 像 を 出 力 することができます Java 実 行 環 境 に 拡 張 ライブラリを 導 入 することにより 出 力 できる 画 像 を 増 やすことができます 拡 張 方 法 については 他 の 画 像 形 式 の 利 用 を 参 照 してください 画 像 出 力 の 制 約 コアフォント (46ページ) とCID-Keyedフォント (50ページ)を 描 画 できないという 制 約 があります フォントを 正 しく 表 示 するためには 埋 め 込 みフォント (50ページ)を 利 用 する 必 要 があります フォントの 設 定 方 法 はフォントの 種 類 (45ページ)を 参 照 してく ださい 画 像 出 力 の 解 像 度 出 力 される 画 像 の 解 像 度 は 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 出 力 するファイル 形 式 186

200 4.デザイナーガイド Copper PDF 3.0 説 明 書 一 般 的 なブラウザとの 互 換 性 互 換 性 モードの 切 り 替 え 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モードでは 有 効 で す 例 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 { 一 般 的 なブラウザとの 互 換 性

201 4.デザイナーガイド } 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> CSSの 色 指 定 で#を 省 略 しても 認 識 される msieモードではrgbコードで 色 を 指 定 する 場 合 #を 省 略 できます 4.5 一 般 的 なブラウザとの 互 換 性 188

202 4.デザイナーガイド Copper PDF 3.0 説 明 書 例 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%を 指 定 すると ボックスが 外 側 のボックスの 内 部 からはみ 出 します msieモードでは100% 指 定 された 場 合 にボックスの 外 側 の 幅 が 外 側 のボックスの 内 側 の 幅 に 一 致 し 0% 指 定 された 場 合 にボックスの 内 側 の 幅 がゼロになるように 計 算 します 一 般 的 なブラウザとの 互 換 性

203 4.デザイナーガイド 絶 対 位 置 指 定 ボックス 浮 動 ボックスの 大 きさが 内 容 により 拡 張 される 絶 対 位 置 指 定 ボックス 浮 動 ボックスに{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 一 般 的 なブラウザとの 互 換 性 190

204 4.デザイナーガイド Copper PDF 3.0 説 明 書 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 属 性 と 同 様 の 挙 動 をします 一 般 的 なブラウザとの 互 換 性

205 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 一 般 的 なブラウザとの 互 換 性 192

206 4.デザイナーガイド Copper PDF 3.0 説 明 書 サポートしていない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;}が 指 定 されたーブル)を 使 用 する 自 動 レイアウトテーブルで 横 方 向 に 連 結 されたセルが 存 在 する 場 合 は %による 幅 指 定 をしない 一 般 的 なブラウザとの 互 換 性

207 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=" counter="page-number" type="decimal"/> ドキュメントの 末 尾 に 目 次 を 生 成 する 場 合 は 目 次 の 生 成 の 開 始 時 点 で 本 文 が 全 て 処 理 されていますが ドキュメントの 先 頭 や 途 中 に 目 次 を 生 成 する 場 合 は 2パス 以 上 の 処 理 が 必 要 です 4.6 XML/HTMLの 拡 張 機 能 194

208 4.デザイナーガイド Copper PDF 3.0 説 明 書 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の 拡 張 機 能

209 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の 拡 張 機 能 196

210 4.デザイナーガイド Copper PDF 3.0 説 明 書 例 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の 拡 張 機 能

211 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の 拡 張 機 能 198

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

213 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 属 性 あるいはCSSの@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によるドキュメントのレイアウト 200

214 4.デザイナーガイド Copper PDF 3.0 説 明 書 例 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 要 素 が 名 前 空 間 " に 属 するように 名 前 空 間 宣 言 を 行 ってください 例 4.17 style 属 性 によるスタイルの 指 定 (XML) <?xml version="1.0"> <body xmlns:html=" 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によるドキュメントのレイアウト

215 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によるドキュメントのレイアウト 202

216 4.デザイナーガイド Copper PDF 3.0 説 明 書 span { font-size: x-large; } ]?> <html> <body> <h1> 題 名 </h1> <p> 本 文 <span> 大 きなテキスト</span> 本 文 </p> </body> </html> 外 部 のCSSの 使 用 ドキュメントと 外 部 のスタイルシートを 結 びつける 方 法 は 以 下 の3 通 りがあります 1. HTMLのlink 要 素 2. CSSの@import 指 示 子 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を 設 定 することで 適 用 するスタイルシートを 選 択 すること ができます CSSの@import 指 示 子 これは HTMLのstyle 要 素 とCSSの@importを 組 み 合 わせる 方 法 です CSSによるドキュメントのレイアウト

217 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によるドキュメントのレイアウト 204

218 4.デザイナーガイド Copper PDF 3.0 説 明 書 長 さの 単 位 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に 一 致 します 詳 細 は 画 像 の 出 力 (186ページ)を 参 照 してください CSSによるドキュメントのレイアウト

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

220 4.デザイナーガイド Copper PDF 3.0 説 明 書 ページカウンタ 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の 拡 張 機 能

221 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の 拡 張 機 能 208

222 4.デザイナーガイド Copper PDF 3.0 説 明 書 田 作 り 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の 拡 張 機 能

223 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の 拡 張 機 能 210

224 4.デザイナーガイド Copper PDF 3.0 説 明 書 #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の 拡 張 機 能

225 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の 拡 張 機 能 212

226 4.デザイナーガイド Copper PDF 3.0 説 明 書 例 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( を 埋 め 込 みフォントとして 使 用 することを 推 奨 します 本 文 の フォントファミリを {font-family: 'Kenten Generic' 本 文 フォント...;} の ように 指 定 してください CSSの 拡 張 機 能

227 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の 拡 張 機 能 214

228 4.デザイナーガイド Copper PDF 3.0 説 明 書 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の 拡 張 機 能

229 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の 拡 張 機 能 216

230 4.デザイナーガイド Copper PDF 3.0 説 明 書 例 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の 拡 張 機 能

231 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の 拡 張 機 能 218

232 4.デザイナーガイド Copper PDF 3.0 説 明 書 パ テ ィ を 用 意 し て い ま す こ れ ら は 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の 拡 張 機 能

233 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の 拡 張 機 能 220

234 4.デザイナーガイド Copper PDF 3.0 説 明 書 例 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の 拡 張 機 能

235 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の 拡 張 機 能 222

236 4.デザイナーガイド Copper PDF 3.0 説 明 書 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の 拡 張 機 能

237 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の 拡 張 機 能 224

238 4.デザイナーガイド Copper PDF 3.0 説 明 書 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の 拡 張 機 能

239 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の 拡 張 機 能 226

240 4.デザイナーガイド Copper PDF 3.0 説 明 書 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の 拡 張 機 能

241 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の 拡 張 機 能 228

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

243 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 ページ 処 理 機 能 230

244 4.デザイナーガイド Copper PDF 3.0 説 明 書 用 紙 のサイズの 指 定 がない 場 合 用 紙 の 幅 と 高 さは それぞれページの 幅 と 高 さに 断 ち 口 の 幅 を 足 し た も の に 自 動 的 に 設 定 さ れ ま す 用 紙 の サ イ ズ を 指 定 し た 場 合 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パス 以 上 必 要 になることがあ ります ページ 処 理 機 能

245 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 ページ 処 理 機 能 232

246 4.デザイナーガイド Copper PDF 3.0 説 明 書 ページごとに 生 成 されるコンテンツ 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] 次 の 例 は 再 生 成 ボックスとページカウンタ (207ページ)を 利 用 して ページごとに ノ ンブル を 振 ります 各 ページの 下 部 中 央 にページ 番 号 が 表 示 されます また 本 文 の 前 でページカウンタをリセットし 目 次 と 本 文 は 別 にページを 振 りなおしています 例 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 { ページ 処 理 機 能

247 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> 左 右 のページでアラインメントを 変 えることにより ページの 外 側 にノンブルを 振 るこ とができます また -cssj-heading 関 数 を 利 用 することで 現 在 ページのセクションの 見 出 しを 一 緒 に 表 示 することができます 例 4.62 見 出 しの 表 示 <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: 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>... 本 文 ページ 処 理 機 能 234

248 4.デザイナーガイド Copper PDF 3.0 説 明 書 CSSJ 1.x 系 の-cssj-regeneratable [css] も 互 換 性 のためサポートされていますが パ フォーマンスの 面 から-cssj-page-content [css] の 使 用 を 推 奨 します ページ 処 理 機 能

249 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 改 ページ 制 御 236

250 4.デザイナーガイド Copper PDF 3.0 説 明 書 テーブル 行 の 直 後 テーブルセルの 直 前 テーブルセルの 直 後 ただし 上 記 の 場 所 であっても 浮 動 ボックス 内 絶 対 配 置 ボックス 内 テーブルセル 内 で は 強 制 改 ページを 発 生 することはできません 要 素 の 直 前 の 強 制 改 ページの 指 定 は{page-break-before: always;}です 要 素 の 直 後 の 強 制 改 ページの 指 定 は{page-break-after: always;}です 以 下 は 強 制 改 ページを 使 って 表 紙 を 作 る 例 です 例 4.63 強 制 改 ページ <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.64 空 ページが 生 じるケース <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 と 解 釈 されます 改 ページ 制 御

251 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.65 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 改 ページ 制 御 238

252 4.デザイナーガイド Copper PDF 3.0 説 明 書 例 4.66 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.67 widowsが2の 場 合 ( 段 落 1)1 行 目... 2 行 目... 3 行 目... 4 行 目... 5 行 目... 6 行 目... 7 行 目... 8 行 目... ( 段 落 2)1 行 目... 2 行 目... 3 行 目... 1ページ 目 4 行 目... 5 行 目... 2ページ 目 同 じ 文 書 でwidows [css] を3に 指 定 すると 以 下 のように 前 のページから 次 のページへ 行 を 移 動 して widows [css] を 満 たすようにします 改 ページ 制 御

253 4.デザイナーガイド 例 4.68 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.69 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 改 ページ 制 御 240

254 4.デザイナーガイド Copper PDF 3.0 説 明 書 例 4.70 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;}という 指 定 を します 改 ページ 抑 制 されたボックスがページをはみ 出 す 場 合 は ボックスが 丸 ごと 次 のページ の 先 頭 に 先 送 りされます ただし ボックスが( 先 送 りの 結 果 か 元 々そこにあるかに 関 わらず)ページの 先 頭 にある 場 合 かつボックスの 高 さがページの 高 さを 超 えてしまう 場 合 は 改 ページの 抑 制 を 無 視 してページ 分 割 されます 改 ページ 制 御

255 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 改 ページ 制 御 242

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

257 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 テーブル 内 での 改 ページ 244

258 4.デザイナーガイド Copper PDF 3.0 説 明 書 テーブルがページの 先 頭 にあり かつ 改 ページ 禁 止 指 定 のために ページの 下 端 までの 間 で 改 ページできない 場 合 は 行 間 の 改 ページ 禁 止 を 無 視 します この 場 合 は 改 ペー ジが 禁 止 された 部 分 であっても 改 ページが 発 生 します テーブル 行 内 部 (セル 内 部 )での 改 ページ テーブル 行 内 に {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.71 テーブルセル 内 での 改 ページを 有 効 にするCSS td, th { page-break-inside: auto; } 上 のスタイルシートをデフォルトのスタイルシートとして 指 定 しておけば あらゆる ページでテーブルセル 内 での 改 ページがされるようになります テーブル 内 での 改 ページ

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

260 4.デザイナーガイド Copper PDF 3.0 説 明 書 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 がフォントを 選 択 する 方 法 については ドキュメント 中 でのフォントの 利 用 (44ページ) をご 参 照 ください font-family フォントのファミリ 名 です font-style フォントのスタイルです normal, italic, obliqueのいずれかです デフォルトはnormalで す font-weight フォントの 太 さです normal, bold または100から900までの100 刻 みの 値 です デフォル トはnormalです WebFont

261 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, SVGフォント 等 は サポートしていません 次 の 例 は 漢 字 にはIPA Pゴシック ひらがなと 英 数 字 にはきろ 字 を 使 用 します 4.12 WebFont 248

262 4.デザイナーガイド Copper PDF 3.0 説 明 書 例 4.73 複 数 のフォントの 併 用 (ソース) <html> <head> <style { font-family: "MyFont"; src: url(" unicode-range: U+4E00-9FFF; { font-family: "MyFont"; src: url(" unicode-range: U+A5, U+0-7F, U+30??; } body { font-family: "MyFont"; } </style> </head> <body> <p> 目 に 青 葉 / 山 ほととぎす/ 初 がつお</p> </body> </html> 図 4.22 複 数 のフォントの 併 用 ( 表 示 結 果 ) WebFont

263 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 縦 書 き 250

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

265 4.デザイナーガイド 書 字 方 向 の 混 在 横 書 き 中 に 縦 書 き 指 定 された 要 素 がある あるいは 縦 書 き 中 に 横 書 き 指 定 された 要 素 がある 場 合 書 字 方 向 が 混 在 するものとして 処 理 します 文 書 の 書 字 方 向 と 異 なる 要 素 の 中 では 改 ページすることはできません ブロックの 書 字 方 向 が 異 なる 場 合 そのブロックのページ 進 行 方 向 の 幅 ( 親 要 素 が 横 書 きでは 高 さ 縦 書 きでは 幅 )がautoであれば 10emに 固 定 します しかし 書 字 方 向 の 異 なるブロックを ページ 進 行 方 向 の 幅 をautoで 配 置 することは 推 奨 しません 行 方 向 の 幅 ( 親 要 素 横 書 きでは 幅 縦 書 きでは 高 さ)の 計 算 方 法 は 通 常 の 場 合 と 同 じです そ のため 内 容 が 長 ければ 親 要 素 の 行 方 向 にはみ 出 すことになります あるいは 多 段 組 (ページ)を 活 用 してください 例 4.75 横 書 きの 文 書 の 一 部 を 縦 書 きにする(ソース) <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 縦 書 き 252

266 4.デザイナーガイド Copper PDF 3.0 説 明 書 図 4.24 横 書 きの 文 書 の 一 部 を 縦 書 きにする( 表 示 結 果 ) インラインの 書 字 方 向 が 異 なる 場 合 インラインブロックとして 配 置 します これは 縦 中 横 のために 使 うことができます 例 4.76 縦 中 横 (ソース) <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> 縦 書 き

267 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 縦 書 き 254

268 4.デザイナーガイド Copper PDF 3.0 説 明 書 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 縦 書 き

269 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.77 横 書 きの 文 書 (ソース) <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 縦 書 き 256

270 4.デザイナーガイド Copper PDF 3.0 説 明 書 <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;} を 適 用 すると 見 出 し の 境 界 線 や 画 像 のマージンが 回 転 され より 適 切 な 表 示 になります 縦 書 き

271 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 縦 書 き 258

272 4.デザイナーガイド Copper PDF 3.0 説 明 書 元 の 計 算 値 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;}の 場 合 と 同 様 です 縦 書 き

273 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 多 段 組 260

274 4.デザイナーガイド Copper PDF 3.0 説 明 書 </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-11-19

Copper PDF 3.0 説明書 2015-11-19 297mm height / 210mm width / HTML PDF変換サーバー Copper PDF バージョン 3.0 説明書 発売元 株式会社 GNN 2015-11-19 NOTICE Copper PDF 2011-2015 Zamasoft. All rights reserved. This product includes software developed by Andy

More information

工事記録写真チェックシステム 操作説明書

工事記録写真チェックシステム 操作説明書 工 事 記 録 写 真 チェックシステム - 操 作 説 明 書 - 平 成 24 年 11 月 東 日 本 高 速 道 路 株 式 会 社 中 日 本 高 速 道 路 株 式 会 社 西 日 本 高 速 道 路 株 式 会 社 - 目 次 - 1. 概 要 1-1. 対 象 要 領 1-2. 動 作 環 境 1-3. チェック 内 容 2. 操 作 方 法 2-1. システムの 起 動 2-2.

More information

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10 2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e-rad の ID パ ス ワード を 入 力 し [ログイン]をクリックします 9 4 応 募 者

More information

2 課 題 管 理 ( 科 学 研 究 費 補 助 金 ) 画 面 が 表 示 されます 補 助 事 業 期 間 終 了 後 欄 の[ 入 力 ] をクリックします [ 入 力 ]ボタンが 表 示 されていない 場 合 には 所 属 する 研 究 機 関 の 事 務 局 等 へお 問 い 合 わせく

2 課 題 管 理 ( 科 学 研 究 費 補 助 金 ) 画 面 が 表 示 されます 補 助 事 業 期 間 終 了 後 欄 の[ 入 力 ] をクリックします [ 入 力 ]ボタンが 表 示 されていない 場 合 には 所 属 する 研 究 機 関 の 事 務 局 等 へお 問 い 合 わせく 2.6. 研 究 成 果 報 告 書 の 作 成 2.6.1 研 究 成 果 報 告 内 容 ファイルを 作 成 1 科 学 研 究 費 助 成 事 業 の Web ページ 等 から 研 究 成 果 報 告 内 容 ファイル 様 式 をダウンロードし ます 2 ダウンロードした 研 究 成 果 報 告 内 容 ファイル 様 式 に 報 告 内 容 を 記 入 し 保 存 します 所 定 の 様 式

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

C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで

C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで C.1 共 有 フォルダ 接 続 操 作 の 概 要 C.2 Windows から 接 続 操 作 する C.3 Mac OS X から 接 続 操 作 する 67 C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり

More information

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e 2.2.1 科 研 費 電 子 申 請 システム( 交 付 申 請 手 続 き)へログイン 1 Web ブラウザを 起 動 し 日 本 学 術 振 興 会 の 電 子 申 請 のご 案 内 サイト (http://www-shinsei.jsps.go.jp/)を 表 示 し 科 学 研 究 費 助 成 事 業 をクリックします 8 2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が

More information

Microsݯft Word - 91 forܠ2009November.docx

Microsݯft Word - 91 forܠ2009November.docx 特 集 : Query & Analysis の 仕 訳 転 送 機 能 SunSystems と 連 携 し て 使 用 す る こ と が で き る Infor Performance Management Query&Analysis( 以 下 Q&A) ( 旧 : SunSystems Vision ) と い う 製 品 が あ り ま す Q&A は Microsoft Excel の

More information

1.2. ご 利 用 環 境 1.2.1. 推 奨 ブラウザ Internet Explorer 10 11 Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

1.2. ご 利 用 環 境 1.2.1. 推 奨 ブラウザ Internet Explorer 10 11 Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7 1. アーカイブデータベースを 検 索 / 閲 覧 する 1.1. データの 検 索 方 法 東 京 アーカイブ では 以 下 に 分 類 されるカテゴリの 画 像 データ 資 料 データを 閲 覧 できます 江 戸 城 浮 世 絵 双 六 和 漢 書 江 戸 東 京 の 災 害 記 録 絵 葉 書 写 真 帖 近 代 の 地 図 東 京 府 東 京 市 関 係 資 料 番 付 建 築 図 面 書

More information

の と す る (1) 防 犯 カ メ ラ を 購 入 し 設 置 ( 新 設 又 は 増 設 に 限 る ) す る こ と (2) 設 置 す る 防 犯 カ メ ラ は 新 設 又 は 既 設 の 録 画 機 と 接 続 す る こ と た だ し 録 画 機 能 付 防 犯 カ メ ラ は

の と す る (1) 防 犯 カ メ ラ を 購 入 し 設 置 ( 新 設 又 は 増 設 に 限 る ) す る こ と (2) 設 置 す る 防 犯 カ メ ラ は 新 設 又 は 既 設 の 録 画 機 と 接 続 す る こ と た だ し 録 画 機 能 付 防 犯 カ メ ラ は 小 牧 市 地 域 防 犯 カ メ ラ 等 設 置 補 助 金 交 付 要 綱 平 成 2 8 年 3 月 2 2 日 2 7 小 市 安 第 7 5 7 号 ( 通 則 ) 第 1 条 小 牧 市 地 域 防 犯 カ メ ラ 等 設 置 補 助 金 ( 以 下 補 助 金 と い う )の 交 付 に つ い て は 市 費 補 助 金 等 の 予 算 執 行 に 関 す る 規 則 ( 昭 和

More information

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

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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 履 修 履 歴 データベースの 仕 組 み 学 生 が 履 修 履 歴 を 登 録 して 企 業 へデータを 送 信 すると 企 業 担 当 者 が 履 修 履 歴 データを 見 られるようになります 不 特 定 の 企 業 に 履 修 履 歴 データが 閲 覧 されるわけではありません < 基 本 的 な 流 れ> A 社 データ ベース 応 募 企 業 へ データを 送 信 学 生 A 専

More information

雇用保険被保険者資格取得届(様式)編

雇用保険被保険者資格取得届(様式)編 平 成 2 8 年 3 月 1 日 第 4 版 発 行 e-gov 電 子 申 請 実 務 マ ニ ュ ア ル 香 川 県 社 会 保 険 労 務 士 会 目 次 1. 手 続 検 索 1 2. 申 請 書 の 作 成 3 3. 被 保 険 者 資 格 取 得 届 の 作 成 7 4. 提 出 代 行 証 明 書 の 添 付 8 5. 署 名 の 実 施 1 0 6. 申 請 書 の 送 信 1 1

More information

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

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

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

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 1 1.2 入 力 項 目 について 1.2.1 基 本 情

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 1 1.2 入 力 項 目 について 1.2.1 基 本 情 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 1 1.2 入 力 項 目 について 1.2.1 基 本 情 報 入 力 項 目 2 1.2.2 子 ども 医 療 費 明 細 入 力 項 目 3 1.2.3 ひとり

More information

PDF閲覧制限システムLight版体験版マニュアル

PDF閲覧制限システムLight版体験版マニュアル システムインストール PDF 閲 覧 制 限 システムCD 内 またはダウンロードした setuplockpl.exe をダブルクリックしてください PDF 閲 覧 制 限 システム 体 験 版 セットアップが 開 始 します インストール 画 面 のメッセージ 従 ってインストールを 行 ってください PDF 閲 覧 制 限 システム 体 験 版 マニュアル 販 売 開 発 元 オリーブ 情 報

More information

文科省様式3-2集計オプションマニュアル

文科省様式3-2集計オプションマニュアル 文 科 省 様 式 3-2 集 計 オプション 利 用 マニュアル 平 成 25 年 3 月 8 日 日 本 加 除 出 版 株 式 会 社 1 文 科 省 様 式 3-2 集 計 オプション とは 文 科 省 様 式 3-2 集 計 オプションは 日 本 加 除 出 版 株 式 会 社 発 行 の 小 学 校 理 科 教 育 等 設 備 台 帳 ( 平 成 23 年 度 ~ 平 成 34 年 度

More information

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 改 訂 の 要 因 旧 新 (2013 年 4 月 版 ) 文 言 削 除 p.11(1. 基 本 事 項 ) (2) 保 証 すべき 実 数 の 精 度 p.5(1. 基 本 事 項 ) (2) 保 証 すべき 実 数 の 精 度 1. 用 紙 系 ( 線 種 ピッチ 等 用 紙 上 の 大 きさで

More information

目 次 機 能 -------------------- 3 運 用 上 の 注 意 -------------------- 4 処 理 手 順 -------------------- 5 画 面 説 明 ログイン -------------------- 6 直 送 先 選 択 1 -----

目 次 機 能 -------------------- 3 運 用 上 の 注 意 -------------------- 4 処 理 手 順 -------------------- 5 画 面 説 明 ログイン -------------------- 6 直 送 先 選 択 1 ----- DONKEL order system 御 利 用 ガイド お 得 意 様 : 様 電 話 : ご 担 当 者 様 : お 得 意 様 ID: パスワード: * 変 更 希 望 の 方 はP4をご 覧 ください ドンケル 株 式 会 社 目 次 機 能 -------------------- 3 運 用 上 の 注 意 -------------------- 4 処 理 手 順 --------------------

More information

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド 本 書 では 管 理 者 向 けに MetaMoJi ClassRoom/ゼミナールで 年 度 更 新 を 実 施 する 手 順 について 説 明 して います 管 理 者 ガイドと 合 わせてご 覧 ください Excelは 米 国 Microsoft Corporationの 米 国 およびその 他 の 国 における 登 録 商 標 または 商 標 です Apache OpenOffice Apache

More information

<4D F736F F D2090C389AA8CA72D92F18F6F2D D F ED28CFC82AF91808DEC837D836A B E838B A815B816A2E646F6378>

<4D F736F F D2090C389AA8CA72D92F18F6F2D D F ED28CFC82AF91808DEC837D836A B E838B A815B816A2E646F6378> 1. 基 本 事 項 1.1. システムで 行 えること デジタルライブラリー では データベース 上 に 登 録 されている 様 々なカテゴリのデータを 検 索 閲 覧 できます データを 検 索 する キーワード 検 索 全 データをフリーワードで 検 索 できます 簡 易 検 索 データの 共 通 項 目 に 条 件 を 指 定 し 全 データを 横 断 して 検 索 できます 詳 細 検 索

More information

スライド 1

スライド 1 Android 版 目 視 録 運 用 操 作 マニュアル 作 成 2012/03/22 更 新 2014/09/26 目 視 録 とは 携 帯 またはパソコンで 施 工 写 真 を 登 録 確 認 できるシステムです ご 利 用 の 為 にはIDとパスワードが 必 要 です TEG ログインID ( ) パスワード ( ) https://teg.mokusiroku.com/

More information

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 目 次 動 作 環 境 特 長 方 法 方 法 起 動 終 了 方 法 方 法 操 作 方 法 使 方 使 方 使 方 詳 細 設 定 使 方 KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 KINGSOFT Office 2016 特 長 主 特 長 以

More information

変 更 履 歴 日 付 Document ver. 変 更 箇 所 変 更 内 容 2015/3/27 1.0.0 新 規 追 加 2015/9/24 誤 字 修 正 2016/2/19 1.01 動 作 環 境 最 新 のものへ 変 更 全 体 オペレーター の 表 記 を 削 除 2016/5/

変 更 履 歴 日 付 Document ver. 変 更 箇 所 変 更 内 容 2015/3/27 1.0.0 新 規 追 加 2015/9/24 誤 字 修 正 2016/2/19 1.01 動 作 環 境 最 新 のものへ 変 更 全 体 オペレーター の 表 記 を 削 除 2016/5/ KDDI Smart Mobile Safety Manager Mac ユーザーマニュアル 最 終 更 新 日 2016 年 5 月 26 日 Document ver.1.0.2 1 変 更 履 歴 日 付 Document ver. 変 更 箇 所 変 更 内 容 2015/3/27 1.0.0 新 規 追 加 2015/9/24 誤 字 修 正 2016/2/19 1.01 動 作 環 境

More information

1-1 一覧画面からの印刷

1-1 一覧画面からの印刷 第 7 章 公 報 の 印 刷 7-1 一 覧 画 面 からの 印 刷 検 索 された 公 報 は 印 刷 することができます 目 次 印 刷 や 公 報 全 文 複 数 件 の 公 報 印 刷 も 可 能 です はじめに 検 索 画 面 から 結 果 一 覧 ボタンを 押 して 検 索 結 果 一 覧 画 面 を 表 示 させます 印 刷 方 法 をご 確 認 ください 一 括 選 択 ( 反 転

More information

Acrobat早分かりガイド

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

More information

節 実 施 期 間 実 施 級 実 施 期 間 情 報 処 理 第 回 は 級 と 級 のみ 実 施 各 期 間 内 回 の 受 験 となります C 言 語 Java Visual Basic ワードプロセッサ 第 回 は 級 のみ 実 施 第 回 は 級 のみ 実 施 第 回 は 級 と 級 のみ

節 実 施 期 間 実 施 級 実 施 期 間 情 報 処 理 第 回 は 級 と 級 のみ 実 施 各 期 間 内 回 の 受 験 となります C 言 語 Java Visual Basic ワードプロセッサ 第 回 は 級 のみ 実 施 第 回 は 級 のみ 実 施 第 回 は 級 と 級 のみ 第 章 試 験 の 構 成 実 施 期 間 PC 環 境 節 試 験 の 構 成 試 験 情 報 処 理 C 言 語 Java 級 受 験 料 ( 税 込 ) 一 般 受 験 料 会 場 割 引 料 試 験 時 間 退 室 可 能 時 間 合 否 基 準 第 部 第 部 第 部 60% 以 上 かつ 級 6,00 円 4,500 円 90 分 90 分 第 部 60% 以 上 の 試 験 開 始 40

More information

目 次 ログインする 前 に... 4 メンバー 管 理 編 ( 管 理 者 )... 5 ログインする... 6 トップページについて... 7 メンバー 管 理 をする... 8 メンバー 管 理 画 面 について... 8 1 医 療 機 関 指 定... 9 2 新 規 追 加 指 定...

目 次 ログインする 前 に... 4 メンバー 管 理 編 ( 管 理 者 )... 5 ログインする... 6 トップページについて... 7 メンバー 管 理 をする... 8 メンバー 管 理 画 面 について... 8 1 医 療 機 関 指 定... 9 2 新 規 追 加 指 定... 取 扱 説 明 書 心 電 クラウド ブラウザ 編 Ver.1.6C 目 次 ログインする 前 に... 4 メンバー 管 理 編 ( 管 理 者 )... 5 ログインする... 6 トップページについて... 7 メンバー 管 理 をする... 8 メンバー 管 理 画 面 について... 8 1 医 療 機 関 指 定... 9 2 新 規 追 加 指 定... 9 3 ユーザー 権 限 指

More information

参加表明書・企画提案書様式

参加表明書・企画提案書様式 秋 田 市 道 路 除 排 雪 車 両 運 行 管 理 システム( 仮 称 ) 導 入 業 務 委 託 公 募 型 プロポーザル 参 加 表 明 書 企 画 提 案 書 様 式 平 成 25 年 7 月 秋 田 市 建 設 部 道 路 維 持 課 ( 様 式 1) 参 加 表 明 書 業 務 の 名 称 秋 田 市 除 排 雪 車 両 運 行 管 理 システム( 仮 称 ) 導 入 業 務 委 託

More information

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ .3 1...3 メール 受 信 タブのサブメニューから 直 接 受 信 箱 以 外 のフォルダを 表 示 することもできます 共 有 メー ルボックスのフォルダは 指 定 できません 3. 35 メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受

More information

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編 POWER EGG V2.0 ユーザーズマニュアル ファイル 管 理 編 Copyright 2009 D-CIRCLE,INC. All Rights Reserved 2009.4 はじめに 本 書 では POWER EGG 利 用 者 向 けに 以 下 の POWER EGG のファイル 管 理 機 能 に 関 する 操 作 を 説 明 しま す なお 当 マニュアルでは ファイル 管 理 機

More information

R4財務対応障害一覧

R4財務対応障害一覧 1 仕 訳 入 力 仕 訳 入 力 時 摘 要 欄 で. + Enter を 押 すと アプリケーションでエラーが 発 生 しまインデックスが 配 列 の 境 界 外 です が 出 る 場 合 がある 問 題 に 対 応 しま 2 仕 訳 入 力 仕 訳 入 力 主 科 目 と 補 助 科 目 を 固 定 にすると2 行 目 以 降 の 補 助 科 目 コピーが 動 作 しない 問 題 に 対 応

More information

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 27 8.2 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 28 8.3 高

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 27 8.2 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 28 8.3 高 雇 用 保 険 マイナンバー 改 定 向 け 操 作 説 明 書 < 目 次 > 1.マイナンバー 等 の 法 令 改 定 対 応 について 3 1.1 法 令 改 定 の 変 更 点 3 1.2 その 他 主 要 な 変 更 点 4 2.マイナンバー 管 理 システムとの 連 携 設 定 5 2.1 マイナ de 社 労 夢 の 運 用 設 定 5 2.2 マイナ de 社 労 夢 CL の 運

More information

iStorage ソフトウェア VMware vSphere Web Client Plug-in インストールガイド

iStorage ソフトウェア VMware vSphere Web Client Plug-in インストールガイド istorage ソフトウェア VMware vsphere Web Client Plug-in インストールガイド はじめに このインストールガイドでは WebSAM Storage VMware vsphere Web Client Plug-in のインストールに 関 して 説 明 しています 本 製 品 は VMware vcenter Server VMware vsphere Web

More information

アドイン翻訳について

アドイン翻訳について 1 アドイン 翻 訳 について アドイン 翻 訳 は 各 種 アプリケーションに J-SERVER の 翻 訳 機 能 を 組 み 込 んで 翻 訳 する 機 能 です この 機 能 を 利 用 すると 編 集 中 の 文 書 をお 使 いのアプリケーション 上 で 直 接 翻 訳 できるようになります ご 利 用 環 境 アドイン 翻 訳 のご 利 用 には Microsoft Windows 98/ME/2000/XP/Vista/7

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

富士山チェックリスト

富士山チェックリスト 富 士 山 決 算 マニュアル 富 士 山 賃 貸 管 理 財 務 会 計 を 使 用 して 決 算 を 行 う 場 合 の 一 般 的 な 手 順 をご 説 明 します 個 人 不 動 産 の 決 算 を 行 う 場 合 P1~P8 個 人 一 般 の 決 算 を 行 う 場 合 P4~P8 P11 青 色 申 告 特 別 控 除 額 の 入 力 個 人 農 業 の 決 算 を 行 う 場 合 P4~P11

More information

<4D6963726F736F667420576F7264202D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A83858341838B8169342E33566572816A2E646F63>

<4D6963726F736F667420576F7264202D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A83858341838B8169342E33566572816A2E646F63> 商 品 管 理 商 品 管 理 を 行 うためのメニューです 4.1 商 品 管 理 のサイドメニュー 商 品 管 理 には 以 下 のサイドメニューがあります 商 品 一 覧 登 録 済 みの 商 品 の 一 覧 を 表 示 します 既 に 登 録 済 みの 商 品 の 検 索 検 索 した 商 品 を 編 集 する 際 に 使 用 します 新 規 作 成 商 品 を 新 規 登 録 する 画 面

More information

Copper PDF 3.2 説明書

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

More information

贈与税 faq

贈与税 faq 電 子 申 告 に 関 するよくあるお 問 い 合 わせ 贈 与 税 の 電 子 申 告 に 関 する 概 要 と よくあるお 問 い 合 わせについて 説 明 します 26 年 分 の 贈 与 税 の 電 子 申 告 について 2015 年 1 月 21 日 1 目 次 確 認 したい 項 目 の 場 所 でクリックしてください 例 ) 対 応 プログラム 対 応 帳 票 他 の 税 目 と 異

More information

Microsoft PowerPoint - 130522_リビジョンアップ案内_最終.pptx

Microsoft PowerPoint - 130522_リビジョンアップ案内_最終.pptx WaWaOfficeシリーズ バージョン8.2リビジョンアップ 2013 年 6 月 18 日 リリース 予 定 株 式 会 社 アイアットOEC ローカル 機 能 の 改 善 プレビュー 表 追 加 の 覧 表 にプレビュー 表 を 設 定 可 能 にしました 1 表 2 表 1 +プレビュー 表 から 選 択 設 定 法 個 設 定 個 設 定 基 本 設 定 PC 専 パラメータの 覧 表 時

More information

WEBメールシステム 操作手順書

WEBメールシステム 操作手順書 ひ む か ネ ッ ト WEB メールシステム 操 作 手 順 書 目 次 認 証 画 面 を 表 示 する 認 証 画 面 を 表 示 する 3 ID パスワードの 入 力 3 パスワードを 忘 れてしまった 場 合 の 認 証 方 法 4 メール 送 受 信 メールを 受 信 する 5 メールを 送 信 する 5 メールを 確 認 する メールを 全 選 択 する 7 メールを 削 除 する 7

More information

SchITコモンズ【活用編】

SchITコモンズ【活用編】 2016 SchIT コモンズ 活 用 編 株 式 会 社 スキット 1. 画 像 のサイズ 変 更 (リサイズ) 1. 画 像 の 大 き さ( 幅 )を 変 更 (ア) 画 像 を 挿 入 する 場 合 は[ 画 像 の 挿 入 ]のマークをクリックします [ 参 照 ]をクリックし 任 意 の 場 所 から 挿 入 したい 画 像 を 選 択 し [ 画 像 の 挿 入 ]をクリックします (イ)

More information

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合 TIPS 目 次 TIPS 項 目 棚 割 りを 開 始 するまで 商 品 画 像 の 追 加 方 法 商 品 情 報 の 一 括 更 新 登 録 方 法 棚 割 情 報 の 連 携 方 法 小 売 様 棚 割 ソフトとの 棚 割 情 報 連 携 について 他 棚 割 ソフトとの 棚 割 情 報 連 携 について 棚 割 情 報 のExcel 取 込 について 棚 板 設 定 の 詳 細 商 品 設

More information

PowerPoint Presentation

PowerPoint Presentation 登 録 を 受 け 付 けるWebフォームを 作 成 したい 1. 概 要 ホームページ 上 で 会 員 登 録 を 受 け 付 ける 登 録 フォームの 作 り 方 を 説 明 します 弊 社 のシステムを 利 用 すると 会 員 登 録 や 資 料 請 求 などの 登 録 フォームを 作 成 することが 可 能 です cgiプログラムを 組 む 必 要 はありません < フォーム 作 成 設 定

More information

MapDK3のインストール

MapDK3のインストール ExifEditor Version 4.6 サポートアドレス:kaneda_supp@yahoo.co.jp 目 次 1. メイン 画 面... 3 1.1. 画 像 表 示... 6 2. Exif 情 報 編 集... 8 2.1. 付 帯 情 報 の 編 集... 10 2.2. 日 付 データの 一 括 編 集... 10 2.3. タイムスタンプ... 11 2.3.1. タイムスタンプ

More information

目 次 はじめに...4 1.キャンパスメールを 利 用 するには... 5 1.1.キャンパスメール 利 用 申 請 を 行 う... 5 1.2.アカウント 有 効 化 (アクティベーション)を 行 う... 9 2.メールの 利 用... 10 2-1. WEB ブラウザからメールを 利 用

目 次 はじめに...4 1.キャンパスメールを 利 用 するには... 5 1.1.キャンパスメール 利 用 申 請 を 行 う... 5 1.2.アカウント 有 効 化 (アクティベーション)を 行 う... 9 2.メールの 利 用... 10 2-1. WEB ブラウザからメールを 利 用 大 阪 大 学 キャンパスメール ユーザーマニュアル 目 次 はじめに...4 1.キャンパスメールを 利 用 するには... 5 1.1.キャンパスメール 利 用 申 請 を 行 う... 5 1.2.アカウント 有 効 化 (アクティベーション)を 行 う... 9 2.メールの 利 用... 10 2-1. WEB ブラウザからメールを 利 用 する... 10 2-1-1. Web メール

More information

6 システムを 入 れているパソコンを 入 れ 替 えたいが どうしたらいいのか 元 のパソコンから 新 しいパソコンに 昨 年 度 入 力 データを 移 行 します 手 順 は 次 のとおりです 1 元 のパソコンでシステムを 起 動 して メニュー 画 面 から バックアップ リカバリ を 選

6 システムを 入 れているパソコンを 入 れ 替 えたいが どうしたらいいのか 元 のパソコンから 新 しいパソコンに 昨 年 度 入 力 データを 移 行 します 手 順 は 次 のとおりです 1 元 のパソコンでシステムを 起 動 して メニュー 画 面 から バックアップ リカバリ を 選 システムについて 1 どのバージョンのシステムを 使 えばいいのか Ver3(Windows7 版 )をご 使 用 ください Ver2(WindowsXP 版 )の 場 合 データ 収 集 ができません Ver3(Windows7 版 )をご 使 用 ください WindowsXP 以 前 の 場 合 で システムを 入 れなおすことができない 場 合 は Ver2(WindowsXP 版 )のままで

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション この 資 料 には 住 民 基 本 台 帳 法 で 規 定 された 秘 密 保 持 義 務 を 負 うべき 情 報 が 含 まれています 別 添 1 通 知 カード 等 の 送 付 に 関 する 説 明 資 料 [ 平 成 27 年 9 月 ] 地 方 公 共 団 体 情 報 システム 機 構 通 知 カード 送 付 時 の 外 観 宛 名 面 宛 名 面 うら 1 通 知 カード 送 付 封 筒

More information

研究者情報データベース

研究者情報データベース 研 究 者 情 報 管 理 システム 研 究 者 向 けデータ 一 括 登 録 機 能 操 作 マニュアル 2013 年 6 月 4 日 目 次 1. はじめに... 1 1.1 本 マニュアルの 注 意 事 項... 1 2. 操 作 手 順... 2 2.1 データ 登 録 手 順... 2 2.2 データ 読 み 込 みエラー 時 の 対 応 手 順... 13 3. 登 録 データ 一 覧...

More information

確 定 申 告 書 作 成 システム 操 作 手 順 書 ~ 個 人 利 用 者 向 け 操 作 説 明 書 ~ 平 成 27 年 1 月 JA 長 野 県 営 農 センター ( 株 ) 長 野 県 協 同 電 算 目 次 1.システムの 起 動... 1 ... 1 ... 2 2.ログインとログアウト... 2 ... 3 ...

More information

目 次 第 1 章 は じ め に... 3 第 2 章 基 本 的 な キ ー 操 作... 4 第 3 章 メ ニ ュ ー 画 面... 6 第 4 章 入 荷 業 務... 7 第 5 章 出 荷 業 務... 9 第 6 章 商 品 照 会...11 第 7 章 棚 卸 業 務...12 第

目 次 第 1 章 は じ め に... 3 第 2 章 基 本 的 な キ ー 操 作... 4 第 3 章 メ ニ ュ ー 画 面... 6 第 4 章 入 荷 業 務... 7 第 5 章 出 荷 業 務... 9 第 6 章 商 品 照 会...11 第 7 章 棚 卸 業 務...12 第 入 出 荷 棚 卸 収 集 Biz スタートパック 操 作 説 明 書 目 次 第 1 章 は じ め に... 3 第 2 章 基 本 的 な キ ー 操 作... 4 第 3 章 メ ニ ュ ー 画 面... 6 第 4 章 入 荷 業 務... 7 第 5 章 出 荷 業 務... 9 第 6 章 商 品 照 会...11 第 7 章 棚 卸 業 務...12 第 8 章 パ ソ コ ン の

More information

CSV_Backup_Guide

CSV_Backup_Guide ActiveImage Protector による クラスター 共 有 ボリュームのバックアップ 運 用 ガイド 第 5 版 - 2015 年 4 月 20 日 Copyright NetJapan, Inc. All Rights Reserved. 無 断 複 写 転 載 を 禁 止 します 本 ソフトウェアと 付 属 ドキュメントは 株 式 会 社 ネットジャパンに 所 有 権 および 著 作

More information

ログイン ブラウザから TDPOST へアクセス ログイン GC-(お 客 様 名 )フォルダを 選 択 各 作 業 へ ブラウザを 起 動 します (Internet Explorer Safari Firefox など) 下 記 アドレスをブラウザのアドレス 入 力 欄 に 入 力 します ht

ログイン ブラウザから TDPOST へアクセス ログイン GC-(お 客 様 名 )フォルダを 選 択 各 作 業 へ ブラウザを 起 動 します (Internet Explorer Safari Firefox など) 下 記 アドレスをブラウザのアドレス 入 力 欄 に 入 力 します ht サーバが 新 しくなりました 現 在 ご 利 用 をいただいている 弊 社 FTP サーバがセキュリティ 強 化 のため 新 しくなります 恐 れ 入 りますが 切 り 替 えをお 願 い 致 します 東 海 電 子 印 刷 オンラインストレージサーバ 事 前 登 録 お 客 様 用 こちらの 説 明 書 は TDPOST に 事 前 登 録 をされたお 客 様 専 用 の 説 明 書 です ログイン

More information

1.3. アドインボタンの 場 所 2007 / 2010 / 2013 / 2016 の 各 バージョンのアプリケーションにおいては アドインボタン はリボン 名 アンテナハウス に 登 録 されます アドインボタンの 表 示 状 態 (Word 2010 の 例 ) アドインボタンの 表 示 状

1.3. アドインボタンの 場 所 2007 / 2010 / 2013 / 2016 の 各 バージョンのアプリケーションにおいては アドインボタン はリボン 名 アンテナハウス に 登 録 されます アドインボタンの 表 示 状 態 (Word 2010 の 例 ) アドインボタンの 表 示 状 1. Antenna House PDF Driver の Office アドイン 機 能 について 本 機 能 は PDF Driver のバンドル 製 品 の 仕 様 やライセンスの 種 類 などにより 実 装 さ れていない 場 合 があります 1.1. アドイン 機 能 の 概 要 PDF Driver は Microsoft Word Excel PowerPoint のアドイン 機 能

More information

目 次 必 ずお 読 みください...2 1. 接 続 方 法...2 1-1 WEB ブラウザ 操 作 方 法... 3 1-2 閲 覧 用 PC で 直 接 ZERO 本 体 と 接 続 する 場 合... 3 2. 各 ページについて...3 2-1 発 電 状 況 画 面 表 示... 3

目 次 必 ずお 読 みください...2 1. 接 続 方 法...2 1-1 WEB ブラウザ 操 作 方 法... 3 1-2 閲 覧 用 PC で 直 接 ZERO 本 体 と 接 続 する 場 合... 3 2. 各 ページについて...3 2-1 発 電 状 況 画 面 表 示... 3 Solar Link ZERO WEB アプリケーション 取 扱 説 明 書 Ver1.2 株 式 会 社 ラプラス システム 2010 年 10 月 4 日 目 次 必 ずお 読 みください...2 1. 接 続 方 法...2 1-1 WEB ブラウザ 操 作 方 法... 3 1-2 閲 覧 用 PC で 直 接 ZERO 本 体 と 接 続 する 場 合... 3 2. 各 ページについて...3

More information

スライド 1

スライド 1 e 研 修 PDCA 運 用 チェック Simple e-learning Management System Plus 操 作 説 明 書 管 理 者 機 能 ( 運 用 チェックテーマ 資 材 作 成 管 理 編 ) 05 年 月 Ver..7 アーチ 株 式 会 社 機 能 e 研 修 管 理 機 能 LOGIN 画 面 (PC 環 境 用 ) 説 明 e 研 修 管 理 機 能 LOGIN

More information

Microsoft PowerPoint - webサイト更新マニュアル20150306.ppt [互換モード]

Microsoft PowerPoint - webサイト更新マニュアル20150306.ppt [互換モード] 目 次 目 次 2 全 体 概 要 3 管 理 画 面 へのログイン 4 ページの 種 類 5 新 規 投 稿 の 流 れ 7 記 事 を 投 稿 する( 各 要 素 のパターン) 8 記 事 を 投 稿 する( 要 素 の 順 番 入 れ 替 え 削 除 の 方 法 ) 10 画 像 追 加 11 投 稿 の 編 集 14 サイドエリアの 編 集 16 投 稿 の 削 除 17 新 規 カテゴリの

More information

表紙

表紙 インストールマニュアル(Windows 8) ( 第 4.0 版 ) 群 馬 県 国 民 健 康 保 険 団 体 連 合 会 改 訂 履 歴 版 数 日 付 改 訂 内 容 第 1.0 版 平 成 21 年 8 月 10 日 初 版 第 2.0 版 平 成 24 年 4 月 1 日 Windows 7(32bit/64bit) 対 応 受 給 者 情 報 コピー 機 能 追 加 第 2.1 版 平

More information

・モニター広告運営事業仕様書

・モニター広告運営事業仕様書 秋 田 市 新 庁 舎 動 画 広 告 放 映 事 業 仕 様 書 1 目 的 多 く の 市 民 の 目 に 触 れ る 市 役 所 の 特 性 を 活 か し 映 像 や 音 声 を 活 用 し た モ ニ タ ー に よ る 動 画 広 告 を 新 庁 舎 内 に 導 入 し 新 庁 舎 の 主 要 機 能 の 一 つ で あ る 情 報 発 信 拠 点 と し て の 役 割 を 果 た す

More information

インストール インストール ダウンロードしたファイルをダブルクリックすると 下 記 のファイルが 展 開 されます JigenApp.exe JigenRestart.exe JIGENctrl.dll PC 内 の 任 意 の 同 一 フォルダに 上 記 ファイル 全 てコピーします インストール

インストール インストール ダウンロードしたファイルをダブルクリックすると 下 記 のファイルが 展 開 されます JigenApp.exe JigenRestart.exe JIGENctrl.dll PC 内 の 任 意 の 同 一 フォルダに 上 記 ファイル 全 てコピーします インストール 時 限 消 去 & 暗 号 化 HDD ケース JIGEN マニュアル WINDOWS 版 対 応 OS:Windows XP Vista 7 8 型 番 CT-25-ERP 組 み 立 て 注 意 すでに 使 用 中 の HDD を 暗 号 化 することはできません 本 機 にて 使 用 する HDD の 内 容 は 消 去 されます 誤 って 本 機 を 使 用 してデータ データが 消 失 しても

More information

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順... 6. アドレス 帳 の 操 作 手 順... 8 5. フォルダーの 操 作 手 順... 8 6. メール 発 信 者 登 録 署 名 登 録 手 順... 0 7. 基 本 的 な 設 定

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順... 6. アドレス 帳 の 操 作 手 順... 8 5. フォルダーの 操 作 手 順... 8 6. メール 発 信 者 登 録 署 名 登 録 手 順... 0 7. 基 本 的 な 設 定 Web メール 手 順 書 目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順... 6. アドレス 帳 の 操 作 手 順... 8 5. フォルダーの 操 作 手 順... 8 6. メール 発 信 者 登 録 署 名 登 録 手 順... 0 7. 基 本 的 な 設 定... 8. 参 考 情 報... 9 . WEB メールへのログイン 概

More information

<4D F736F F D F B B838082F090DD927582B782E995FB96405F E646F6378>

<4D F736F F D F B B838082F090DD927582B782E995FB96405F E646F6378> アンケートフォームを 設 置 する 方 法 < 目 次 > 1 アンケートフォームを 利 用 するための 設 定 をする 2 1-1 アンケートフォームの 詳 細 設 定 をする 1-2 アンケートフォームの 入 力 画 面 を 作 成 する 1-3 お 客 さんが 入 力 内 容 を 確 認 するためのページを 作 成 する 1-4 アンケート 完 了 後 に 表 示 するお 礼 画 面 を 作

More information

Microsoft Word - Active.doc

Microsoft Word - Active.doc 利 マニュアル 梅 校 メールサーバをご 利 されていた 教 員 の 皆 さまへ 2009 年 1 7 のメールサーバ 移 に 伴 い 学 外 からの 電 メールの 送 受 信 はウェブメール(Active!mail) からのみ 可 能 となりました Active!mail の 利 法 については 本 マニュアルをご 確 認 ください 次 Active!mail にログインする...2 Active!mail

More information

■ユーザ

■ユーザ Joruri CMS 2.0.0 基 本 マニュアル (2013.7.16) コンテンツ アンケート コンテンツ アンケート では 以 下 のような 機 能 特 徴 を 備 えたアンケートフォームペ ージの 作 成 を 行 うことが 出 来 ます TinyMCE の 使 用 で HTML 等 の 複 雑 な 知 識 を 必 要 とせず MS WORD のような 感 覚 でアンケ ートフォームのページを

More information

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

「1  所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編 既 に 提 出 した 所 得 税 及 び 復 興 特 別 所 得 税 の 確 定 申 告 の 申 告 額 に 誤 り があった 場 合 で 納 める 税 金 が 多 すぎた 場 合 や 還 付 される 税 金 が 少 なす ぎた 場 合 に 提 出 する 更 正 の 請 求 書 や 申 告 をした 税 額 等 が 実 際 より 少 な すぎた 場 合 や 還 付 される 税 金 が 多 すぎた 場

More information

前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) rev:2016-01-00 商 標 類 Windows Office Excel

前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) rev:2016-01-00 商 標 類 Windows Office Excel 広 域 機 関 システム 操 作 マニュアル 共 通 2016-01-00 前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) rev:2016-01-00 商 標 類 Windows Office Excel Word Internet

More information

技術報告会原稿フォーマット

技術報告会原稿フォーマット Web 情 報 共 有 サービス 利 用 マニュアル 1. ファイルの 保 存 ブラウザを 開 き https://webshare.kyokyo-u.ac.jp を 開 く.ログイン 画 面 が 表 示 されるので,ユーザ ID(メールの ID) とパスワードを 入 力 し,ログインボタンをクリックする( 図 2). ログインに 成 功 すると,TOP フォルダの 一 覧 が 表 示 される (

More information

目 次 目 次... 本 書 の 見 かた... 2 商 標 について... 2 オープンソースライセンス 公 開... 2 はじめに... 3 概 要... 3 使 用 環 境 について... 4 対 応 している OS およびアプリケーション... 4 ネットワーク 設 定... 4 Googl

目 次 目 次... 本 書 の 見 かた... 2 商 標 について... 2 オープンソースライセンス 公 開... 2 はじめに... 3 概 要... 3 使 用 環 境 について... 4 対 応 している OS およびアプリケーション... 4 ネットワーク 設 定... 4 Googl Google ク ラ ウ ド プ リ ン ト ガイ ド 目 次 目 次... 本 書 の 見 かた... 2 商 標 について... 2 オープンソースライセンス 公 開... 2 はじめに... 3 概 要... 3 使 用 環 境 について... 4 対 応 している OS およびアプリケーション... 4 ネットワーク 設 定... 4 Google クラウド プリントの 設 定... 5 手

More information

同 期 を 開 始 する( 初 期 設 定 ) 2 1 Remote Link PC Sync を 起 動 する 2 1 接 続 機 器 の [PIN コード ] [ ユーザー 名 ] [ パスワード ] を 入 力 する [PIN コード ] などの 情 報 は 接 続 機 器 の 設 定 画 面

同 期 を 開 始 する( 初 期 設 定 ) 2 1 Remote Link PC Sync を 起 動 する 2 1 接 続 機 器 の [PIN コード ] [ ユーザー 名 ] [ パスワード ] を 入 力 する [PIN コード ] などの 情 報 は 接 続 機 器 の 設 定 画 面 画 面 で 見 る マ ニ ュ ア ル Remote Link 3 対 応 自 動 同 期 アプリ Remote Link PC Sync Remote Link PC Sync は 接 続 機 器 とパソコンとの 間 でファイルの 自 動 同 期 をするアプリです 本 アプリサイトの 対 応 製 品 型 番 に 記 載 された 機 器 動 作 環 境 機 種 OS Windows 8.1(32/64

More information

Untitled

Untitled VPN 接 続 の 設 定 AnyConnect 設 定 の 概 要, 1 ページ AnyConnect 接 続 エントリについて, 2 ページ ハイパーリンクによる 接 続 エントリの 追 加, 2 ページ 手 動 での 接 続 エントリの 追 加, 3 ページ ユーザ 証 明 書 について, 4 ページ ハイパーリンクによる 証 明 書 のインポート, 5 ページ 手 動 での 証 明 書 のインポート,

More information

ThinkBoard Free60 Manual

ThinkBoard Free60 Manual 3.TB ファイル 制 作 手 順 簡 単 ガイド (1) 画 面 をキャプチャする ThinkBoard は ワードやエクセル インターネットブラウザなど 普 段 使 っている 画 面 を 利 用 してコンテンツを 作 る 予 め 作 っていた 画 像 を 利 用 してコンテンツを 作 る といった 事 が 可 能 です 以 下 にそれぞれの 手 順 をご 紹 介 します 1-1.ワードやエクセル

More information

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参 あいち 電 子 調 達 共 同 システム( 物 品 等 ) 入 札 参 加 資 格 申 請 システム 操 作 マニュアル - 業 者 - 目 次... 8-1 8-1 本 店 ID( 業 者 用 ID)の 確 認 ~ 初 期 パスワード 変 更... 8-3 8-1-1 入 札 参 加 資 格 申 請 システム メニュー... 8-3 8-1-2 契 約 営 業 所 等 ID 確 認 (パスワード

More information

PDF閲覧制限システム(簡易版)概説書

PDF閲覧制限システム(簡易版)概説書 NO.391 PDFファイルに 閲 覧 期 限 を 設 定 PDF 閲 覧 制 限 システム( 簡 易 版 ) PDF 閲 覧 制 限 システム( 簡 易 版 ) Light 版 PDF 閲 覧 制 限 システム( 簡 易 版 ) Light-フォルダ 一 括 処 理 版 概 説 書 オリーブ 情 報 処 理 サービス 株 式 会 社 2015 年 5 月 1 概 要 本 ツールはPDFファイルにパスワード

More information

目 次 目 次... 1 本 書 の 見 かた... 2 商 標 について... 2 オープンソースライセンス 公 開... 2 はじめに... 3 概 要... 3 使 用 環 境 について... 4 対 応 している OS およびアプリケーション... 4 ネットワーク 設 定... 4 Goo

目 次 目 次... 1 本 書 の 見 かた... 2 商 標 について... 2 オープンソースライセンス 公 開... 2 はじめに... 3 概 要... 3 使 用 環 境 について... 4 対 応 している OS およびアプリケーション... 4 ネットワーク 設 定... 4 Goo Google ク ラ ウ ド プ リ ン ト ガイ ド Version B JPN 目 次 目 次... 1 本 書 の 見 かた... 2 商 標 について... 2 オープンソースライセンス 公 開... 2 はじめに... 3 概 要... 3 使 用 環 境 について... 4 対 応 している OS およびアプリケーション... 4 ネットワーク 設 定... 4 Google クラウド

More information

ozzio drive とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケ ーション(オンラインストレージ)です 本 資 料 について ozzio drive サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアン ト

ozzio drive とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケ ーション(オンラインストレージ)です 本 資 料 について ozzio drive サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアン ト ozzio drive (Web ブラウザ 版 ) ユーザガイド Lastupdate 2013.8.12 1 ozzio drive とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケ ーション(オンラインストレージ)です 本 資 料 について ozzio drive サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアン

More information

「給与・年金の方」からの確定申告書作成編

「給与・年金の方」からの確定申告書作成編 所 得 が 給 与 のみ 公 的 年 金 のみ 給 与 と 公 的 年 金 のみ の 方 で 入 力 方 法 選 択 画 面 で 給 与 年 金 の 方 を 選 択 された 場 合 の 確 定 申 告 書 作 成 の 操 作 手 順 を 説 明 します ~ この 操 作 の 手 引 きをご 利 用 になる 前 に ~ この 操 作 の 手 引 きでは 確 定 申 告 書 の 作 成 方 法 をご 説

More information

Cloud Disk とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について Cloud Disk サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアントと 本

Cloud Disk とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について Cloud Disk サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアントと 本 Cloud Disk (Web ブラウザ 版 ) ユーザガイド Version 2.0.3 Lastupdate 2013.8.12 1 Cloud Disk とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について Cloud Disk サービスは マイナーバージョンアップ 等 もあるため

More information

BizDataBank とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について BizDataBank サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアントと

BizDataBank とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について BizDataBank サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアントと BizDataBank (Web ブラウザ 版 ) ユーザガイド Version 2.0.3 Lastupdate 2014.8.12 1 BizDataBank とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について BizDataBank サービスは マイナーバージョンアップ 等

More information

CENTNET 導 入 の 手 引 き 変 更 履 歴 No. 変 更 日 変 更 番 号 変 更 枚 数 備 考 1 2011/07/19 2.0 版 発 行 - システムリプレースにより 全 面 刷 新 2 2011//07/19 2.01 版 発 行 3 誤 字 等 の 修 正 3 2014/

CENTNET 導 入 の 手 引 き 変 更 履 歴 No. 変 更 日 変 更 番 号 変 更 枚 数 備 考 1 2011/07/19 2.0 版 発 行 - システムリプレースにより 全 面 刷 新 2 2011//07/19 2.01 版 発 行 3 誤 字 等 の 修 正 3 2014/ CENTNET 導 入 の 手 引 き ( 一 般 購 読 者 用 ) 第 2.1 版 名 古 屋 証 券 取 引 所 CENTNET 導 入 の 手 引 き 変 更 履 歴 No. 変 更 日 変 更 番 号 変 更 枚 数 備 考 1 2011/07/19 2.0 版 発 行 - システムリプレースにより 全 面 刷 新 2 2011//07/19 2.01 版 発 行 3 誤 字 等 の 修

More information

CubePDF ユーザーズマニュアル

CubePDF ユーザーズマニュアル Cube PDF ユーザーズマニュアル 2013.8.14 第 10 版 1 1. PDFの 作 成 CubePDF は PDF プリンタとしてインストールされます そのためCubePDF を 使 用 してご 利 用 のコンピュータの どのプログラムからでも 文 書 を PDF へ 変 換 することができます (1) 文 書 のプログラムで 印 刷 を 選 択 します( 図 はInternet Explorerの

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

タック 健 診 Web ソリューション 団 体 利 用 者 向 け ユーザマニュアル 2016/1/22 Ver. 1.00 目 次 1. はじめに... 1 2. 動 作 環 境... 1 3. ログイン... 2 3.1. 団 体 ログイン... 2 3.2. 利 用 者 ログイン... 3 3.3. マイページ... 4 4. 新 規 予 約... 5 4.1. コース 条 件 の 選 択

More information

変 更 履 歴 版 日 付 区 分 変 更 内 容 変 更 個 所 1 1.00 2015/11/30 新 規 初 版 作 成 2 1.01 2015/12/10 修 正 資 料 カバー 画 像 設 定 の 操 作 内 容 を 追 加 5.1.3. 資 料 カバー 画 像 設 定 i

変 更 履 歴 版 日 付 区 分 変 更 内 容 変 更 個 所 1 1.00 2015/11/30 新 規 初 版 作 成 2 1.01 2015/12/10 修 正 資 料 カバー 画 像 設 定 の 操 作 内 容 を 追 加 5.1.3. 資 料 カバー 画 像 設 定 i J-STAGE 操 作 マニュアル 資 料 情 報 の 各 種 設 定 変 更 方 法 < 第 1.01 版 > 平 成 27 年 12 月 国 立 研 究 開 発 法 人 科 学 技 術 振 興 機 構 変 更 履 歴 版 日 付 区 分 変 更 内 容 変 更 個 所 1 1.00 2015/11/30 新 規 初 版 作 成 2 1.01 2015/12/10 修 正 資 料 カバー 画 像

More information

ご 注 意 (1) 本 書 の 内 容 の 一 部 又 は 全 部 を 無 断 で 転 載 することは 禁 止 されています (2) 本 書 の 内 容 は 将 来 予 告 無 しに 変 更 することがあります (3) 本 書 の 内 容 は 万 全 を 期 して 作 成 しておりますが ご 不 審

ご 注 意 (1) 本 書 の 内 容 の 一 部 又 は 全 部 を 無 断 で 転 載 することは 禁 止 されています (2) 本 書 の 内 容 は 将 来 予 告 無 しに 変 更 することがあります (3) 本 書 の 内 容 は 万 全 を 期 して 作 成 しておりますが ご 不 審 固 定 資 産 税 ( 償 却 資 産 ) 申 告 に 関 する 操 作 ガイド 1.8 版 ご 注 意 (1) 本 書 の 内 容 の 一 部 又 は 全 部 を 無 断 で 転 載 することは 禁 止 されています (2) 本 書 の 内 容 は 将 来 予 告 無 しに 変 更 することがあります (3) 本 書 の 内 容 は 万 全 を 期 して 作 成 しておりますが ご 不 審 な 点

More information

目 次 アカウント 取 得... 1 Blogger にログイン... 3 Blogger の 基 本 ページ... 4 新 規 ブログの 作 成... 5 ブログの 管 理 画 面... 5 ブログの 投 稿... 6 挿 入 画 像 の 設 定... 7 ページの 作 成... 8 レイアウトの

目 次 アカウント 取 得... 1 Blogger にログイン... 3 Blogger の 基 本 ページ... 4 新 規 ブログの 作 成... 5 ブログの 管 理 画 面... 5 ブログの 投 稿... 6 挿 入 画 像 の 設 定... 7 ページの 作 成... 8 レイアウトの Google Blogger 入 門 目 次 アカウント 取 得... 1 Blogger にログイン... 3 Blogger の 基 本 ページ... 4 新 規 ブログの 作 成... 5 ブログの 管 理 画 面... 5 ブログの 投 稿... 6 挿 入 画 像 の 設 定... 7 ページの 作 成... 8 レイアウトの 編 集... 9 テンプレートの 設 定... 10 ブログの

More information

ATOK Syncの設定方法と使い方(Mac用)

ATOK Syncの設定方法と使い方(Mac用) ATOK Sync ア ド バ ン ス 設 定 方 法 と 使 い 方 ~ Mac 版 を お 使 い の 方 へ ~ ATOK Sync ア ド バ ン ス と は 単 語 登 録 や 学 習 し た 内 容 を 保 存 す る ユ ー ザ ー 辞 書 や お 気 に 入 り 文 書 省 入 力 デ ー タ 確 定 履 歴 の デ ー タ な ど を イ ン タ ー ネ ッ ト 上 の サ ー バ

More information

(Microsoft Word - FileZillaServer_\212\310\210\325FTP\203T\201[\203o_\216g\227p\203K\203C\203h_\216Q\215l\227p__JE000267.DOC)

(Microsoft Word - FileZillaServer_\212\310\210\325FTP\203T\201[\203o_\216g\227p\203K\203C\203h_\216Q\215l\227p__JE000267.DOC) はFileZilla のFileZilla 年 月 日 東 洋 電 機 製 造 株 式 会 社 を ためにFTPサーバを FileZilla 本 μturtle-monitorを 推 奨 しますが 簡 易 必 的 要 にFTPサーバ とします 使 用 するにあたり 実 機 運 能 用 を を 用 東 行 意 洋 う し ワイヤレス 際 運 はデータの 用 する 場 計 合 測 信 も システムからの

More information

<4D6963726F736F667420576F7264202D20817982B382F182AC82F18A4F88D75765628354815B83728358817A82B297989770837D836A83858341838B5F8F898AFA90DD92E85F2057696E646F7773389770566572312E302E646F6378>

<4D6963726F736F667420576F7264202D20817982B382F182AC82F18A4F88D75765628354815B83728358817A82B297989770837D836A83858341838B5F8F898AFA90DD92E85F2057696E646F7773389770566572312E302E646F6378> さんぎん 外 為 Web サービス ご 利 用 マニュアル 初 期 設 定 編 Ver.1.0 ( ) 2015 年 5 月 21 日 - 1 - 目 次 1.1 本 マニュアルで 記 載 する 内 容... 4 1.2 システム 要 件... 4 1.2.1 対 応 OS(オペレーティングシステム) 要 件... 4 1.2.2 対 応 Web ブラウザ 要 件... 6 1.2.3 ディスプレイ

More information

■コンテンツ

■コンテンツ Joruri CMS 2.0.0 基 本 マニュアル (2013.7.23) 2012.2.14 データ データでは 複 数 の 場 所 で 共 通 して 利 用 できる 情 報 (テキスト 形 式 ファイル 形 式 )を 作 成 登 録 管 理 できます テキスト データ>テキスト 作 成 されたテキストが 一 覧 表 示 されます 複 数 の 場 所 で 利 用 するテキスト( 住 所 TEL

More information

目 次 機 能 概 要 -------------------------------------------------------------- 3 1. 配 信 管 理 1. メールの 配 信 履 歴 と 予 約 を 確 認 する -------------------------------

目 次 機 能 概 要 -------------------------------------------------------------- 3 1. 配 信 管 理 1. メールの 配 信 履 歴 と 予 約 を 確 認 する ------------------------------- 月 額 900 円 からはじめるメールマーケティング 一 斉 メール 配 信 サービス 機 能 ガイド 2015/6/1 更 新 目 次 機 能 概 要 -------------------------------------------------------------- 3 1. 配 信 管 理 1. メールの 配 信 履 歴 と 予 約 を 確 認 する ----------------------------------------------

More information

本 操 作 説 明 書 について 本 操 作 説 明 書 は 物 品 電 子 調 達 システム 入 札 参 加 資 格 審 査 申 請 についての 操 作 を 説 明 したものです 動 作 環 境 本 アプリケーションは 以 下 の 環 境 にて 動 作 致 します OS 日 本 語 Microso

本 操 作 説 明 書 について 本 操 作 説 明 書 は 物 品 電 子 調 達 システム 入 札 参 加 資 格 審 査 申 請 についての 操 作 を 説 明 したものです 動 作 環 境 本 アプリケーションは 以 下 の 環 境 にて 動 作 致 します OS 日 本 語 Microso 兵 庫 県 物 品 電 子 調 達 システム 物 品 関 係 入 札 参 加 資 格 審 査 申 請 ~ ~ 平 成 27 年 12 月 兵 庫 県 本 操 作 説 明 書 について 本 操 作 説 明 書 は 物 品 電 子 調 達 システム 入 札 参 加 資 格 審 査 申 請 についての 操 作 を 説 明 したものです 動 作 環 境 本 アプリケーションは 以 下 の 環 境 にて 動

More information

Microsoft Word - 311Tools_END

Microsoft Word - 311Tools_END 11.1 テキストエディター(TeraPad) 第 11 章 さらに 使 いこなすためのツール Windows の 標 準 で 搭 載 されているテキストエディターのメモ 帳 Word などに 比 べて メモ 帳 は 軽 く ちょっとした 文 章 を 書 くのに 非 常 に 便 利 です しかし メモ 帳 は 軽 いだけに 機 能 性 はそれほど 高 くありません この 章 で 紹 介 する TeraPad

More information

Gmail 利用者ガイド

Gmail 利用者ガイド Gmail 利 用 者 ガイド 目 次 1. はじめに... 1 2. Gmail を 利 用 する 前 に... 2 3. 初 めてのログイン... 4 3.1. ログイン... 4 3.2. CAPTCHA の 入 力... 5 4. メールボックスの 説 明... 8 5. メールの 受 信... 9 6. メールの 送 信 返 信... 10 6.1. メールの 新 規 作 成... 10

More information

1-2 新 規 CPD 会 員 登 録 の 申 請 から 登 録 までの 手 順 当 協 会 CPDシステムを 利 用 するためには 当 協 会 ホームページトップ 画 面 より CPD 事 務 局 へ のCPD 会 員 登 録 が 必 要 です CPD 会 員 登 録 が 完 了 すると 登 録

1-2 新 規 CPD 会 員 登 録 の 申 請 から 登 録 までの 手 順 当 協 会 CPDシステムを 利 用 するためには 当 協 会 ホームページトップ 画 面 より CPD 事 務 局 へ のCPD 会 員 登 録 が 必 要 です CPD 会 員 登 録 が 完 了 すると 登 録 1. 新 規 CPD 会 員 登 録 について 1-1 新 規 CPD 会 員 登 録 の 申 請 から 登 録 までの 流 れ 1. 当 協 会 JCCAホームページを 開 く http://www.jcca.or.jp/ 2.[ 関 連 資 格 と 試 験 案 内 ]メニュー 内 [CPD 情 報 ]をクリック 3.[CPDシステム ログイン]をクリック 4.[ 新 規 CPD 会 員 登 録

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

Microsoft Word - 養生学研究投稿規定(改)

Microsoft Word - 養生学研究投稿規定(改) よ う せ い 養 生 学 研 究 投 稿 規 定 2000 年 3 月 11 日 施 行 2006 年 5 月 01 日 改 正 1. 養 生 学 研 究 ( 以 下 本 誌 と い う ) の 編 集 及 び 発 行 に 関 し て は こ の 規 定 の 定 め る と こ ろ に よ る. 2. 投 稿 資 格 本 誌 に 原 稿 を 投 稿 で き る 筆 頭 著 者 は, 原 則 と し

More information

Office365 ProPlus 利用方法について

Office365 ProPlus 利用方法について Office365 ProPlus 利 用 方 法 について 05.. Microsoft Office365 について. Office365 ProPlus について 3. Office365 ProPlus Q&A について 帝 京 平 成 大 学 総 合 情 報 技 術 センター. Microsoft Office365 について 本 学 は Microsoft 社 と 包 括 契 約 (Office

More information

<4D6963726F736F667420576F7264202D20457863656C97F195CF8AB72091808DEC90E096BE8F912091E6312E313294C52E646F63>

<4D6963726F736F667420576F7264202D20457863656C97F195CF8AB72091808DEC90E096BE8F912091E6312E313294C52E646F63> Excel 列 変 換 Ver.1.0.3 操 作 説 明 書 第 1.1 版 Copyright (C) 2008 株 式 会 社 恒 河 沙 変 更 履 歴 版 作 成 日 作 成 者 主 な 変 更 点 第 1.0 版 2008/10/29 ( 株 ) 恒 河 沙 東 野 貴 行 新 規 作 成 第 1.1 版 2008/11/04 ( 株 ) 恒 河 沙 東 野 貴 行 - 2 - 目 次

More information