ハード全般
青色LED
キーボード
ジャンクHDD
Millenium I
AHA-2940UW
NeXTキ-ボ-ド
キー・ホルダ
USBポート切替
ADB GamePAD
SCSI-BOX
GeoPort給電
AirMac修理
USB-SCSI
USBキ-ボ-ド
USB角マウス
iBook修理
NeXTキ-ボ-ド2
EtherWave
ADB連動TAP

Mac Plus
128KMac改
続・Plus改
10Base-2→T
ATX電源ON!
iMacPlus

PowerMac 7100
復活の7100
7100 in IIcx
AUI→AAUI
32M-SIMM
Win on 7100
CD with 7100

PowerMac 8500
8500分解
メモリ増設
Drive増設
SonyのFD
64M-DIMM

Yosemite
Socket再生
DVD搭載
DVD再生
FireWire
シリアル
PCIでFireWire
ホタル点滅
FireWire修理
SawTooth化
300W静音電源
フロントSlot

iMac
iMacの解体
ADB復活
信号/解析
DVD搭載
8M-VRAM化
1M-cache化

iMacDV
コネクタ信号
DV in IIcx
DV基板PartII

Cube
電源SW対策
DVD-R搭載
24V電源
AirMac互換
ATX電源化
7457換装
電源内蔵
Li2次電池
1394a-HDD

OSX〜10.1
β起動
Tips
解析など
iCab
iTunes
SD-R1002
GhostScript
GSで印刷

Jaguar
PerlでCGI
Tips

Panther
DVD-Multi
GhostScript

〜MacOS9
OS 9
OS 8.1E
OS 8
パッチ1
パッチ2
QT4パッチ
プリンタ共有
Mac&TekScope
GhostScript

www/Perl
wwwサーバ
PerlでCGI
UNIX&MacPerl

他/支援
CAP
MkLinux
Mac検定

掲示板
Mac-BBS


 

GhostScriptでPrintOut!

OSXでGhostScriptが動きました。 あとはGhostScript経由のドライバで印刷までできたら、OSX対応のプリンタが少ない現在では非常に助かるのではないか? と思い挑戦してみました。

instal
Tips
解析
iCab
iTunes
SD-R1002
GhostScript
GSで印刷

インストール

Tips

解析

iCab

iTunes

SD-R1002

GhostScript

GSで印刷



lprで印刷

OSX偏

今回私が使いたいプリンタはCanonのBJC-35v。 当然OSX用のドライバなんて出ていません。

ならば、PostScript印刷〜GS経由〜lprで印刷できないか? と考えたわけです。(OSX 10.1.5にて検証)


lprで接続

OSX偏

まず、BJC-35vはパラレルポートしかないです。 そこで、小型のLPR対応のPrinterSaverを接続しました。

これは新潟CanotecのNetHawkET-LSですね。 TCP/IPを割り振って、LPRできるようにしておきます。


NetInfo

OSX偏

このLPRのサーバをNetInfoに登録しましょう。 BSDのprintcapもNetInfoで設定するんですよ。(^^;

BSDのlprは、「Localなプリンタ」への出力の場合だけ、ifを呼びます。
なので、lp(出力したいリモートプリンタ)とは別に、BJC-35v(キューとして使うダミー)も登録、そのダミー側でifを設定するわけです。
ここでPostScriptプリンタの設定用のPPDもppdurlで指定できます。(PPDが文法まちがってるとGenericになりますので。)

OSX偏

PrintCenter
NetInfoにダミーとLPRしたいプリンタの2つのキューが設定できたら、PrintCenterを起動!   デイレクトリサービスから、このダミーのキューを選んで登録してください。
PrintCenter

フィルタ呼出
ちなみにifフィルタ、ps2bjc.shの中身は、

#!/bin/sh
/usr/local/bin/gs -q -dNOPAUSE -dSAFER -dFIXEDMEDIA -dBATCH -sDEVICE=bjc600 -sOutputFile=¥|"/usr/bin/lpr -v -h -Plp" -

LPRではなくてAppletalkで印刷したいなら、atlookup でAppleTalkのプリンタサーバを見つけて

gs -q -dNOPAUSE -dSAFER -dFIXEDMEDIA -dBATCH -sDEVICE=bjc600 -sOutputFile=¥|"/usr/bin/atprint kameyaBJC-35v:'BJCPRN'" -
とかやります。

さらにsambaを入れていてwin共有プリンタに印刷したいなら、

server="win2K"
service="LBP-980"
user="kameya"
password="ikameya"
gs -q -dNOPAUSE -dSAFER -dFIXEDMEDIA -dBATCH -sDEVICE=lips4 -sOutputFile=¥|"usr/local/bin/smbclient "¥¥¥¥${server}¥¥${service}" $password -U $user -N -P" -

とかやればいいはず。(未確認)

しかし、Netinfoで設定したif(インプットフィルタ)が機能してくれません。 PrintCenterがエラー返してきます。

そこで、「印刷」からPostSciptファイルに一旦保存し、Terminalからパイプしてifを呼んでみましたところ...

[印刷][出力オプション][ファイルに保存](PS)
cat **.ps | ps2bjc.sh

GSでPS変換

あれま、出てくるではないですか!? これはびっくり! あとはPrintCenterがちゃんとif(インプットフィルタ)を呼んでくれさえすればいいんですよ!!


LPRIOM.plugin

いろいろ調べまくった結果、OSXは10.0.4と10.1.xとの間でPrintCenterのLPRに変更があったらしい事がわかりました。10.0.4まではちゃんとifが呼び出されるのだそうです。

そこで...10.0.4の/System/Library/Printers/IOMs/LPRIOM.pluginを持ってきて10.1.2に入れればLPRでifが機能するってことを突き止めました!(^^)

OSXのアプリから印刷OK!

やった!印刷できました!(^^)
PPDも調整して、用紙サイズも選べます。完璧ですね。(^o^)

この方法なら、-sDEVICE=の部分の変更でいろんなプリンタに印刷ができるってことになります! 未サポートのプリンタでもOSXからバンバン印刷できちゃいますね! (しかもネット経由です。)


kameicon 自分で考え、試し、失敗してでもやりとげる意志がある人に,多少なりともここの情報が役に立てばそれでよしとしましょう。
従って、質問、メール等は原則的にお断りします。
亀屋TOPへ
Mac改造TOPへ