2

ラベルのグリッドを A4 ラベル用紙に印刷しようとしています。

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

A4 は 210 × 297 です。

印刷可能領域と余白を合計すると、印刷可能領域は 793 x 1122 であると Siverlight は教えてくれます。

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

計算すると、210 & 793 と 297 & 1122 の比率は 3.777777 となり、(より正確には) 34/9 になります。

なぜこの値なのですか?

印刷先に関係なく常にこの値?実際のプリンターと A4 サイズに設定された XPS ドキュメントを確認したところ、そのように見えますが、6 か月後に問題が発生するのは避けたいと考えています。

変更された場合、コードでこの関係をどのように解決できますか?

4

1 に答える 1

1

もう少し調査した後、私は答えを導き出しました。

Silverlight が使用しているサイズは、デバイスに依存しない単位の用紙サイズで、 1 /96インチとして計算されます。

297 mm = 11.6929 インチ

これに 96 を掛けると、1122.51 になります。

同様に

210mm = 8.2677インチ

これは 493.70 になります

これで、数値がどこから来たのかがわかりました。もう少し正確な 34/9 の計算と、それがどこから来たのかを説明するコメントを喜んで使用できます。

于 2013-11-07T14:02:25.093 に答える