4.2.2 マスタレンディションを更新して再びレンディション変換する場合

ここでは,レンディション変換済み文書のマスタレンディションを更新して,レンディション変換を再実行する場合のDocumentBrokerクライアントでの操作内容について説明します。

レンディション変換済みの文書のサブレンディションの変換フラグには,レンダリングオプションによって「変換不要」が設定されます。一度「変換不要」が設定されると,ユーザがDocumentBrokerクライアントで「変換要」を設定する操作をしないかぎり,変換フラグは「変換不要」のまま遷移しません。したがって,再度レンディション変換を実行させたい場合には,レンディション変換実行前に,DocumentBrokerクライアントで,変換先レンディションの変換フラグに「変換要」を設定する操作が必要になります。

レンディション変換済みの文書のサブレンディションの変換フラグに「変換要」を設定する方法を次に示します。

注意
サブレンディションの変換フラグに「変換要」を設定しても,サブレンディションの状態フラグが「サブ空」または「マスタ/サブ不一致」の状態でなければ,再変換の対象になりません。サブレンディションの状態フラグが「サブ空」または「マスタ/サブ不一致」以外の状態の場合は,マスタレンディションをいったん更新して,「マスタ/サブ不一致」状態に変更する操作が必要になります。
<この項の構成>
(1) C++ クラスライブラリで開発したクライアントアプリケーションで変換フラグに「変換要」を設定する方法
(2) Java クラスライブラリで開発したクライアントアプリケーションで変換フラグに「変換要」を設定する方法

(1) C++ クラスライブラリで開発したクライアントアプリケーションで変換フラグに「変換要」を設定する方法

CdbrDocumentクラスまたはCdbrVersionableDocumentクラスのPutRenditionPropertyValuesメソッドを利用します。

使用例を次に示します。

pSession->Begin();
CdbrDocument Doc;
SDBR_PROP Props;
SDBR_PROPLIST Proplist;
DmaInteger32 lRenditionStatus;
 
//値としてDBR_RENDSTATUS_CONVERT_REQUIREDを設定するための
//プロパティ構造体およびプロパティリスト構造体を作成します。
lRenditionStatus = DBR_RENDSTATUS_CONVERT_REQUIRED;
Props.PropId = dbrProp_RenditionStatus;
Props.lType = DMA_DATATYPE_INTEGER32;
Props.lCardinality = DMA_CARDINALITY_SINGLE;
Props.uniValue.plInteger32 = &lRenditionStatus;
Props.lCount = 1;
Proplist.lCount = 1;
Proplist.pItem = &Props;
 
//文書に接続します。
Doc.SetOIID(pOiid);
//サブレンディションの
//dbrProp_RenditionStatusプロパティに,
//DBR_RENDSTATUS_CONVERT_REQUIREDを設定します。
Doc.PutRenditionPropertyValues("MIME::application/pdf",&PropList);
pSession->Commit();

//の行はコメントです。

詳細については,マニュアル「DocumentBroker Version 3 クラスライブラリ C++ 解説」およびマニュアル「DocumentBroker Version 3 クラスライブラリ C++ リファレンス 基本機能編」を参照してください。

(2) Java クラスライブラリで開発したクライアントアプリケーションで変換フラグに「変換要」を設定する方法

DbjObjクラスのwriteRenditionPropertiesメソッドを利用します。

使用例を次に示します。

                  :
                  :
// ファクトリから空プロパティ値集合を取得
 DbjPropSet propset = DbjFactory0200.getFactory().createPropSet();

// dbrProp_RenditionStatusプロパティにRENDSTATUS_CONVERT_REQUIREDを設定する
 propset.setPropVal("dbrProp_RenditionStatus", DbjDef.RENDSTATUS_CONVERT_REQUIRED);

// 文書に接続します。
// なお,docspaceはすでに文書空間に接続しているオブジェクト。
 DbjObj obj = docspace.createObjConnection( oiid )

// dbrProp_RenditionStatusプロパティを更新します。
 obj.writeRenditionProperties( "MIME://application/pdf", propset );
                  :
                  :

//の行はコメントです。

詳細については,マニュアル「DocumentBroker Version 3 クラスライブラリ Java 解説」およびマニュアル「DocumentBroker Version 3 クラスライブラリ Java リファレンス」を参照してください。