本文レイアウトオプションの送信

処理の流れ

ブログ本文データに加え、本文レイアウトオプションをブログサービスから送信する場合、mode2/3の二通りの方法があります。mode2は、従来のmode1のデータの流れを踏襲しており、mode1からの移行が簡単です。これから実装される場合は、mode3をご利用下さい。

レイアウトオプションをフォームで送信する場合(mode=2)

まずブログサービスからブログ出版局にデータをアップロードします。
そのとき、modeパラメータに"2"を設定すると、以下の形式のレスポンスの[URL]の部分が、本文レイアウトオプションの送信先アドレスとなります。

<?xml version="1.0"?>
<response>
<error>0</error>
<redirect>[URL]</redirect>
</response>

[URL]を取得した後、利用者に対して、例えば次のようなフォームを表示し、利用者のブラウザから直接、レイアウトオプションをブログ出版局へ送信してください。

<form method="post" action="[URL]">
<p>タイトル: <input type="text" name="title" value="" /></p>
<p>副題: <textarea name="description"></textarea></p>
...
<button type="submit">見本PDFを作成</button>
</form>

レイアウトオプションと共にuri, title, author, mail_addressパラメータもフォームから送る必要があります。そのため、サーバーからのデータのアップロード時には、送信可能なこれらのパラメータを送る必要はありません。

利用者がフォームから送信すると、パラメータに不備がなければ、見本PDF作成の進行状況が表示され、処理はブログ出版局に引き継がれます。パラメータに不備がある場合、通常はブログ出版局のデータ登録ページに転送され、エラーメッセージが表示されます。送信元のブログサービスのフォームに戻る場合は、on_errorという名前のパラメータ名にアドレスを設定しておくと、エラー発生時にそのアドレスにリダイレクトされます。

ブログサービスのサーバーから全てのデータを一度に送信する場合(mode=3)

ブログサービスからブログ出版局にデータをアップロードする際、modeパラメータに"3"を設定すると、 http://print.cssj.jp/2/info/if/incomming.php に対して、ブログデータとレイアウトオプションを
一度に送ることが出来ます。送信後の処理方法はmode=1の場合と同じで、移動先のページは見本PDF作成の進捗状況表示になります。

パラメータ一覧

以下が、レイアウトオプションを設定するためのパラメータの一覧です。

共通のパラメータ

パラメータ名必須値の形式値の例説明
title ブログ日記 本のタイトル
description 日々の出来事 本の要約あるいは副題
author ブログ太郎 著者の名前
publisher ブログ出版 発行人の名前
uri 有効なURLであること http://foo.com/miyabe/ ブログのアドレス
include_draft オプションが有効なときは"1" 1 値が"1"のとき、下書きを含める
categories


本に含める複数のカテゴリー名を改行で区切ったリスト
group_by_category オプションが有効なときは"1" 1 値が"1"のとき、内容をカテゴリー順に並べる
year_begin 2002 本にする記事の開始年
month_begin 6 本にする記事の開始月
day_begin 8 本にする記事の開始日
year_end 2008 本にする記事の終了年
month_end 9 本にする記事の終了月
day_end 11 本にする記事の終了日
color "1"(=モノクロ印刷)または"2"(=カラー印刷)
パラメータがない場合はモノクロ印刷
2 モノクロ印刷、カラー印刷の選択
fetch_href オプションが有効なときは"1" 1 値が"1"のとき、画像からリンクされた画像(サムネイルに対する大きな画像)を本に印刷する
make_toc オプションが有効なときは"1" 1 値が"1"のとき、目次を生成する
sp-t-include-comment オプションが有効なときは"1" 1 値が"1"のとき、コメントを印刷する
sp-t-black オプションが有効なときは"1" 1 値が"1"のとき、色指定された文字列を、全て黒にする
super_convert_breaks オプションが有効なときは"1" 1 値が"1"のとき、2つ以上連続する空行を1つにまとめる
no_breaks_in_paragraphs オプションが有効なときは"1" 1 値が"1"のとき、段落内の改行を除去する
text_style 有効な本文スタイル名(下で解説) v-simple-2 本文スタイルの選択
mail_address 有効なメールアドレスであること miyabe@foo.com 通知先メールアドレス

year_XXX, month_XXX, day_XXXのパラメータは3つで1組です。どれか1つが欠けている場合は、全て省略されたと見なされます。

mode=2 で有効なパラメータ

パラメータ名必須値の形式値の例説明
on_error

http://foo.com/publish/
パラメータエラーの際のリダイレクト先

mode=3 で有効なパラメータ

パラメータ名必須値の形式値の例説明
encoding

"UTF-8",
"EUC-JP",
"Shift_JIS",
"ISO-2022-JP"
のいずれか
Shift_JIS ブログデータのキャラクタ・エンコーディング
return 有効なURL http://foo.com/publish/ ブログサービスへの戻り先URL
domain ブログサービスのドメイン名 foo.com ブログサービス識別用文字列
mode "3"で固定 3

 

本文スタイル

text_styleは本文のスタイル名です、設定可能な値は以下の表のとおりです(本文スタイルは他にもありますが、推奨されるものだけ掲載しています)。

本文スタイル名
(text_styleの値)
表示名
standard-2 新・標準スタイル(横組)
v-simple-2 標準縦組
v-2dan-2 縦二段組

各本文スタイルには、さらに特有のパラメータがあります。以下の表から設定してください。

本文スタイルのパラメータ

各本文スタイルのパラメータはsp-t-XXXという形をしています。全てのパラメータは省略可能で、デフォルト値が存在します。

フォントを指定するパラメータは、このページの最後の、パラメータ値とフォントの対応表の値を使ってください。

standard-2 (新・標準スタイル(横組))

group_by_categoryパラメータが"1"の場合は、カテゴリー名により章立てされます。

パラメータ名値の形式
デフォルト説明
sp-t-toc-font
対応表参照 m 目次フォント
sp-t-heading-font 対応表参照 m タイトル・見出しフォント
sp-t-body-font 対応表参照 m 本文フォント
sp-t-comment-font 対応表参照 m コメントフォント
sp-t-nombre-font 対応表参照 m ヘッダ・フッタフォント
sp-t-font-size "2"(=本文8pt)
"3"(=本文10pt)
2 フォントの大きさ
sp-t-page-break "auto"(=自動)
"date"(=日付ごと)
"entry"(=記事ごと)
auto 改ページ方法
sp-t-showdate 有効にする場合"1" 本文に記事の日付を表示する
sp-t-indent 有効にする場合"1" 段落の間を詰める代わりに、1字下げする
デフォルトでは段落の間に1行空ける
sp-t-show-border 有効にする場合"1" 記事の「追記」の前に境界を表示する
sp-t-hide-images 有効にする場合"1" 画像や絵文字を消す
sp-t-image-size

"third"(=紙面の1/3)
"half"(=紙面の1/2)
"full" (=フルサイズ)

full 画像の最大幅
sp-t-image-align

"default"(=そのまま)
"center"(=別段中央)
"left-block"(=別段左寄せ)
"right-block"(=別段右寄せ)
"left"(=文中左寄せ)
"right" (=文中右寄せ)

default 画像の配置方法
sp-t-toc

"date-entry"(=日付と記事名)
"date"(=日付だけ)
"entry" (=記事名だけ)

date-entry 目次に表示する情報
group_by_categoryが"1"の場合、
カテゴリー名(章)は必ず表示する
sp-t-section-number 有効にする場合"1" 自動的に章番号をふる
group_by_categoryが"1"でない場合は無効
sp-t-marginal-date 有効にする場合"1" 余白に日付を表示する
sp-t-marginal-title 有効にする場合"1" 余白に記事名を表示する
sp-t-marginal-category 有効にする場合"1"

余白にカテゴリー名(章)を表示する
group_by_categoryが"1"でない場合は無効

sp-t-show-blog-uri 有効にする場合"1" 奥付にブログのアドレスを表示する

v-simple-2 (標準縦組)およびv-2dan-2(縦二段組)

group_by_categoryパラメータが"1"の場合は、カテゴリー名により章立てされます。

パラメータ名値の形式
デフォルト説明
sp-t-toc-font
対応表参照 m 目次フォント
sp-t-heading-font 対応表参照 m タイトル・見出しフォント
sp-t-body-font 対応表参照 m 本文フォント
sp-t-comment-font 対応表参照 m コメントフォント
sp-t-nombre-font 対応表参照 m ヘッダ・フッタフォント
sp-t-font-size "2"(=本文8pt)
"3"(=本文10pt)
2 フォントの大きさ
sp-t-page-break "auto"(=自動)
"date"(=日付ごと)
"entry"(=記事ごと)
auto 改ページ方法
sp-t-showdate 有効にする場合"1" 本文に記事の日付を表示する
sp-t-indent 有効にする場合"1" 段落の間を詰める代わりに、1字下げする
デフォルトでは段落の間に1行空ける
sp-t-show-border 有効にする場合"1" 記事の「追記」の前に境界を表示する
sp-t-hide-images 有効にする場合"1" 画像や絵文字を消す
sp-t-number-type "1"(=洋数字)
"2" (=漢数字)
日付や章番号の数字の形式
sp-t-text-filter 有効にする場合"1"(sp-t-number-typeの指定も必要) 文中の数字もsp-t-number-typeの形式に自動変換する
sp-t-image-size

"third"(=紙面の1/3)
"half"(=紙面の1/2)

half 画像の最大幅
sp-t-image-align

"default"(=そのまま)
"center"(=別段中央)
"left-block"(=別段上寄せ)
"right-block"(=別段下寄せ)
"left"(=文中上寄せ)
"right" (=文中下寄せ)
※top, bottomではなくてleft, rightなのは仕様です

default 画像の配置方法
sp-t-toc

"date-entry"(=日付と記事名)
"date"(=日付だけ)
"entry" (=記事名だけ)

date-entry 目次に表示する情報
group_by_categoryが"1"の場合、
カテゴリー名(章)は必ず表示する
sp-t-section-number 有効にする場合"1" 自動的に章番号をふる
group_by_categoryが"1"でない場合は無効
sp-t-marginal-date 有効にする場合"1" 余白に日付を表示する
sp-t-marginal-title 有効にする場合"1" 余白に記事名を表示する
sp-t-marginal-category 有効にする場合"1"

余白にカテゴリー名(章)を表示する
group_by_categoryが"1"でない場合は無効

sp-t-show-blog-uri 有効にする場合"1" 奥付にブログのアドレスを表示する

パラメータ値とフォントの対応表

パラメータ値フォント
m2 ヒラギノ明朝体W2
m ヒラギノ明朝体W3
m6 ヒラギノ明朝体W6
m8 ヒラギノ明朝体W8
g1 ヒラギノ角ゴシック体W1
g ヒラギノ角ゴシック体W3
g6 ヒラギノ角ゴシック体W6
g8 ヒラギノ角ゴシック体W8
k こぶりなゴシックW3
a2 ヒラギノ丸ゴシック体W2
a4 ヒラギノ丸ゴシック体W4
a6 ヒラギノ丸ゴシック体W6
mm IPAモナー明朝
mg IPAモナーゴシック
xm IPAex明朝
xg IPAexゴシック
l きろ字
l6 きろ字(太)
y YOzFont
y6 YOzFont(太)
yk YOzFontK

字面が崩れることがあるため、IPAフォントを縦書きで使用しないでください。


ブログサービスからブログ出版局へのデータのアップロード方法

概要

ブログ出版局には、ブログサービスのプログラムから直接ブログデータをアップロードするための窓口が用意されています。 これを利用することで、ブログサービスのユーザーが一旦ブログデータファイルをダウンロードしてブログ出版局にアップロードする、という手間を省くことができます。

実装例としてMovableType 4向けのプラグインが用意されています。

データの送信方法

以下のアドレスにHTTP multipart/form-data形式(RFC2388)でPOSTしてください。各パラメータはUTF-8でエンコーディングしてください(ブログデータ本体を除く)。

http://print.cssj.jp/2/info/if/incomming.php

ファイル

必ず1つ以上のブログデータファイルを送信する必要があります。

ファイルは data_file というパラメータ名で送信してください。

ZIPで圧縮したファイルを送ることもできます。 Content-Typeがapplication/zipであるか、ファイル名が.zipで終わる場合ZIPファイルと認識されます。

複数のファイルを送る場合はパラメータ名を data_file[] としてください。 なお、ZIPファイルを複数送ること、ZIPファイルとZIP形式以外のファイルを混ぜて送ることはできません。

パラメータ

以下のパラメータを適宜加えてください。パラメータはいずれも省略可能です。

パラメータ名デフォルト説明
encoding UTF-8 ブログデータのキャラクタ・エンコーディング
"UTF-8", "EUC-JP", "Shift_JIS", "ISO-2022-JP"が利用可能です。
uri ブログURL
title ブログの題名
author 著者名
mail_address メールアドレス
return ブログサービスへの戻り先URL
domain ブログサービス識別用文字列
mode 1 連携モード("1", "2"または"3")

encodingはブログデータのキャラクタ・エンコーディングをブログ出版局が正しく認識するためのものです。 
uri, title, author, mail_addressは、ブログ出版局の見本作成ページで、最初から入力された状態にするためのものです。省略した場合は空欄になるか、あるいはCookieに保持されたデータから以前の入力が復元されます。

見本PDFが作成された時、あるいはエラー発生時にデータを再登録するためのページへのリンクがお客様に案内されますが、通常はブログ出版局の見本作成ページに誘導されます。ブログシステムの管理画面など、別のページに誘導したい場合は、returnパラメータにそのページのURLを入れておいてください。

domainはアフィリエイト等のために、呼び出し元ブログサービスを弊社が識別できるようにするためのものです。通常は、ブログサービスのドメイン名(foo.com等)を入れてください。

modeは、省略するか"1"の場合はブログ出版局のサイトで、利用者がレイアウトオプションを設定します。modeを"2"または"3"に設定すると、ブログサービス側で本のレイアウトオプションの設定画面を用意することが出来ます。詳細は、本文レイアウトオプションの送信の解説をご覧下さい。

送信後の処理

ファイルの送信後、ブログ出版局側の処理結果はUTF-8エンコーディングのXML形式で返されます。 POSTに対するレスポンスは以下のいずれかです。

エラーの場合

<?xml version="1.0"?>
<response>
<error>1</error>
<message>[エラーメッセージ]</message>
</response>

エラーの場合、ブログサービスは[エラーメッセージ]の内容をユーザーに表示してください。

成功した場合

<?xml version="1.0"?>
<response>
<error>0</error>
<redirect>[URL]</redirect>
</response>

成功した場合、ブログサービスはリダイレクト等の手段で[URL]のアドレスに利用者を誘導してください。

multipart/form-dataの実装に関する情報

HTML

手っ取り早くテストする場合は、次のようなHTMLファイルを用意し、手元のブラウザで表示してください。

<form action="http://print.cssj.jp/2/info/if/incomming.php"
    method="post" enctype="multipart/form-data">
    mode: <input type="text" name="mode" value="1" />
    encoding: <input type="text" name="encoding" value="UTF-8" /><br />
    data_file: <input type="file" name="data_file" /><br />
    <button type="submit">送信</button>
</form>

Perl

LWP::UserAgentが利用できます。

MovableType 4向けのプラグインは実際このライブラリを使っています。プラグインに含まれるlib/PrintCSSJ.pmのコードを流用して頂いても構いません。

PHP

PEAR HTTP_Requestが利用できます。

Java

Apace HTTP Clientを利用できます。

その他

cURLをコマンドラインで実行する方法があります。


技術情報

ここではブログサービス開発者のために、ブログ出版局に関する技術文書等を公開しています。 以下の文書の正確性や、内容の通りに実行した結果受けたお客様の利益および損害について、弊社はなんらかの保障を行うものではありません。 技術文書についてのコメントはこちらからお寄せください。

システム連携機能

 

ブログサービス会社等から、ブログ出版局へ直接データを送信していただく方法の解説です。

ブログサービスからブログ出版局へのデータのアップロード方法

本文レイアウトオプションの送信
(本文レイアウトの設定を、ブログサービス会社等のサイトで行う場合)

ブログ出版局がサポートするデータ形式

ブログ出版局が書籍化することができる、ブログ記事のエクスポート形式についての解説です。

MT互換データ解説
ブログ出版局で使用することのできるMovableType形式互換データについての解説です。 このデータ形式はSix Apart社のMovable Typeの読み込みフォーマットの仕様がベースになっています。
HTML PDF
XML形式(JUGEM互換)データ仕様
ブログ出版局で使用することのできるXML形式データについての仕様です。 このデータはpaperboy&co.のJUGEMあるいはロリポブログによってエクスポートされるデータと互換性を持たせることを意図しています。 この仕様はJUGEM形式の正式な仕様ではなく、正確性を保障するものでないことにご注意ください。
HTML PDF