(57)【要約】【課題】テンプレートの切り替えに伴うテキストの再編集の労力を軽減することが可能な情報処理装置、情報処理方法およびプログラムを提供すること。【解決手段】テンプレートに配置されるテキストを編集する編集手段と、テキストが編集されたときに、テキストをその編集日時に基づき時系列に保存する保存手段と、テンプレートが切り替えられたときに、切り替え後のテンプレートに配置可能なテキスト量の上限に最も近いテキスト量のテキストを保存手段から選択し、編集候補として提示する提示手段とを備えることを特徴とする。【選択図】図１
2017207975.tif 000002
【特許請求の範囲】
【請求項１】
テンプレートに配置されるテキストを編集する編集手段と、
前記テキストが編集されたときに、前記テキストをその編集日時に基づき時系列に保存する保存手段と、
前記テンプレートが切り替えられたときに、切り替え後の前記テンプレートに配置可能なテキスト量の上限に最も近いテキスト量の前記テキストを前記保存手段から選択し、編集候補として提示する提示手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記提示手段は、前記編集候補の１つ前または後に保存された前記テキストを提示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記保存手段は、前記テキストを改行文字の入力により保存することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記保存手段は、前記テキストを区切り文字の入力により保存することを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
前記保存手段は、前記テキストをカーソルの移動により保存することを特徴とする請求項１または２に記載の情報処理装置。
【請求項６】
前記保存手段は、前記テキストを連続した削除キーの操作により保存することを特徴とする請求項１または２に記載の情報処理装置。
【請求項７】
前記テンプレートは、電子ブックを作成するためのものであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
テンプレートに配置されるテキストを編集するステップと、
前記テキストが編集されたときに、前記テキストをその編集日時に基づき時系列に保存手段に保存するステップと、
前記テンプレートが切り替えられたときに、切り替え後の前記テンプレートに配置可能なテキスト量の上限に最も近いテキスト量の前記テキストを前記保存手段から選択し、編集候補として提示するステップと
を備えることを特徴とする情報処理方法。
【請求項９】
コンピュータを請求項１乃至７のいずれか一項に記載の情報処理装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関し、特に、テンプレートに応じてテキストを処理する情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、複数の画像と画像に対するテキストを複数のページに配置した電子ブックを作成する電子ブック作成システムが知られている。電子ブック作成システムにおいては、ユーザの作業負荷を軽減するために、予め複数のテンプレートが用意されていることが多い。
【０００３】
それらのテンプレートには、多くのテキストが配置できるようにテキスト領域が大きく確保されたレイアウト、画像を強調するためにテキスト領域が小さく制限されたレイアウトなど、様々なレイアウトが定められている。ユーザは、所望のレイアウトのテンプレートを選択し、テンプレートに従って画像と画像に対するテキストを配置することで、容易に電子ブックを作成することができる。
特許文献１には、複数の画像と画像に対するテキストを所定の順序に従って配置する画像編集装置が開示されている。特許文献１の装置は、レイアウトが変更されると、変更後のレイアウトに合わせて画像およびテキストの配置順を調整する。
【０００４】
特許文献２には、複数の画像と画像に対するテキストをテンプレートに配置する画像処理装置が開示されている。特許文献２の装置は、テンプレートに配置されたテキストの文字数が上限を超えている場合、フォントサイズの縮小、テキスト領域の拡張、レイアウトの変更などの処理を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１８６９２７号公報
【特許文献２】特開２００７−４１９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
電子ブックを作成するに際し、テンプレートに合わせてテキストを編集した後に、テンプレートを別のテンプレートに切り替える場合がある。そのような場合、編集したテキストの量が切り替え後のテンプレートにそぐわないものとなり、テキストの再編集が必要になることがある。
【０００７】
例えば、切り替え後のテンプレートのテキスト領域が切り替え前のテンプレートのテキスト領域よりも大きい場合、テキスト領域の空白部分が広くなる。これにより、編集時に切り詰め、削除した部分を再度テキストに追加したいという要望が生じることがある。しかしながら、編集過程で削除した部分の内容をユーザが思い出せないこともあり、テキストの再編集には、多大な労力を要することが多い。
【０００８】
本発明は上述の問題点に鑑み、テンプレートの切り替えに伴うテキストの再編集の労力を軽減することが可能な情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る情報処理装置は、テンプレートに配置されるテキストを編集する編集手段と、前記テキストが編集されたときに、前記テキストをその編集日時に基づき時系列に保存する保存手段と、前記テンプレートが切り替えられたときに、切り替え後の前記テンプレートに配置可能なテキスト量の上限に最も近いテキスト量の前記テキストを前記保存手段から選択し、編集候補として提示する提示手段とを備えることを特徴とする。
【００１０】
本発明に係る情報処理方法は、テンプレートに配置されるテキストを編集するステップと、前記テキストが編集されたときに、前記テキストを時系列に保存手段に保存するステップと、前記テンプレートが切り替えられたときに、切り替え後の前記テンプレートに配置可能なテキスト量の上限に最も近いテキスト量の前記テキストを前記保存手段から選択し、編集候補として提示するステップとを備えることを特徴とする。
【００１１】
本発明に係るプログラムは、テンプレートに配置されるテキストを編集するステップと、前記テキストが編集されたときに、前記テキストを時系列に保存手段に保存するステップと、前記テンプレートが切り替えられたときに、切り替え後の前記テンプレートに配置可能なテキスト量の上限に最も近いテキスト量の前記テキストを前記保存手段から選択し、編集候補として提示するステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、テンプレートの切り替えに伴うテキストの再編集の労力を軽減することができる。これにより、ユーザは、容易に電子ブックを作成することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】本発明の第１実施形態に係るブックデータの一例を示す図である。
【図３】本発明の第１実施形態に係るテキスト管理テーブルの一例を示す図である。
【図４】（ａ）は、本発明の第１実施形態に係るリソース元設定画面の一例を示す図であり、（ｂ）は、本発明の第１実施形態に係る画像一覧画面の一例を示す図である。
【図５】（ａ）は、本発明の第１実施形態に係るページ一覧画面の一例を示す図であり、（ｂ）は、本発明の第１実施形態に係るページ詳細画面の一例を示す図である。
【図６】本発明の第１実施形態に係るテキスト編集画面の一例を示す図である。
【図７】本発明の第１実施形態に係るテキスト編集画面の一例を示す図である。
【図８】本発明の第１実施形態に係る電子ブックの作成処理を示すフローチャートである。
【図９】本発明の第１実施形態に係るテキスト編集時における処理を示すフローチャートである。
【図１０】本発明の第１実施形態に係るテンプレート切り替え時における処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１５】
（第１実施形態）
まず、本実施形態に係る情報処理装置の構成について図１を参照して説明する。情報処理装置１００は、入力装置１０９、表示装置１１１とともに、電子ブック作成システムを構成する。
【００１６】
図１は、本実施形態に係る情報処理装置１００の構成を示すブロック図である。情報処理装置１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１０４、入力Ｉ／Ｆ１０５、ＢＭＵ１０６、ＶＲＡＭ１０７、ネットワークＩ／Ｆ１０８を備えている。
【００１７】
ＣＰＵ（Central Processing Unit）１０１は、情報処理装置１００を統括的に制御するプロセッサである。ＣＰＵ１０１は、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１０４などから所定のプログラムを読み出し、実行することにより、情報処理装置１００の各ユニットの動作を制御する。
【００１８】
ＲＯＭ（Read Only Memory）１０２は、変更を必要としないプログラム、各種データなどを格納する。ＲＡＭ（Random Access Memory）１０３は、外部装置から供給されるプログラム、データなどを一時記憶する。ＲＡＭ１０３は、ＣＰＵ１０１のワーク領域、プログラムのロード領域としても使用される。
【００１９】
ＨＤＤ（Hard Disk Drive）１０４は、ＯＳ（Operating System）などの基本プログラム、電子ブックを作成するためのアプリケーションプログラム（以下「フォトアプリ」と言う）、および画像データ、テキストデータなどのコンテンツデータを記憶する。
【００２０】
入力Ｉ／Ｆ（インターフェース）１０５は、入力装置１０９と接続し、入力装置１０９からの指示、データなどの情報を入力する。入力装置１０９は、ポインティングデバイス、キーボードなどから構成され、ユーザによる入力操作を受け付ける。
【００２１】
ＢＭＵ（Bit Move Unit）１０６は、メモリ間のデータ転送、メモリと入出力デバイス間のデータ転送を制御する。例えば、ＢＭＵ１０６は、ＶＲＡＭ１０７とＲＡＭ１０３との間のデータ転送、ＲＡＭ１０３とネットワークＩ／Ｆ１０８との間のデータ転送などを制御する。
【００２２】
ＶＲＡＭ（Video RAM）１０７は、表示装置１１１に表示するための画像を一時記憶し、所定の規定に従って表示装置１１１に出力する。表示装置１１１は、液晶ディスプレイ、有機発光デバイスなどから構成され、ＶＲＡＭ１０７からの画像を表示する。
【００２３】
ネットワークＩ／Ｆ（インターフェース）１０８は、ネットワーク１１０に接続し、ネットワーク１１０を介して外部のコンピュータ、ストレージなどとデータ交換を行う。ネットワーク１１０は、ＬＡＮ（Local Area Network）、インターネットなどの通信ネットワークである。システムバス１１２は、情報処理装置１００を構成する各ユニットを通信可能に接続する。
【００２４】
次に、情報処理装置１００を用いて作成される電子ブックのデータ構成について図２および図３を参照して説明する。
【００２５】
図２は、本実施形態に係るブックデータの一例を示す図である。ブックデータ２００は、電子ブックを構成するために必要な各種情報を含み、階層構造を有する。階層構造は、上位層から順にブック情報２０１、ページ情報２０２および画像情報２０３からなる。ブック情報２０１、ページ情報２０２は、それぞれ下位層へのリンクを含む。
【００２６】
ブック情報２０１は、電子ブック全体に関する情報であり、ブックＩＤ２１１、ブックタイトル２１２、ページ総数２１３などを含む。ページ情報２０２は、各ページに関する情報であり、電子ブック内でページを特定するページ番号２２１、ページのレイアウトＩＤ２２２などを含む。画像情報２０３は、各画像に関する情報であり、各ページに配置される画像のファイルパスを示す画像リンク２３１、各ページで画像が配置される配置位置２３２、画像のクリッピング領域２３３、画像に紐付いたテキストＩＤ２３４などを含む。なお、画像が見開きレイアウトのテンプレートに配置されている場合、その画像情報２０３は、見開きページを構成する両ページのうち一方のページに対するページ情報２０２とリンクされる。
【００２７】
図３は、本実施形態に係るテキスト管理テーブルの一例を示す図である。テキスト管理テーブル３００は、テキストＩＤ３０１、編集履歴ＩＤ３０２、行数３０３、最大行内文字数３０４、テキスト本文３０５、最終文言フラグ３０６を含む。テキスト管理テーブル３００は、テキストＩＤ３０１と編集履歴ＩＤ３０２をキーとして、行数３０３、最大行内文字数３０４、テキスト本文３０５、最終文言フラグ３０６を管理する。
【００２８】
テキストＩＤ（nTextID）３０１は、ブックデータ２００の画像情報２０３において、テキストＩＤ２３４としてテンプレートに配置された画像と１対１で管理される。テキストＩＤ３０１は、テンプレートが選択された場合に連番で発番される。
【００２９】
編集履歴ＩＤ（nChangeID）３０２は、編集したテキストを保存する場合に、上書き保存するのではなく、新しいレコードとして保存するために使用される。編集履歴ＩＤ３０２は、同一のテキストＩＤ３０１に対してインクリメントに発番され、テキスト本文３０５を紐付けて管理する。つまり、テキストＩＤ３０１と編集履歴ＩＤ３０２を用いて、ユーザが編集したテキストを編集時間に基づき時系列に保存し、管理することができる。テキスト管理テーブル３００は、テキストを保存した日時を示すタイムスタンプを含んでいてもよい。
【００３０】
行数（nLineCount）３０３は、保存時のテキスト本文３０５の行数である。最大行内文字数（nWidth）３０４は、保存時のテキスト本文３０５を構成する各行の文字数の中で最大のものである。行数３０３、最大行内文字数３０４は、テンプレートが切り替えられたときに、同一のテキストＩＤ３０１に対応する複数のテキスト本文３０５の中から適切なテキスト本文３０５を選択するための基準として使用される。
【００３１】
テキスト本文（cText）３０５は、テキスト編集画面にユーザが入力したテキストである。テキスト本文３０５は、図３（ｂ）に示されるように、テキストが編集されるたびに時系列に保存される。最終文言フラグ（nFlg）３０６は、テンプレートに配置されることが決定されたテキスト本文３０５に対して、「１（＝フラグＯＮ）」の値が設定される。最終文言フラグ３０６は、同一のテキストＩＤ３０１に対応する複数の編集履歴ＩＤ３０２のうちの１つのみに設定され、これによりテンプレートに配置されるテキスト本文３０５が一意に定められる。
【００３２】
次に、電子ブック作成システムの操作画面について図４乃至図７を参照して説明する。これらの操作画面は、表示装置１１１に表示され、ユーザの入力操作により遷移する。
【００３３】
図４（ａ）は、本実施形態に係るリソース元設定画面の一例を示す図である。リソース元設定画面４００は、テンプレートに配置する画像のリソース元を設定するためのものである。リソース元設定画面４００には、リソース設定ボタン４０１、４０２が表示される。リソース設定ボタン４０１は、情報処理装置１００のＨＤＤ１０４をリソース元に設定するために使用される。リソース設定ボタン４０２は、ネットワーク１１０上のストレージをリソース元に設定するために使用される。
【００３４】
図４（ｂ）は、本実施形態に係る画像一覧画面の一例を示す図である。画像一覧画面４１０は、テンプレートに配置する画像を選択するためのものである。画像一覧画面４１０には、サムネイル４１１、チェックボックス４１２、全選択ボタン４１３、全解除ボタン４１４、画像追加ボタン４１５、バックボタン４１６が表示される。サムネイル４１１は、リソース元に記憶されている画像をサムネイル表示したものである。チェックボックス４１２は、対応するサムネイル４１１を選択するために使用される。全選択ボタン４１３は、全てのサムネイル４１１を選択するために使用される。全解除ボタン４１４は、全ての画像（サムネイル４１１）の選択を解除するために使用される。画像追加ボタン４１５は、画像の選択処理を終了するために使用される。バックボタン４１６は、リソース元設定画面４００に戻るために使用される。
【００３５】
図５（ａ）は、本実施形態に係るページ一覧画面の一例を示す図である。ページ一覧画面５００には、電子ブックに含まれる複数のページが配列表示される。ページ一覧画面５００には、ページ５０１、ページ番号５０２、レイアウト一覧５０３、選択画像一覧５０４、保存ボタン５０５、完了ボタン５０６が表示される。ページ５０１は、電子ブックの見開きページであり、ページ番号５０２は、電子ブックの各ページに付された番号である。
【００３６】
レイアウト一覧５０３には、レイアウトが異なる各種テンプレートのアイコンが表示される。ユーザは、レイアウト一覧５０３からアイコンをドラッグし、ページ５０１の上でドロップすることにより、ページ５０１のテンプレートを切替えることができる。また、選択画像一覧５０４には、画像一覧画面４１０で選択されたサムネイルが表示される。ユーザは、選択画像一覧５０４からサムネイルをドラッグし、ページ５０１の上でドロップすることにより、ページ５０１に画像を配置することができる。なお、テンプレートを切り替えための方法、ＵＩ（ユーザインターフェース）については、特に本発明を限定するものではない。
【００３７】
保存ボタン５０５は、作成中の電子ブックを保存するために使用される。保存ボタン５０５の押下により、作成中の電子ブックはＨＤＤ１０４などに保存され、保存した状態から電子ブックの作成を継続することが可能となる。本実施形態では、保存した電子ブックを選択するためのＵＩの説明は省略する。完了ボタン５０６は、電子ブックの作成を完了し、電子ブックを印刷する処理に移行するために使用される。
【００３８】
ページ一覧画面５００では、表示装置１１１の表示領域が十分に広くない場合、全てのページのうちの一部のページのみが表示される。また、ユーザがスクロール操作をすることに応答して、表示されるページの範囲が切り替わる。図５（ａ）の例では、電子ブックに含まれる全てのページのうち、スクロール位置と対応する１３ページまでのページが表示され、１０ページまでのページに画像が配置されている。
【００３９】
図５（ｂ）は、本実施形態に係るページ詳細画面の一例を示す図である。ページ詳細画面５１０では、表示されたページにテキストを配置することができる。ページ詳細画面５１０には、画像領域５１１、テキスト領域５１２、テキスト編集ＵＩ５１３、ページ移動ＵＩ５１４、５１５、ページ一覧ボタン５１６が表示される。ページ詳細画面５１０には、さらに、レイアウト一覧５０３、選択画像一覧５０４、保存ボタン５０５、完了ボタン５０６が表示される。画像領域５１１、テキスト領域５１２には、それぞれ画像、テキストが配置される。テキスト編集ＵＩ５１３は、テキスト編集画面を表示するために使用される。ページ移動ＵＩ５１４、５１５は、表示対象のページ５０１を前後のページに変更するために使用される。ページ一覧ボタン５１６は、ページ一覧画面５００に戻るために使用される。レイアウト一覧５０３、選択画像一覧５０４、保存ボタン５０５、完了ボタン５０６は、ページ一覧画面５００に表示されるものと同様であるため、ここでの説明は省略する。
【００４０】
図６は、本実施形態に係るテキスト編集画面の一例を示す図である。テキスト編集画面６００には、入力領域６０１、スクロールバー６０２、テキスト量表示６０３、キャンセルボタン６０４、ＯＫボタン６０５が表示される。入力領域６０１は、ユーザがテキストを入力し、編集するための領域である。スクロールバー６０２は、入力領域６０１のテキストをスクロール表示するためものである。テキスト量表示６０３には、テキスト領域５１２に配置可能なテキスト量の上限と、入力領域６０１に現在入力されているテキスト量とが対比して表示される。ここで、テキスト量の上限は、テキスト領域５１２の幅および高さに基づき、最大行内文字数と行数を用いて規定される。キャンセルボタン６０４は、入力領域６０１のテキストをテキスト領域５１２に配置せずに、テキストの編集を終了するために使用される。ＯＫボタン６０５は、入力領域６０１のテキストをテキスト領域５１２に配置し、テキストの編集を終了するために使用される。
【００４１】
図７は、本実施形態に係るテキスト編集画面の一例を示す図である。テキスト編集画面７００は、テンプレートが切り替えられたときに表示される。テキスト編集画面７００には、入力領域６０１、スクロールバー６０２、テキスト量表示６０３、キャンセルボタン６０４、ＯＫボタン６０５、履歴表示ＵＩ７０１、７０２が表示される。入力領域６０１、スクロールバー６０２、テキスト量表示６０３、キャンセルボタン６０４、ＯＫボタン６０５は、図６に示したテキスト編集画面６００に表示されるものと同様である。履歴表示ＵＩ７０１、７０２は、入力領域６０１に表示されたテキストの編集履歴を表示するために使用される。なお、履歴表示ＵＩ７０１、７０２の形状は矢印のようなものに限らず、テキストの編集履歴を表示するためのＵＩであることをユーザに直観的に示すものであればよい。
【００４２】
次に、本実施形態に係る情報処理装置１００の動作について図８乃至図１０を参照して説明する。以下に説明する処理は、情報処理装置１００のＣＰＵ１０１がＨＤＤ１０４からフォトアプリを読み出し、これに従って上述の各ユニットを制御することにより実現される。
【００４３】
図８は、本実施形態に係る電子ブックの作成処理を示すフローチャートである。まず、ＣＰＵ１０１は、ユーザの操作に応答して、処理対象となる電子ブックを選択する（ステップＳ８０１）。選択した電子ブックがＨＤＤ１０４に既に記憶されている場合、ＣＰＵ１０１は、当該電子ブックのブックＩＤをＨＤＤ１０４から読み出す。一方、選択した電子ブックが新規である場合、ＣＰＵ１０１は、新たにブックＩＤを生成する。
【００４４】
次に、ＣＰＵ１０１は、テンプレートに配置する画像のリソース元を設定する（ステップＳ８０２）。具体的には、ＣＰＵ１０１は、図４（ａ）に示すリソース元設定画面４００を表示装置１１１に表示させる。そして、ＣＰＵ１０１は、ユーザがリソース設定ボタン４０１、４０２のいずれかを押下（クリック）したことを検知し、押下されたボタンと対応するリソースをリソース元に設定する。
【００４５】
次に、ＣＰＵ１０１は、選択したリソース元から画像情報を取得する（ステップＳ８０３）。具体的には、リソース設定ボタン４０１が押下された場合、ＣＰＵ１０１は、ＨＤＤ１０４から画像、画像に関するサムネイル、画像のファイル名などの画像情報を取得する。一方、リソース設定ボタン４０２が押下された場合、ＣＰＵ１０１は、ネットワークＩ／Ｆ１０８を介してネットワーク１１０上のストレージにアクセスし、画像情報を取得する。
【００４６】
次に、ＣＰＵ１０１は、取得した画像情報に基づいて、図４（ｂ）に示す画像一覧画面４１０を生成し、表示装置１１１に表示させる（ステップＳ８０４）。そして、ＣＰＵ１０１は、ユーザの操作に応答して、取得した画像の中から使用する画像を選択する（ステップＳ８０５）。具体的には、ＣＰＵ１０１は、ユーザがチェックボックス４１２をＯＮに設定したサムネイル４１１の画像を選択する。なお、画像の選択方法は本実施形態に限定されず、選択した画像を使用して電子ブックが自動生成されるような仕組みであればよい。例えば、サムネイル４１１が押下可能なボタンであり、サムネイル４１１を押下することで、画像を選択するような方法でもよい。
【００４７】
次に、ＣＰＵ１０１は、選択した画像を選択順に従って電子ブックの各ページに配置する（ステップＳ８０６）。続いて、ＣＰＵ１０１は、図５（ａ）に示すページ一覧画面５００を生成し、表示装置１１１に表示させる（ステップＳ８０７）。
【００４８】
最後に、ＣＰＵ１０１は、ユーザの操作に応答して、各ページの編集処理を実行する（ステップＳ８０８）。具体的には、ＣＰＵ１０１は、ユーザがページ一覧画面５００上のページ５０１を押下したことを検知すると、図５（ｂ）に示すページ詳細画面５１０を表示装置１１１に表示させる。そして、ＣＰＵ１０１は、ユーザがテキスト編集ＵＩ５１３を押下したことを検知すると、図６に示すテキスト編集画面６００を表示装置１１１に別ウィンドウで表示させる。
【００４９】
ＣＰＵ１０１は、入力領域６０１のテキストが編集されるたびに、テキスト量表示６０３に表示される情報を更新する。ＣＰＵ１０１は、テキスト量がテキスト領域５１２の高さ（行数）または幅（行内文字数）の上限を超えた場合には、テキスト量表示６０３を赤色のような強調色で表示させてもよい。これにより、ＣＰＵ１０１は、テキスト量が上限を超えたことをユーザに提示することができる。
【００５０】
また、ステップＳ８０８において、ＣＰＵ１０１は、編集したテキストの保存処理、テンプレート切り替え時の処理などを行う。これらの説明は、図９および図１０を用いて後述する。ＣＰＵ１０１は、ユーザが完了ボタン５０６を押下したことを検知すると、電子ブックの作成処理を終了する。
【００５１】
なお、電子ブックの作成処理が終了すると、ＣＰＵ１０１は、電子ブックの印刷注文フローに移行する。ＣＰＵ１０１は、作成した電子ブックを元に印刷用のデータを生成する。また、操作画面は印刷注文のための画面に遷移し、ユーザは注文部数・注文者情報・配送先情報・支払い情報などを入力する。本実施形態では、ユーザの注文に関するＵＩの説明は省略するが、注文に関するＵＩが本発明を限定するものではない。
【００５２】
図９は、本実施形態に係るテキスト編集時における処理を示すフローチャートである。この処理は、図８のステップＳ８０８において、テキスト編集画面６００が表示されたときに実行される。
【００５３】
まず、ＣＰＵ１０１は、変数Ｘに０を代入する（ステップＳ９０１）。変数Ｘは、ＤＥＬＥＴＥ（削除）キーの操作の連続回数を記憶するためのものである。
【００５４】
ＣＰＵ１０１は、テキスト編集画面６００において、ユーザの入力操作があったかどうかを判断する（ステップＳ９０２）。入力操作がない場合（ステップＳ９０２でＮｏ）、ＣＰＵ１０１は、この判断処理を繰り返す。入力装置１０９がユーザの入力操作を受け付けた場合（ステップＳ９０２でＹｅｓ）、ＣＰＵ１０１は、ステップＳ９０３以降の処理に進む。
【００５５】
ＣＰＵ１０１は、入力操作が「ＯＫ」ボタンの押下であった場合（ステップＳ９０３でＹｅｓ）、編集中のテキストをテキスト管理テーブル３００に保存する（ステップＳ９０４）。ＣＰＵ１０１は、編集履歴ＩＤ３０２をインクリメンタルに発番し、入力領域６０１に入力されている内容をテキスト本文３０５に、テキストの行数を行数３０３に、テキストの各行における文字数の最大値を最大行内文字数３０４に保存する。
【００５６】
続いて、ＣＰＵ１０１は、ステップＳ９０４で保存した編集履歴ＩＤ３０２のレコードに最終文言フラグ３０６を設定する（ステップＳ９０５）。そして、ＣＰＵ１０１は、テキスト編集画面６００を閉じ、ページ詳細画面５１０を表示する（ステップＳ９０６）。これにより、ユーザは、入力領域６０１へのテキスト入力を終了し、そのテキストをＨＤＤ１０４などに記録した上で、別ページを編集することが可能となる。
【００５７】
また、ＣＰＵ１０１は、入力操作が「キャンセル」ボタンの押下であった場合（ステップＳ９０３でＮｏ、かつ、ステップＳ９０７でＹｅｓ）、入力領域６０１における編集中のテキストを破棄し（ステップＳ９０８）、ステップＳ９０６の処理に進む。すなわち、ＣＰＵ１０１は、テキスト管理テーブル３００を更新せずに、テキスト編集画面６００を閉じ、ページ詳細画面５１０を表示する。これにより、ユーザは、テキストの入力をキャンセルし、入力領域６０１で編集したテキストをＨＤＤ１０４などに記録せずに、別ページを編集することが可能となる。この場合、最終文言フラグ３０６を設定せずに画面遷移をしているので、ステップＳ９０９以降で保存されたテキストのものよりも古い編集履歴ＩＤのテキストが最終的に採用されたテキストとなる。つまり、最新の編集履歴ＩＤのテキストの内容がテキスト領域５１２に反映されないことがある。
【００５８】
ＣＰＵ１０１は、入力操作が「改行文字」であった場合（ステップＳ９０３、Ｓ９０７でＮｏ、かつ、ステップＳ９０９でＹｅｓ）、編集操作が行単位で進んだと判断し、テキスト管理テーブル３００の編集履歴ＩＤをインクリメンタルに発番する。そして、ＣＰＵ１０１は、入力領域６０１に入力されている内容をテキスト本文３０５に保存する（ステップＳ９１５）。ＣＰＵ１０１は、変数Ｘの値を初期化（０を代入）し（ステップＳ９１６）、ステップＳ９０２に戻り次の入力操作を待つ。この際、ＣＰＵ１０１は、入力領域６０１のテキストを、ユーザがテキスト領域５１２に配置することを決定したテキストとしてではなく、編集途中のテキストとして保存する。よって、ＣＰＵ１０１は、保存したテキストに対して最終文言フラグ３０６を設定しない（フラグＯＦＦ）。
【００５９】
ＣＰＵ１０１は、入力操作が「区切り文字」であった場合（ステップＳ９０３、Ｓ９０７、Ｓ９０９でＮｏ、かつ、ステップＳ９１０でＹｅｓ）、ユーザの入力処理が一定量されたと判断する。ＣＰＵ１０１は、ステップＳ９１５およびＳ９１６の処理を実行し、ステップＳ９０２に戻り次の入力を待つ。なお、ここでの「区切り文字」は、言語ごとに規定され、例えば日本語であれば「スペース、カンマ、ピリオド、句読点」などである。区切り文字はシステムで正しく定義されていればよく、区切り文字の種別などが本発明を限定するものではない。
【００６０】
ＣＰＵ１０１は、入力操作が「カーソル」の移動であった場合（Ｓ９１１でＹｅｓ）、ユーザがその行の入力を追えて別の行に移動する意思を示した、もしくは同じ行の前の方の文字の修正を行うために移動する意思を示したと判断する。ＣＰＵ１０１は、ステップＳ９１５およびＳ９１６の処理を実行し、ステップＳ９０２に戻り次の入力を待つ。
【００６１】
ＣＰＵ１０１は、入力操作が「削除キー」の操作であった場合（Ｓ９１２でＹｅｓ）、変数Ｘをインクリメントする（ステップＳ９１３）。ＣＰＵ１０１は、変数Ｘが所定の閾値を超えた場合（ステップＳ９１４でＹｅｓ）、連続してＤＥＬＥＴＥキーが押下され、ユーザの削除処理が一定量されたと判断する。ＣＰＵ１０１は、ステップＳ９１５およびＳ９１６の処理を実行し、ステップＳ９０２に戻り次の入力を待つ。変数Ｘが所定の閾値以下である場合（ステップＳ９１４でＮｏ）、ＣＰＵ１０１は、ステップＳ９０２に戻り次の入力を待つ。
【００６２】
図１０は、本実施形態に係るテンプレート切り替え時における処理を示すフローチャートである。この処理は、ステップＳ８０８において、テンプレートが切り替えられたときに実行される。
【００６３】
まず、ＣＰＵ１０１は、ユーザの操作に応答してテンプレートの切り替えを行う（ステップＳ１００１）。具体的には、ページ一覧画面５００またはページ詳細画面５１０において、ＣＰＵ１０１は、ユーザがレイアウト一覧５０３からアイコンの１つをドラッグし、ページ５０１にドロップしたことを検知する。このような操作を検知したときに、ＣＰＵ１０１は、テンプレートを切り替える。これにより、ページ５０１のレイアウトが変更される。
【００６４】
続いて、ＣＰＵ１０１は、図７に示すテキスト編集画面７００を表示し、編集候補となるテキストを提示する（ステップＳ１００２）。具体的には、ＣＰＵ１０１は、テキスト管理テーブル３００において、ページ５０１の画像と紐付けられたテキストのテキストＩＤ３０１に対応するすべてのレコードを参照する。そして、ＣＰＵ１０１は、これらのレコードの行数３０３および最大行内文字数３０４と、切り替え後のテンプレートに規定されている行数および最大行内文字数の上限とを比較する。ＣＰＵ１０１は、この比較による差分が最も小さいレコード、つまり、切り替え後のテンプレートに配置可能なテキスト量の上限に最も近いテキスト量のレコードを選択し、テキスト本文３０５を入力領域６０１に表示させる。編集候補が２つ以上該当した場合には、ＣＰＵ１０１は、後から編集したテキスト、つまり、編集履歴ＩＤ３０２がより大きなテキストを編集候補として提示する。また、編集候補が存在しない場合には、ＣＰＵ１０１は、履歴表示ＵＩ７０１、７０２を表示しない、もしくは編集候補が存在しない旨のメッセージなどを表示してもよい。
【００６５】
次に、ＣＰＵ１０１は、テキスト編集画面７００において、ユーザのＵＩ操作があったかどうかを判断する（ステップＳ１００３）。ユーザのＵＩ操作がない場合（ステップＳ１００３でＮｏ）、ＣＰＵ１０１は、この判断処理を繰り返す。入力装置１０９がユーザのＵＩ操作を受け付けた場合（ステップＳ１００３でＹｅｓ）、ＣＰＵ１０１は、ステップＳ１００４以降の処理に進む。
【００６６】
ＣＰＵ１０１は、ユーザが１つ前の編集候補の表示をリクエストした場合（ステップＳ１００４でＹｅｓ）、編集候補の１つ前に保存されたテキストを新たな編集候補として提示する（ステップＳ１００５）。具体的には、ＣＰＵ１０１は、入力装置１０９からの入力に基づき、ユーザが履歴表示ＵＩ７０１を押下したことを検知する。そして、ＣＰＵ１０１は、テキスト管理テーブル３００から、提示したレコードのものより１つ小さい編集履歴ＩＤ３０２のレコードを選択し、このレコードのテキスト本文３０５を入力領域６０１に表示する。ＣＰＵ１０１は、ステップＳ１００３に戻り次のＵＩ操作を待つ。
【００６７】
ＣＰＵ１０１は、ユーザが１つ後の編集候補の表示をリクエストした場合（ステップＳ１００６でＹｅｓ）、編集候補の１つ後に保存されたテキストを新たな編集候補として提示する（ステップＳ１００７）。具体的には、ＣＰＵ１０１は、入力装置１０９からの入力に基づき、ユーザが履歴表示ＵＩ７０２を押下したことを検知する。そして、ＣＰＵ１０１は、テキスト管理テーブル３００から、提示したレコードのものより１つ大きい編集履歴ＩＤ３０２のレコードを選択し、このレコードのテキスト本文３０５を入力領域６０１に表示する。ＣＰＵ１０１は、ステップＳ１００３に戻り次のＵＩ操作を待つ。
【００６８】
ＣＰＵ１０１は、ユーザが履歴表示ＵＩ７０１、７０２以外のＵＩを操作したことを検知した場合（ステップＳ１００６でＮｏ）、入力領域６０１のテキストを編集候補に確定する（ステップＳ１００８）。例えば、ＣＰＵ１０１は、ユーザがＯＫボタン６０５を押下したことを検知した場合、入力領域６０１のテキストに対応するレコードの最終文言フラグ３０６に１を代入する。さらに、ＣＰＵ１０１は、確定した編集候補と同じテキストＩＤ３０１を有する他のレコードの最終文言フラグ３０６を０でリセットする。
【００６９】
ＣＰＵ１０１は、編集候補を確定した後、履歴表示ＵＩ７０１、７０２を非表示にし（ステップＳ１００９）、フローチャートの処理を終了する。これにより、テキスト編集画面７００は、図６に示したテキスト編集画面６００と同様の状態になる。続いて、ＣＰＵ１０１は、図９のフローチャートの処理を開始することができる。
【００７０】
このように、本実施形態によれば、編集したテキストを編集日時に基づき時系列に保存し、テンプレートを切り替えた際に、保存したテキストの中から適切なテキストを編集候補としてユーザに提示する。編集候補は、保存時におけるテキストの行数および最大行内文字数に基づいて提示される。したがって、テンプレートに配置したときに、テキスト領域からの文字溢れまたはテキスト領域における余白が最小となるテキストを提示することができる。また、提示された編集候補がユーザの所望のもので無かった場合には、編集履歴の中から編集日時の近い前後のテキストを提示させることができる。
【００７１】
また、テキストを保存するに際し、ユーザによる編集操作毎にテキストの保存をしてしまうと、テキスト管理テーブル３００のデータ量が増大し、ＨＤＤ１０４などの記憶領域を圧迫するおそれがある。本実施形態では、図９のステップＳ９０９からステップＳ９１４の判断を行うことで、入力、削除などの編集作業がある程度の単位で行われるたびにテキストの編集履歴を保存することを実現している。これにより、保存されるテキストのデータ量の増大を低減することができる。
【００７２】
（その他の実施形態）
本発明は、上述の実施形態に限らず種々の変形が可能である。例えば、情報処理装置１００、入力装置１０９、表示装置１１１は、別個の装置ではなく、一体の装置として構成されてもよい。また、情報処理装置１００は、単一のコンピュータで構成されてもよく、或いは必要に応じた複数のコンピュータで構成されてもよい。情報処理装置１００が複数のコンピュータで構成される場合、情報処理装置１００の各機能は、複数のコンピュータに分散され、各コンピュータは、ＬＡＮなどにより互いに通信可能に接続される。
【００７３】
さらに、情報処理装置１００は、メモリカードなどの可搬記憶媒体が脱着可能なインターフェースを備えてもよい。表示装置１１１は、タッチセンサを有するタッチパネルを備えてもよく、その場合には入力装置１０９としての機能を兼ねることができる。
【００７４】
上述の実施形態では、画像とその画像に対する横書きでのテキストを扱うフォトアプリを用いて、左綴じ（右側が開く状態）の電子ブックを作成する場合について説明した。しかしながら、綴じ方が本発明を限定するものではなく、右綴じの電子ブックに対しても、左右を逆転させれば上述の実施形態と同じ効果を得ることができる。また、縦書きでのテキストを扱う場合には、通常右綴じとなるため、右綴じの例を当てはめることができる。
【００７５】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウエア（プログラム）を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００７６】
また、コンピュータが読み出したプログラムを実行することにより、上述した実施形態の機能が実現されるだけではない。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーションシステム）などが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図１】
2017207975.tif 000003
【図２】
2017207975.tif 000004
【図３】
2017207975.tif 000005
【図４】
2017207975.tif 000006
【図５】
2017207975.tif 000007
【図６】
2017207975.tif 000008
【図７】
2017207975.tif 000009
【図８】
2017207975.tif 000010
【図９】
2017207975.tif 000011
【図１０】
2017207975.tif 000012