7

私は今、コマンドをプリンターに送信してプレーンテキストを印刷する単純なプログラムをC#で作成しようとしていますが、方法がわかりません。私が今直面している2つの主な問題があります:

1. プリンターとの通信方法は?

Google 検索を行ったが満足のいく結果が得られなかった後、Brothers のメイン ページに移動し、いわゆる b-PAC3 SDK を見つけました。

b-PAC* ソフトウェア開発キットは、Microsoft® Windows® 用のソフトウェア ツールで、独自のアプリケーションからカスタマイズされたラベルを印刷できます。

ダウンロードしてインストールした後、インストールされたディレクトリに「Samples」という名前のフォルダーを見つけました-いくつかの異なる言語(VB、VS、VSCなど)で書かれたサンプルコードがあります。これらのサンプルコードがうまくいくことを願っていましたこの SDK とプリンターは同じ会社から提供されているため、動作します。しかし、彼らはしませんでした。ここでこれらのサンプルの 1 つをお見せしましょう: (C# のコード)

/*************************************************************************
    
    b-PAC 3.0 Component Sample (RfidRW)

    (C)Copyright Brother Industries, Ltd. 2009

*************************************************************************/

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleSampleCSharp
{
    class Program
    {
        private const int NOERROR = 0;
        private const string ANTENNA_READER_WRITER = "Reader/Writer side";
        static void Main(string[] args)
        {
            // Create Rfid Instance
            bpac.RfidClass rfid = new bpac.RfidClass();     // Rfid Instance
            string selectedDevice;                          // selected device

            /* GetInstalledDevices */

            Console.WriteLine("==GetInstalledDevices()==");
            object[] arrDevices = (object[])rfid.GetInstalledDevices();
            if (rfid.ErrorCode == NOERROR)
            {
                Console.WriteLine("Succeed to GetInstalledDevices()");
                int index = 0;
                foreach (string device in arrDevices)
                {
                    Console.WriteLine(String.Format("[{0}] {1}", index, device));
                    index++;
                }

                // select device
                Console.WriteLine("Please Select Device");
                int selectedDeviceIndex = int.Parse(Console.ReadLine());
                selectedDevice = arrDevices[selectedDeviceIndex].ToString();
            }
            else
            {
                Console.WriteLine("Failed to GetInstalledDevices()");
                goto CleanUp;
            }
            // .... 
        }
    }
}

このコードを実行すると、最初の問題が発生します:(以下の引用とまったく同じように表示されました。申し訳ありませんが、評判が低いため画像を投稿できません):

==GetInstalledDevices()==

GetInstalledDevices() に成功する

デバイスを選択してください

エラーはありませんでしたが、プログラムがデバイスを見つけられないようです。なぜこれが起こるのかわかりません。

2. QL スタイルのコマンドの書き方

プリンターの種類ごとに独自のコマンド言語があることを知っているので、ブラザーのサイトで検索したところ、参考文献が見つかりました。

ブラザー QL シリーズ コマンドリファレンス (QL-500/550/560/570/580N/ 650TD/700/1050/1060N)

私自身、サーマル プリンターを使用した経験がなく、残念ながらこのコマンド リファレンスにはサンプルがなく、コマンドの記述方法を理解するのが非常に困難です。

ブラザー QL シリーズのプリンターを使ったことのある人はいますか?

PS: 使用しているプリンターは Brother QL 560 です。

4

2 に答える 2

0

独自の opos ドライバーを提供する Brother QL 560 を備えたOPOS (Microsoft 製)が、あなたのケースのソリューションの 1 つになるはずです。ドライバーを (dll で) 取得したら、一般的な Web コントロールを使用するのと同じくらい簡単に開発を開始できます。

于 2014-09-14T17:04:27.617 に答える