0

学生のアカウントについて、デフォルトの物理プリンターまたは BioPDF プリンターなどのソフトウェア プリンターに印刷できるか、C# でテキストをフォーマットする方法についてのレポートがあります。

C# を使用してコードを記述している WPF を使用しています。申し訳ありませんが、この質問でどのような情報を提供すればよいかわからないので、しばらくお待ちください;)。

//===================編集==========================

PrintDialog printDialog = new PrintDialog();
       if (printDialog.ShowDialog().GetValueOrDefault(false))
       {
           printDialog.PrintVisual(listBox1, this.Title);
       }

// ListBox のコンテンツを印刷しようとしていますが、ビジュアルでアラビア語を使用していることが問題です

<ListView HorizontalAlignment="Left" Margin="503,73,0,98" Name="listBoxEPayed" Width="410" MouseDoubleClick="listBoxEPayed_MouseDoubleClick">
            <ListView.View>
                <GridView>
                    <GridView.Columns>
                        <GridViewColumn Header="الرقم" Width="50" DisplayMemberBinding="{Binding Path=ReportID}" />
                        <GridViewColumn Header="محرر الفاتوره" Width="100" DisplayMemberBinding="{Binding Path=UserName}" />
                        <GridViewColumn Header="قيمة المبلغ" Width="75" DisplayMemberBinding="{Binding Path=Cashamount}" />
                        <GridViewColumn Header="التاريخ" Width="120" DisplayMemberBinding="{Binding Path=Date}" />
                    </GridView.Columns>
                </GridView>
            </ListView.View>
        </ListView>

// 印刷の結果、すべての文字がひっくり返されます。bioPDF プリンター ソフトウェアを使用して印刷ページのレイアウトをテストしていることに注意してください。結果はこの写真のようですここに画像の説明を入力

4

1 に答える 1

1

オプション1:WPFフォームを使用して印刷します。次のコードスニペットは、SOの質問からのものです(1ページにWPFウィンドウを印刷する

PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog().GetValueOrDefault(false))
{
    printDialog.PrintVisual(this, this.Title); 
}

それに関する問題は、ウィンドウが1枚の紙に収まらない可能性があることです。


オプション2:データをChrystal Reports(現在、SAPが所有しており、無料バージョンが利用可能です)、Active Reports、DevExpressなどのレポートソリューションにバインドします。利用可能なレポートコンポーネントのいくつかはかなり高価ですが、高品質の結果を得るには、その価値があります。

于 2012-06-19T20:00:39.643 に答える