質問

ラベルのグリッドをA4ラベルペーパーのシートに印刷しようとしています。

ユーザーは、紙の左と上部のマージンをmmの指定します。

A4は210 x 297です。

Siverlightは、印刷可能な領域とマージンを一緒に追加すると、印刷可能な領域は793 x 1122であることを教えてくれます。

printDocument.PrintPage += (s, e) =>
    {
        var printableArea = e.PrintableArea;
        var pageMargin = e.PageMargins;
    }

数学を行うと、210&793と297&1122の比率は3.7777777です。これは(より正確に)34/9です。

なぜこの値なのですか?

印刷の目的地に関係なく、常にこの値ですか?実際のプリンターとXPSドキュメントをチェックしました。 表示されます 事実ですが、6か月後に追い出されたくありません。

それが変更された場合、コードでこの関係を解決するにはどうすればよいですか?

役に立ちましたか?

解決

もう少し研究の後、私は答えを解きました。

Silverlightが使用しているサイズは、デバイス独立ユニットの用紙サイズです - 1/96として計算されていますth インチの。

297 mm = 11.6929インチ

それに96を掛けると、1122.51が得られます

同様に

210 mm = 8.2677インチ

これは493.70になります

だから今、私は数字がどこから来たのかを理解しています。34/9のわずかに正確な計算を喜んで使用し、それがどこから来たのかを説明するコメントを使用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top