2011-10-18 22 views
0

保存ボタンをクリックしてWPFフォームの内容を印刷する必要があります。内容はプレーンテキストで、各行に名前の値のペアがあります。私は連続したセーブで改ページは必要ありません。WPF - 同じページに内容を印刷

私は、PrintDialog、FlowDocument、FixedDocumentのサンプルを試しましたが、ページ区切りを避けることはできませんでした。 私が紛失している設定はありますか? PrintDialogへの代替手段はありますか?

コード:

Paragraph myParagraph = new Paragraph(); 
myParagraph.Margin = new Thickness(0); 
**myParagraph.BreakPageBefore = false;** 
foreach (string line in textToPrint.Split(new string[] { Environment.NewLine }, StringSplitOptions.None)) 
{    
    myParagraph.Inlines.Add(new Run(line));    
} 
flowDocument.Blocks.Add(myParagraph); 
DocumentPaginator paginator = ((IDocumentPaginatorSource)flowDocument).DocumentPaginator; 
printDialog.PrintDocument(paginator, "Test Page"); 

答えて

0

新しい印刷ジョブ(文書)は、私の知る限りでは、新しいページから始まります。ページ区切りで印刷したい値をすべて集めて印刷したくない場合は、それを印刷します。

+0

改ページで印刷したい値をすべて集めて印刷しないようにする場合は、私はWin32 APIをC#/ WPF自体で使用する必要がありますか? – user489686

+0

ユーザーがボタンを押すたびにドキュメントを作成しています。代わりに、単一のドキュメントを作成し、そのドキュメントにデータを追加します。すべてのデータが追加されたら、文書を印刷します。 –

+0

保存するたびに印刷する必要があります。 Documentオブジェクトを再利用して新しいコンテンツのみを印刷しようとしても、同じページをターゲットにしているかどうかを確認しなければなりません。その間に改ページを挿入しません。ターゲットプリンタは、おそらくドットマトリックスプリンタです。 – user489686