1

オブジェクトを印刷するために、WPF PrintVisual メソッドを使用しています。以下のコードを確認してください。

PrintDialog dialog = new PrintDialog();
System.Printing.PrintCapabilities capabilities = dialog.PrintQueue.GetPrintCapabilities(dialog.PrintTicket);
Double height = dialog.PrintableAreaHeight;
Double width = dialog.PrintableAreaWidth;
myObj.Measure(new Size(width, height));
myObj.Arrange(new Rect(new Point((capabilities.PageImageableArea.OriginWidth), (capabilities.PageImageableArea.OriginHeight)), new Size(width, height)));
dialog.PrintVisual(myObj, "Print in WPF with fit to printing page");

これを xps で印刷すると、非常にうまく機能します。しかし、紙 (A4 => 8.5 x 11 インチ) に印刷すると、紙の左側に余白が生成されるため、オブジェクトが右側から切り取られます。紙にこの余白を避けて、オブジェクト全体を印刷する方法を誰か教えてもらえますか?

ありがとう

4

1 に答える 1

1

dialog.PrintableAreaHeightanddialog.PrintableAreaWidthを使用しているのは印刷可能なサイズではなくcapabilities.PageImageableArea、印刷可能なオリジンであることは非常に疑わしいです。これらは無関係な測定値です。使ってみて

new Size(capabilities.PageImageableArea.ExtentWidth, capabilities.PageImageableArea.ExtentHeight)

myObj.MeasuremyObj.Arrange

于 2013-07-25T01:59:08.507 に答える