7

単純な領収書システムの場合、単純な書式設定でテンプレート ドキュメントを何らかの方法で定義し、データを入力して、標準の Windows プリンターで印刷する必要があります。Windows サービスで動作する必要があります。どのテクノロジーを使用するのが最適ですか?

編集:

PDFフォームを使ってみました。いくつかのテキスト ボックスを定義し、iTextSharp で入力しました。基本的にリーダーの実行可能ファイルを直接使用する必要があるため、それらを印刷する必要があるところまで機能しましたが、これは非常に困難です。

.NET により適切に統合されると思われる代替手段は、XPS を使用することです。XPS は同様の機能を提供しますか?

4

6 に答える 6

5

HTMLまたはプレーンテキストを使用して、独自の領収書テンプレートを作成します。

html を使用した例:

HTML

<html>
  <head>
    <title>Receipt</title>
  </head>
  <body>
    <div>The price: <%Price%></div>
    <div>The time: <%Time%></div>
    <div>Payment Method: <%PaymentMethod%></div>
  </body>
</html>

C#

    static void Main(string[] args)
    {
        CreateReceipt("€1.50", "09.30", "Cash");
    }

    private static void CreateReceipt(string price, string time, string paymentMethod)
    {
        string bodyFile;
        string template = System.IO.Directory.GetCurrentDirectory() + "\\template.html";
        using (StreamReader reader = new StreamReader(template))
        {
            bodyFile = reader.ReadToEnd();
            bodyFile = bodyFile.Replace("<%Price%>", price);
            bodyFile = bodyFile.Replace("<%Time%>", time);
            bodyFile = bodyFile.Replace("<%PaymentMethod%>", paymentMethod);
        }
        FileStream fs = File.OpenWrite(System.IO.Directory.GetCurrentDirectory() + "\\receipt.html");
        StreamWriter writer = new StreamWriter(fs, Encoding.UTF8);
        writer.Write(bodyFile);
        writer.Close();
    }
}
于 2013-07-22T15:36:51.070 に答える
4

Mustacheを使用して HTML テンプレートを作成し、それらに入力します。

.Net インターフェイスは非常に使いやすいです。

HTML を取得したら、WebBrowser コントロール(オフスクリーン) を使用して印刷できます。

于 2013-07-31T19:26:58.640 に答える
1

これを見ていない場合のアイデアとして、HTML DIV を印刷できます

JavaScript でレンダリングされた HTML ページの一部を印刷するにはどうすればよいですか?

于 2013-07-29T12:15:48.670 に答える
1

ActiveReportsを試すことができます

ComponentOne へのリンク

無料ではありませんが、必要に応じて印刷できます。テンプレートを作成してコードに埋め込むだけです。

于 2013-09-25T07:36:10.763 に答える
-1

最終的には EPSON TM-Intelligent シリーズのフォーマットを使用することになります。

于 2013-07-31T12:12:23.347 に答える