2016年09月

2016年11月・2016年09月・2016年08月

2016/09/17(土)

Raspberry PiでExcelをPDF化&自動プリントアウト

Raspberry Pi、数千円で購入できるARM(ARMアーキテクチャ)ベースの小型軽量ボードコンピュータです。
RaspbianをはじめLinuxが動作するのでちょっとしたサーバとしても使えますし、GPIOを利用して電子工作用のコンピュータとしても使えます。
Raspberry PiをWebサーバとして動作させプログラムで(Excelを自動生成し、)Excelを自動でPDF化し、そのPDFをネットワークプリンタで自動印刷させてみました。便利な機能ですが、それなりにLinuxに関する知識は必要なのであしからず。プログラムでExcelを生成する方法はプログラミング言語によっていろいろあるようですし他にまかせて(サーバサイドでExcelブックを生成するいくつかの方法等参照)、外部プログラム実行機能を利用してPDF化とプリントアウトについて個人的メモ。(リリース日が2016-05-27のraspbian軽量版RASPBIAN JESSIE LITEを利用した場合)

・ExcelのPDF化はLibreOfficeを利用。(なのですべてのExcelがうまくPDF化できるかどうかは不明)
RaspbianはDebian系Linuxなので

#sudo apt-get install libreoffice
でインストール。

コマンドライン

#sudo soffice --headless --convert-to pdf --outdir (出力先ディレクトリ) (エクセルファイル)

でExcelファイルをPDF化、出力先ディレクトリに保存できます。(コマンドラインで実行する場合のパラメータ等はStarting the LibreOffice Software With Parametersを参照)
ただ注意点があり、プログラムでApache HTTP Serverなどを利用してWebサーバ上で自動実行するにはroot権限が必要。visudoでsudoの利用権限の追加が必要なようです。(RaspbianでWebサーバとしてApacheを利用する場合は、www-dataにsudoが利用できる権限を付与。)プログラムで自動実行する場合は下記をプログラム内で実行します。

sudo /usr/bin/soffice --headless --convert-to pdf --outdir (出力先ディレクトリ) (エクセルファイル)

・PDFの印刷はCUPS(Common Unix Printing System)とlp(lpr)コマンドを利用。

#sudo apt-get install cups
#sudo apt-get install lpr
でインストール。

CUPSにはWebブラウザでプリンタの設定ができる機能があるので利用すればわりと簡単にプリンタの登録管理ができます。
ちなみに、自宅で使用している激安で買ったインクジェットプリンタ、HP ENVY 4500。現段階でapt-getでインストールできるCUPSのバージョンではプリンタドライバの登録がありませんでした。(HPの製品だったので#sudo apt-get install hplipでインストール、選択できるように。)大抵メーカーのホームページ等で提供されているようですが、Linux用プリンタドライバ(PPDファイル)があるか要確認でしょうか。複合機だとステープラー(ホチキス止め)までコントロールできたりするみたい。
コマンドライン

#lp -d (CUPSで登録したプリンタ名) (PDFファイル)

でPDFファイルを指定のプリンタから印刷することができます。
プログラム内で実行する場合は、

/usr/bin/lp -d (CUPSで登録したプリンタ名) (PDFファイル)

つまりLinux上で動作する、外部プログラム実行機能を持ったプログラミング言語で上記を順番に実行(当然PDFの生成確認も)するようにプログラミングすれば、Excelの自動PDF化とPDFの自動印刷がわりと簡単にできるというわけです。いろいろ応用できるかと。(Excelの自動生成を含めると、1つの操作で同じ内容のExcelファイルとPDFファイル、プリントアウトされた紙が揃います。)
Raspberry PiではPDFの生成に若干時間がかかる気が。ただ、Raspberry Piで実行できるのでRaspberry Pi以上のスペックのサーバであれば言うまでもなくという事で。


2016/09/03(土)

充電スペース搭載の収納棚を自作してみた

充電スペース搭載の棚収納棚というと世の中ピンからキリまであるわけですが、インターネット他、色々探しても充電スペースがいい感じで搭載された棚がみつからず。
スマホと違って毎日は使わないもののバッテリー搭載で充電が必要な機器の置き場がなんとかならないかと。常時置くことができる棚が欲しかったわけです。
理想のものが見つからないので、最上段(目線の高さ)に充電スペースを搭載させた収納棚を自作してみました。だらだら3週間分の土日を利用して完成。なかなかいい感じに仕上がりました。ただ、分解や改造がしやすいように設計したため、コストが思った以上にかかってしまったり。
ひとまずローコストで少ない種類の材料でなんとかしてみようと、木材としてSPF 1×4 6F (1本300円くらいで売られていた)が14本、金具(L字の安いものを探して8つで約1,600円)、ネジとナット(分解できるように考えた為全部で約2,000円)で材料費で8,000円程かかりました。分解を考慮しなければ金具とネジとナット全てが200円くらいのネジセットだけで代用できたかも。
他、OAタップ(裏に引っ掛ける穴があるタイプ)。使った機材として既に持っていましたがドライバドリル丸ノコも。
ちなみに掲載写真、タブレットとBluetoothスピーカーの組み合わせ、個人的にですがGoogleの定額制音楽配信サービスを利用している事もあって以前に比べてCDを買わなくなっている気が(そもそも配信されていない場合や、配信サービス以外のソフトウェア(Serato DJとか?)や機器等で再生したい場合等を除いて)。
Googleの定額制音楽配信サービス、配信サービスの専用ソフトウェア上であればダウンロードしてオフラインでも再生できる機能もある(暇じゃない&面倒なので他社に同じサービスがあるかどうかは調べておらず)のでBOSEのSound Link Mini(コンパクトで高音質(配信かつワイヤレスなので音質そもそも論はおいておいたとして。重低音強めで好みもあると思いますが)で好きな場所へ持ち運びできる)との組み合わせは特にいい感じです。
同じ仕様の棚を壁側に並べたくなったりも。たいした事はないのですが需要ありそうな気がするので後、電源タップ(USB電源タップ)搭載でもっと目立たなくした感じの収納棚や収納棚の上に置く棚とか発売されたりして・・・。


Blog

CCNA(Cisco Certified Network Associate)取得を目指している取得した取得後有効期限満了したぎりぎり20代30代突入30代30代後半40代突入管理人のブログです。

Google Maps API

googlemap.jpg
地図 ブログ

 

Twitter

Recent Entries

Category

Monthly Archives