複数Viewの印刷ダイアログで余白 (cm) の設定が正常に反映されない

現象
複数ビューの印刷設定ダイアログで余白 (cm) の設定として数値を指定するとその数値の 39.37 倍が余白として設定されます。
原因
InfoPath では、InfoPath アプリケーション側の表示言語とフォーム テンプレート ファイルの言語指定の相違を吸収するよう実装がされています。

・InfoPath は、コントロール パネルに指定された "地域と言語のオプション" の "標準と形式" に指定された言語をもとに、表示言語としてインチか cm かのどちらを使用するかを選択します。
・InfoPath フォーム テンプレートは、テンプレートの該当設定を最後に変更したクライアント端末の "標準と形式" の設定に応じて、XML ファイル (manifest.xsf) に余白設定を書き込みます。

(補足)
  XSN ファイル内に圧縮されている manifest.xsf ファイル内には、以下のように定義が保存されます。
  - cm の場合
  <xsf:printSettings topMargin="2" leftMargin="2" bottomMargin="2" rightMargin="2" marginUnitsType="cm"></xsf:printSettings>

  - インチの場合
  <xsf:printSettings topMargin="0.75" leftMargin="0.75" bottomMargin="0.75" rightMargin="0.75" marginUnitsType="in"></xsf:printSettings>

InfoPath の余白設定処理では、上、下、左、右に指定された値をそれぞれ、必要に応じて計算して manifest.xsf ファイルに出力します。
しかしながら、この計算処理途中において、保存先 XSF 上の形式を取得する際に実装上の問題があり、データがインチに変換され (2.54 で割られ) て保存されます。除算による誤差を防ぐため、さらに内部的に 100 をかけられているため、入力された値の 39.37 倍の数値が表示されます。
解決方法

回避策
以下の 2 つの方法のうち、いずれかの操作を実行することで現象を回避することができます。

1. コントロール パネルにて、"地域とオプション" から "標準と形式" に指定される言語の指定を "英語 (米国)" に一時的に変更した上で、余白設定作業を行う。

2. manifest.xsf を直接編集して、プロパティ値を書き換える。
 1) フォーム テンプレートをデザイン モードで開きます。
 2) 複数ビューの印刷設定画面で、余白の設定を初期値から変更 (例. 上 : 1 ; 下 : 1; 左 : 1; 右 : 1) します。
 3) [ファイル] - [発行] をクリックします。
 4) "エクスポート" 欄より [ソース ファイルのエクスポート] をクリックします。
 5) 出力先のフォルダを選択して、[OK] をクリックします。
 6) InfoPath Designer を閉じます。
 7) エクスプローラより、出力先のフォルダへアクセスします。
 8) テキスト エディタにて manifest.xsf を開きます。
 9) 以下の宣言を探して、printSettings 要素の topMargin、leftMargin、bottomMargin、rightMargin 属性の値を変更します。

  - 変更前
   <xsf2:mergedPrintView viewBreak="No break" isDefault="no" isCustomizable="yes">
     <xsf:printSettings topMargin="39.3700783404591" leftMargin="39.3700783404591" bottomMargin="39.3700783404591" rightMargin="39.3700783404591" marginUnitsType="cm"></xsf:printSettings>
     <xsf2:includedViews></xsf2:includedViews>
   </xsf2:mergedPrintView>

  - 変更後
   <xsf2:mergedPrintView viewBreak="No break" isDefault="no" isCustomizable="yes">
     <xsf:printSettings topMargin="1" leftMargin="1" bottomMargin="1" rightMargin="1" marginUnitsType="cm"></xsf:printSettings>
     <xsf2:includedViews></xsf2:includedViews>
   </xsf2:mergedPrintView>

8) manifest.xsf を右クリックし、[デザイン] をクリックします。
9) [ファイル] - [名前を付けて保存] をクリックして、再度 xsn 形式でフォームを保存します。
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2636526 - 最終更新日: 09/29/2016 08:49:00 - リビジョン: 2.0

Microsoft InfoPath 2010

  • KB2636526
フィードバック