POSプリンターで遊ぶ-2

| コメント(0)

まず、python.orgのダウンロードページから、「Windows x86 MSI Installer (2.7.6)」をダウンロードしてインストーラーを起動する(設定を変更しなければ「C:Python27」にインストールされる)。

これは通常のWindowsプログラムと同じ方法でできるので簡単である。注意すべきことがあるとしたら、環境変数のPATHにC:Python27とを追加することくらいだ。

インストールを完了したら、コマンドプロンプトで「python -V」と打ち込みバージョンを確認する。

さて、ここからは少々面倒である。最初にpythonの各種モジュールのダウンロードと設定を支援するツールである「easy_install」をインストールする。このページの「ez_setup.py」のリンクを右クリックして「名前をつけてリンク先を保存」する。ダウンロード先はどこでも構わないが、ここでは「C:Python27 mp」というフォルダを作ってそこに格納した。因みに、本家(python.org)からダウンロードしたものは、なぜかインストールに失敗するので使えない。

EasyInstall.jpg
コマンドプロンプトで、このダウンロードフォルダに移り「python ez_setup.py」と入力すると、なにやら色々なメッセージが表示されてインストールが完了する。終わったら環境変数のPATHに「C:Python27Scripts」を追加しておく。

ここまで来ると、後は「eazy_install.exe」というツールを用いて必要な各種モジュールをコマンドプロンプトでインストールすることができる。

USB接続のプリンターに対応するためのモジュールをインストール。

「easy_install pyusb」

画像ファイルライブラリのPIL(Python Imaging Library)をインストール。

「easy_install PIL」
「easy_install Image」

次に、esc/posプリンター用のモジュール「python-escpos-1.0-1」を取得する。

PythonEscpos.jpg

解凍先のフォルダで以下を入力。

「python setup.py install」

RSSフィードのデータをパースするためのモジュールをインストール。

「easy_install feedparser」

続いてHTMLドキュメントをパースするライブラリであるBeautiful Soupのサイトから「beautifulsoup4-4.3.2.tar.gz」をダウンロード。

BeautifulSoup.jpg

解凍先のフォルダで以下を入力。

「python setup.py」

これまた延々とメッセージが表示されるが、無事インストールできたら、pythonの対話モードで確認を行う。「>>> from bs4 import BeautifulSoup」と入力して、エラーが出なければ正常にインストールされている。

BeautifulSoupTest.jpg

最後に上記ブログの作者が公開している「fetch_rss」を取得して解凍(画面右の「Download ZIP」をクリック)。

fetch_rss.jpg

解凍先のフォルダで、以下を実行。

「python vh_fetch.py --prn 1」
(因みに、末尾の「1」は、一日分のフィードを取得するという意味である)

デフォルトで設定されているRSSフィードのURLに問題があるらしくエラーになるので、「subscriptions_print.py」の内容を修正。
(GIGAZINEのRSSフィードを設定)

例)subscriptions_print.py
# My RSS subscriptions, as a Python list.

[
	'http://feed.rssad.jp/rss/gigazine/rss_2.0',
]


再挑戦すると、「GIGAZINE.prn」というプリンタ出力ファイルが生成している。
このデータを以下のコマンドでUSB接続のPOSプリンタに送る。

「copy GIGAZINE.prn \コンピュータ名\プリンタ共有名」
(※プリンターには共有設定を行っておくこと)

(例)copy GIGAZINE.prn \my_computer\pos-58

するとプリンターから感熱紙が排出されのだが、ものの見事に文字化けしている。この時になって初めて、この洋物のプリンターには日本語フォントが搭載されていないということに気付いた。何ともお粗末な話である。これを解決するための悪戦苦闘については次回。
Pos58-4.png

コメントする

アーカイブ