• ベストアンサー

セントロニクスを使用したプリンタ出力

WINDOWS系のOSで、パラレルポートを使用したプリンタ出力をしたいのですが、 どのような方法で実現できるのでしょうか。 サンプルソースなどを開示しているHPなどがあれば 併せて教えていただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.4

先に紹介した BSQUARE には、WinDK という開発環境もあります。 XP にも対応しているようですね。 ライブラリが DLL でなければ、配布時に特別追加するものは無いでしょう。 > 理解不足のために、これを使う事の利点と、 > 使わない事による不利益を、うまく上司に説明できません。 本家のサイト(→参考URL)からは、評価版やサンプルが取得できるようです。 今、説明できなければ、勉強するか、評価する時間をくれ、と上司にかけあう だけの話ですね。 その手の売り物を買わずに済ませよう、というのがあるのであれば、DDK だけを 使ったデバイスドライバの開発の様子を知らないと、評価できませんね。 DDK にはサンプルも一杯入っています。 とりあえず、とっかかりとしては Microsoft のサイトあたり(参考URLの ふたつめなんか)くらいが良いでしょうか。 確かに高い買い物ですが、誰も DDK を知らない状態で、勉強にかかる原価を 考えれば、そう高い買い物ではないかもしれません。 # 私には、そちらの原価がわかりませんので、ペイするかどうかは、分かりません

参考URL:
http://www.bsquare.com/,http://www.microsoft.com/japan/developer/winds/ddk/NTddk/NTddk.htm
hinata1
質問者

お礼

回答、ありがとうございました。 今回は購入を見送り、DDKを使用する方向です。 ご教示を感謝します。

その他の回答 (4)

noname#259682
noname#259682
回答No.5

【Windowsの考え方】  個別対応はアプリでしないでOS又はドライバに任せる。 【それでも何とかしたい】  とは言うものの、やはり例外というものはあります。私の場合には、ジャーナルプリンター(連続用紙)を使って数行ずつ印刷する必要がありました。もちろん途中で改ページなどしないで。これが出来ない。あーしても。こーしても。 【苦肉の策】  VBの例を示します。対象としたプリンターはNECのPC-PR201です。文字フォントをプリンタが持っています。   '========== '= '= プリンタ印字処理 '= '=【処理内容】 '= ・引数(LBuff)の内容をJISコードに変換して、プリンターに出力する。 '= '========== Sub LinePrint(LBuff As String) Dim FileNo As Integer ' 汎用ファイルNo.   Dim A$, B$   Dim X As Byte   Dim CRLF As String   Dim FSB As String   Dim I As Integer   CRLF = ChrB$(13) & ChrB$(10)   FSB = ChrB$(28) & ChrB$(66)   A$ = LBuff   B$ = StrConv(A$, vbFromUnicode) '  HexPrint "Unicode の HEX 表示", A$ '  HexPrint "シフトJIS の HEX 表示", B$   B$ = UKANJI(B$) 'シフトJIS to JIS   FileNo = FreeFile   Open "LPT1:" For Binary As #FileNo     B$ = B$ & FSB & CRLF     For I = 1 To LenB(B$)        X = AscB(MidB(B$, I, 1))        Put #FileNo, , X     Next I   Close #FileNo End Sub 【問題点】 ・このプログラムは単一アプリでのみプリンターを占有する事が前提です。またプリンターは前記した機種にのみ対応しています。一切の汎用性などというおぞましい考えは持っていません。 :-)

hinata1
質問者

お礼

741さん、回答ありがとうございます。 参考にさせていただきます。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

> 制御コードを送るどころか、もっとベタな作りになりそうですが、 > このような場合、どのような作り方が考えられるでしょうか? 先に回答した中で紹介した WinRT が、それに対する答えになるのではないか、と 思います。 直接(という表現は適切ではないかも)デバイスにデータを送るわけですから 印刷ジョブとしては扱われないのは、仕方ないですね。 # 持ち上げられても、自信が無いのは仕方ありません (^^;

hinata1
質問者

補足

早速のフォロー、ありがとうございます。 対象OSがXPを含むので、二の足を踏んでいます。 それと、予算の関係も多大な影響を与えております。 このような開発ツールを使用した経験がないのですが このツールを使って、ソフトを作成して配布する場合は インストーラの中に組み込むような形になるのでしょうか? 理解不足のために、これを使う事の利点と、 使わない事による不利益を、うまく上司に説明できません。 #持ち上げてませんって…。  自分の知らない分野をご存知の方に後光が差して見えているのです。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

MS-DOS などで動いていたプログラムの移植かなんかでしょうか? WinRT というデバイス制御のライブラリがあります(→参考URL)。 パラレルポートもサポートしてます。 私は使ったことは無いのですが、DDK を直接触らずとも、デバイスへの出力程度 であれば、それなりにこなしそうです。 先の回答のように、パラレルポートなどに直接プリンタ制御コードを送るような プログラムは Windows では *亜流* です。 デバイスに固有のことはデバイスドライバに任せて、デバイスコンテキストに 画面と同じように印刷イメージを書いてゆく、というのが基本です。 今は良くて(*)も、また、何年か後に同じたぐいの問題を抱えることになります。 それを十分に考えてみることをすすめます。   (*) 下手をすると、開発中に、なんてことも十分ありえる

参考URL:
http://www.bsquare.co.jp/products/products.htm
hinata1
質問者

補足

a-kumaさん、回答をありがとうございます。 >先の回答のように、パラレルポートなどに直接プリンタ制御コードを送るような >プログラムは Windows では *亜流* です。 上記の記載がありますが、良々確認したところ ラベルプリンタに対して既定のコマンドを文字列として 送信しなくてはいけないらしいのです。 制御コードを送るどころか、もっとベタな作りになりそうですが、 このような場合、どのような作り方が考えられるでしょうか? CreateFileか何かで、デバイスを取得して 直接送信しても、印刷JOBとしては認識されないし…。 神様、仏様、a-kuma、何か良い知恵をお授けください。

  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.1

基本的にドライバに処理を任せる形になりますので、パラレルポート、というのはあまり関係ありません。 WindowsAPIで実現するのであれば、参考URLの77章以降を読まれると良いと思います。

参考URL:
http://www.kumei.ne.jp/c_lang/index_sdk.html
hinata1
質問者

お礼

zzzzzzさん、回答をありがとうございました。 APIを初めて使っている事もあり、教えていただいた参考URLは 一連の流れがわかりやすくて、とても勉強になりました。

関連するQ&A

  • HP Jetdirect 300xを使用してのプリンター設定方法

    こんにちは。 オフィスに京セラのプリンターがあるのですが型が古くパラレルポートのみの対応になります。 今使用しているノートパソコンはパラレルポート対応では無くUSBのみなのですが、パラレルからUSBの変換ケーブルを購入しようと思いましたが、HP Jetdirect 300xプリンターサーバーがあったのでそれを使ってプリンターを使用したいと思います。 しかし設定方法が見つからず、HPのサイトに行ってもさっぱり分かりません。 どなたか設定方法をご存知の方アドバイスをいただけますと幸いです。 よろしくお願いします。

  • パラレルポートの無いPCからプリンター出力するには?

    富士通のFMVCE785L3を新規に購入し、これまで使っていたエプソンのLP-8500に出力をしたいのですが、FMVCE785L3にはパラレルポートが無く、また、プリンター側にはUSBポートが無く接続できません。 USBプリンタアダプタケーブルというのがサンワサプライで見つけたのですが、これがWindows98用でFMVCE785L3のWindowsMeには対応していないようです。 WindwsMe対応のUSBプリンターケーブルというのはあるのでしょうか?あるいは他の手段でも構わないので出力できるようにできないでしょうか? ちなみに、FMVCE785L3、LP-8500ともにLANポート(10BaseT)があるのでこれも使えなくは無いと思うのですが、もっとも安価かつ簡単に接続する方法を教えてください。

  • プリンタが使用できません

    教えて下さい。先日NECのPC9821Xa16にwindows95からwindows2000に新規インストールしました。その際、プリンタ(Epson MJ-800C)からの出力が出来なくなりました。 プリンタとの接続は、プリンタポート(LPT1)からの出力でドライバはwindows2000に入っていたものを使用しています。また、出力の際のエラーメッセージは、「デバイスが接続されていません」との内容です。 出力が出来なくて困っています。何が原因なのでしょうか。よろしくお願いします。

  • MICRO CADAMの プリンターポートへの出力方法

    MICRO CADAM にて現在はCOMポートから 出力されています 今度プロッターから HP-GLのエミュレート機能のあるプリンターを使用したいと 思っていますが プリンターポートへ(HP-GLのモードで) 出力する方法が わかりません どなたか教えてください宜しくお願いいたします。

  • プリンタポートからパラレル信号を出力したい。

    ノートパソコンのプリンタポートから設備のパラレルポートに対して信号を送る仕組みを安価に作成しようと考えています。 プリンタポートを自由に制御する方法を教えてください。ソフトウェアでの制御方法や外付けのハードウェア等の情報を頂ければ幸いです。 よろしくお願いいたします。

  • プリンター出力できず。

    プリンター出力できず。 SW-HUBのポートを変えたら(プリンター)PC側でプリンターが見えなくなり、出力ができなくなりました。SW-HUBの電源をoff、onしたのですが不可(hubが新しいポート認識しなおさない?) 結局元のポートにもどして復帰したのですが、新たにポートを認識しない理由と認識させる方法は ありますでしょうか。(前も同じことあり、PCでプリンターの再構成の設定しなおししたら復帰しましたが 全台設定しなおしはたいへんです)。SWはアライドです。SWの登録してある内容はわかりません(初期のまま)。セグメントは同じです。(OS WIN-XP)プリントサーバなしです。

  • プリンターに出力できない

    DocuCentre-IV C4470を使っていますが、本日ドキュメントを出力できなくなりました。 状況としては、PC立ち上げ後資料をプリントアウトしようとしましたが出力されませんでした。 昨日までは正常に印刷できていました。 当然ながら、設定等の変更は行っていません。 プリンターのプロパティを確認したところ、「使用不可」となっています。 プリンタードライブの再インストールやプリンタの削除→再設定を実施。 最初にプリンタの削除→再登録時にはテストプリントは正常に出力されましたが、出力したい資料をプリントアウトしようとしたら、やはり出力されず、プリンタのプロパティは「使用不可」の表示となっていました。 LANは繋がっています。(ネットワーク上では他のPCを認識しています。) OSはWindows10(pro.)64bit PCは富士通のESPRIMO プリンタはXEROXの DocuCentre-IV C4470

  • 最新ノートPCで旧型プリンタを使用するには?

    ノートPC    :パラレルポートなし レーザープリンタ:パラレルポートのみ ノートPCはスタンドアロンで使用しているためLAN経由でプリンタを使用することはできません。 上記の環境でなるべく安くノートPCでプリンタを使用するにはどうすれば良いでしょうか? プリンタサーバー(プリンタに取り付ける機器)を購入してLANケーブルで接続するなど考えております。 宜しくお願いします

  • EPSONプリンタに2台のパソコンを繋ぐ方法があれば教えてください!

    WindowsXPパソコンとEPSON PM-2000Cをパラレルプリンタケーブルで繋いで使用しています。ここへ、もう一台Windows98パソコンを追加してPM-2000Cを使えるようにしたいのです。パラレルプリンタケーブルを2台のパソコンに分けることは可能なのでしょうか?また、他に2台のパソコンを繋ぐ方法があれば教えてください。下記条件があります。 * WindowsXPPCとWindows98PCはネットワークで繋いではいけない。 * EPSON PM-2000CにはUSBのポートがない。 * パラレルプリンタケーブルのポートとは別に、9つの穴が開いたポートもあります。このポートがすごく気になっています。店に行って探したところ、8つの穴が開いたものはありますが、はまりません。ここに繋ぐことが可能かどうかもよくわかりません。  どうぞよろしくおねがいします。

  • プリンタの状態を取得したいです

    お世話になります。 パラレルポートを使って接続したローカルプリンタの 状態を取得する処理を作っています。 すぐに印字できる状態かどうかをチェックし、 印字可能であれば、印刷処理を行う、 ということをしたいのですが、APIがよくわかりません・・・ GetPrinterや、EnumJobs等をサンプルを見ながら、試してみました。 しかし、プリンタの電源を落としても、オフラインになりません。 [設定]-[プリンタ]で詳細表示にして状態を見ても「準備完了」となっています。 どうすれば、オフラインや、その他のエラー情報が取れるのでしょうか? OSはWindows2000Proです。 よろしくお願いいたします。

専門家に質問してみよう