USBプリンターでパラレル(LPT)プリンターをシミュレートするにはどうすればよいですか?


18

LPTポート経由で接続されたプリンターでのみ印刷するレガシーソフトウェアがあります。ただし、使用する必要があるマシンにはパラレルポートがありません。さらに、私のプリンターはUSBデバイスです。

usbプリンターがlptポートに接続されていると考えるようにコンピューターをだます方法は?

さらに、これはオフィス用です。回避策を実装する際に管理者権限がありますが、すべての設定後に「通常の」ユーザーがログインしている間に機能するソリューションを探しています。


1
私はあなたがLTPポートではなくLPTポートを意味すると思います。LPTは「ラインプリントターミナル」の略で、プリンタポ​​ートを指すときは「パラレル」と同義です。興味深いことに、LTPタグがあります。変更できますか?または多分私は何かを見逃しています。
boot13

@ boot13、あなたは正しい。
デーンオコナー

回答:


21

USBプリンターをLPT1に接続されたダミーの「ネットワーク」プリンターとして使用することにより、Windowsをだますことができます。

USBプリンターを共有する

「プリンター」など、覚えやすい共有名を使用します。

共有プリンターをLPT1として接続します

NET USE LPT1: \\[Computer-Name]\Printer /PERSISTENT:YES

5
ループバックアダプターをいじる必要はありません。USB接続を使用して、通常どおりプリンターをインストールします。それを共有します。次に、上記のようにNET USEを使用します。
アランB

NET USEループバックアダプタは不要ですが、「Share and 」トリックの場合は+1 。ユーザーが自分のアカウントにパスワードを持っていない場合、注意することの1つは、ローカルセキュリティポリシー(または適切なレジストリキー)を変更して、この機能を有効にする必要があることです。
afrazier

すべての手順を実行できましたが、使用しているPCにパラレルポートがない場合、net use LPT2 \\Computer-9313\Parallel /PERSISTENT:YESget The command completed succesfullyを実行しますが、ハードウェアデバイスにLPT2が表示されないため、アドレスがわかりません。
アンドレス

1
@Andresは、上記のようにLPT2の後にセミコロンを入力するのを忘れましたか?
phuclv 14年

1
それはコロンであり、セミコロンではありません(; vs:)
イアンMacintosh 14

5

USB-パラレルアダプターを使用しても意味がありません。ここでは、USBのみの接続のハードウェアで非常に古いレガシーソフトウェアを使用することについて説明しています。私の場合、ZEBRAラベルプリンターです。

私の場合の解決策はそうでした。

  1. USBプリンターとそのドライバーをインストールします(接続されているUSBポートを見つけるためだけに)
  2. ドライバーのポートをFILEに変更します(そしてUSBポートを解放します)
  3. Generic / Text Onlyドライバーをインストールし、ポートをポイント1と同じ論理USBポートに変更します
  4. Generic / Text Onlyプリンターを共有して、VBAで簡単に表示できるようにします
  5. 固定された未使用のIPアドレスにMicrosoft Loopbackアダプターをインストールします(そうしないと、ケーブルが切断されたときにプリンターが表示されなくなります)
  6. 以前にコマンドラインで説明したように、LPTx:ポートを割り当てます(これは古いLPTを必要とするすべてのSWに対してです)

数行のコードで、過去に使用したようにASCIIコードをプリンターに送信できます。

VBAで簡単に印刷できるようになりました(Windows 7 64ビットおよびZM400 Zebraプリンターでテスト済み)

Open "\\Kb\ZM400" For Output As #1       'Kb = computer Name; ZM400 = Shared printer name
For rows = 1 To 37 ' send the first 37 rows of ASCII codes from the worksheet "STRINGS"
    Print #1, Worksheets("STRINGS").Cells(rows, 1).Value
Next
Close #1

2

おそらくWinPrintをチェックアウトしてください:

DOSアプリケーションによって生成された標準プリンター出力を取得し、デフォルトのWindowsプリンターに転送します。コードページを変換し、空のページを取り除き、BOX描画文字をサポートします。すべてのWindowsプラットフォームで動作します。


2

DOS印刷プログラムを使用して、使用可能なポートを目的のデバイスに操作します。このリンクからダウンロードできます https://www.dropbox.com/s/gdx05sckmbqnast/dosprint.exe?dl=0(dos Print)

https://www.dropbox.com/s/alf6hdd5fctepmo/dosprintui.exe?dl=0 (印刷UIを実行)

最初に管理者としてdosprintとdosprintuiを実行し、dosprintuiトレイアイコンをダブルクリックしてから、マップする利用可能なポートのリストを取得し、lpt1またはセットボタンをダブルクリックして、マップする目的のプリンターを選択してクリックしますOK。BINGOはLPT1ポートに印刷できるようになり、USBプリンターがそれを印刷してくれます。


2

DOSプログラムは今でもビジネスの世界で使用されています。それらを最新のコンピューティングプラットフォームで適切に動作させる方法についてのアドバイスは、Web上でramp延しています。これが私のために働いたものです。

作業する必要がある16ビットDOSプログラムは、32ビットWindows 2003サーバー上にあり、まもなく削除されます。それまで、プログラムへの共有は、グループポリシーを使用して、プライマリドメインからの2つの32ビットクライアントマシンにマップされます。プログラムを起動する.cmdファイルへのショートカットは、プライマリドメインのクライアントにも手動で配置されます。このプログラムは、Windows 8.1で正常に動作します。確かに少し妥協しますが、セカンダリドメインから実行されるDOSプログラムが廃止されると、マシンは64ビットWindows 8.1にアップグレードされます。

プログラムからの印刷は最大の課題です。このプログラムでは2つの異なるパラレルプリンターが使用されますが、プログラムは1つのポートにのみ印刷され、この動作を変更するオプションはありません。レーザープリンターに小切手を印刷する必要がありますか?ポートLPT1に接続する必要があります。データダンプをドットマトリックスプリンターに印刷する必要がありますか?ポートLPT1にも接続する必要があります。このプログラムは毎日2人で作業しているので、プリンターごとに1人ずつコンピューターを使用します。最初のプリンターをインストールしましょう:

  • コンピューターに物理DB-25(パラレル)ポートがある場合は、BIOSで無効にできます。Windows 8.1ではサポートされないため、必要ありません。

  • Cables-to-Goモデル16899 USB-DB25パラレルプリンターアダプターを使用して、プリンターをコンピューターに接続します。アダプタは自動的にインストールされ、パラレルデバイスまたはLPTポートとして認識されません。

  • 次に、デバイスとプリンターを開きます。[プリンターの追加]をクリックし、[使用するプリンターは一覧にありません]を選択します。次のダイアログで、手動設定でローカルプリンターまたはネットワークプリンターを追加を選択し、次のダイアログで既存のポートを使用します。リストからLPTポートオプションではなく、USBの仮想プリンターポート(USB001またはUSB002)を選択します。

  • 最初のプリンターは、Panasonic KX-P1191マルチモードドットマトリックスプリンターです。プリンターがドライバーを要求するダイアログボックスに表示されず、Windows Updateをクリックしてリストを更新しても解決しません。パナソニックのサポートサイトを確認すると、この時点ではプリンターが完全にサポートされていないことがわかりますが、パナソニックのテクニカルサポートスペシャリストがWindows 8.1に含まれるEpson FX Series 1(80)ドライバーに至る道を解明しました。完璧に機能します。

これでプリンターがインストールされました。ただし、ポートUSB001にあり、プログラムはポートLPT1にのみ印刷します。ソリューションは比較的簡単で、プログラムの起動に使用されるバッチファイルに直接統合できます。古い学校を手に入れて、私たちのプリンターでトリックをしてみましょう。それを共有し、そのようにしてLPT1に印刷します。

  • プリンターを右クリックし、[プロパティ]を選択します。プリンターを共有し、ディレクトリにリストしないで、適切な測定のために短い共有名を作成してから、クライアントコンピューターのユーザーが[セキュリティ]タブの[グループ]または[ユーザー名]領域に表示されるようにします。

  • これらのプリンターに印刷する2人が給与を作成するため、ドメイン管理者権限を付与しました。それは不要だったかもしれません。どちらもプライマリドメインのユーザーですが、セカンダリドメインのユーザーではありません。また、権限の問題のトラブルシューティングに時間を費やしたくありませんでした。

次に、バッチファイルを変更し、十分に文書化されたnet useコマンドを使用して、印刷ソリューションを実装します。

@echo off
::delete the printer
net use lpt1 /delete
::add the printer
net use lpt1 \\\COMPUTER\PRINTER /persistent:yes
::fire up the nasty ol' DOS program
<existing syntax used to start the program>

COMPUTERはコンピューターの名前で、PRINTERはプリンターの共有名です。この手順は、Windows 8.1に付属の「HP LaserJet 1100(MS)」ドライバーを使用するHP LaserJet 1100プリンター用の2台目のコンピューターでも同様に機能しました。

- ノート -

システムエラー5:

ユーザーがセキュリティタブの下にリストされていることを確認します。「全員」を削除できます。ユーザーにはドメイン管理者の権限が必要ですか?すべてが1つのドメインから実行されている場合は、おそらくそうではありません。

システムエラー66:

構文を確認してください。コンピューター、プリンター、またはコロンの名前のつづりを間違えた可能性がありますか?Microsoftのドキュメントごとに必要なコロンは1つだけです。不要なコロンをlpt1 [:]に追加すると失敗しますか?

ネット使用に関するすべて:https : //technet.microsoft.com/en-us/library/bb490717.aspx


0

市場には「USBアダプターに匹敵する」ものがたくさんあります。1つをオンラインで約10ドルで入手できます。おそらく、開始するのに適した場所です。


問題は、プリンターがコンピューターに接続されていないことです。接続されています。問題は、USBプリンターがLTPポート(仮想LTPポート)に接続されているように動作するようにすることです。
デーンオコナー

しかし、彼はパラレルポートを持たず、USBプリンターも持っています。
デビッドはモニカを

0

使用しているハードウェアについては説明していませんが、それがWintel PCであると仮定すると、汎用のパラレルポートカードをほぼ無料で購入できるはずです。それとは別に、harrymcが提案するように、NET USEを使用してリダイレクトできます。


0

私は、カスタム設計されたビジネスクリッパーベースのソフトウェアで同じ立場にいました。USBプリンターに印刷するための並列エミュレーションソフトウェアをいくつか調べましたが、これは多少は機能しましたが、独自の問題がありました。64ビットwin10 no dosの問題を克服することは本当の挑戦でした。

Harbor HMGを見つけました。数行のコードを変更した後、アプリソフトウェアを32ビットに再コンパイルしました。また、Microsoft Accessで取得した一時ファイルにデータを書き込むアプリを作成して、すばらしい形式のレポートを作成しています。ああ、ところで。現在、アプリは64ビットWindows 10で動作し、メモリと速度が大幅に向上しています。また、レポートをusbラインプリンターやインクジェットなど、私が選択したものに送信しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.