Help us understand the problem. What is going on with this article?

[OF] プリンタ制御

More than 1 year has passed since last update.

自己紹介

社会人3年目を迎えたエンジニアです。
そろそろ自分に「初心者」っていうレッテルが取れ始めて「初心者なんで多めに見てね」スタンスが通用しなくなってきたことを感じる日々を送っています。

ものすごい久しぶりの投稿になります。
前回投稿からすでに一年以上空いてますが、その間で色々学ばさせていただいたことが多く、ここに書けそうなことをちょいちょいっとまとめていけたらなと思います。

本題

はい、今回は需要があるかどうかとても怪しいのですが、openframeworksでプリンタの制御をしようというものです。
実際僕がこのケースに出くわしているので多少の需要はあるでしょう、きっと。....きっと。

どのようなケースに遭遇したかといいますと
「体験者に応じて画像を生成して、その画像を全て自動で印刷させる」というものでした。
unityには有料でプリンタ制御できるアセットがあったりと別にOFでやらなくてもよかったのですが、
僕個人は一番OFが慣れ親しんでるものだったので、どうせなら自作でアドオンを作ってみようと思いました。

んで、作ってみました。

ofxPrinter

実を言うと、中身見ればわかっちゃうのですがコアな部分ほぼPowershellで書いて、それをOFからsystem関数で呼んでるだけです。
Example見てもらえればある程度使い方わかりますでしょうか?不明であればコメントください。あとプルリクも大歓迎です。
駄目だしとかめっちゃしてください笑

使い方

ofApp.cpp
#印刷情報を持つ構造体
OFX_PRINTER p;

p.printerName = ""; #使用するプリンタの名前を入力

p.paperSize = ""; #使用する紙のサイズを入力
p.color = false; #白黒かカラーかを選択 falseの場合は白黒
p.fitToPaper = false; #ページの隅に画像を合わせるか選択
p.landscape = false; #縦印刷か横印刷か選ぶ falseの場合は縦 trueは横
p.margin = ofVec4f(50.f, 50.f, 50.f, 50.f); #ページの余白を入力 fitToPaperがtrueの場合は無視されます

#印刷
printer.printOut("画像ファイルのパス", p);

ExampleではofxImGuiを用いてGuiでプリンターや紙サイズなど選べて印刷できるようにもなっているので、よければビルドして試してみてください。

終わりに

今回初めて自身のアドオンをGithub様で公開してqiita様で広報という事をしました。
今年中にあと2つか3つくらい需要のありそうなOFのアドオンを制作して、同じような形でまたここに書いていこうと思います。

ではまた次回!読んでいただきありがとうございました。

iwax10
雑食系なんちゃってエンジニアです。 僕自身がつまづいたところをまとめていきます。 あとポートフォリオサイト開設しました https://iwaxlab.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away