FIELD NOTES: 書を持って街へ出よう

合同会社フィールドワークス プログラマ兼代表のブログ

Asterisk 13で作るクラウドFAXシステム

Asterisk 13からはFAXを送受信するための機能が標準搭載されているのですが, FAXイメージをTIFFファイルレベルでやり取りする機能までしか提供されておらず, そのままでは実務には使えません。 そこで,AsteriskのFAX機能を補強するためのPythonスクリプト…

Evernoteで図入りのMarkdown文書を書いてMarkedでプレビューする方法(Mac OS X)

EvernoteにMarkdown記法でメモを書くのは便利なのですが, せっかくEvernoteを使っているのに図を手軽に扱えないのは残念なので,ひと工夫してみました。 使い方 以下が作成したPythonスクリプトです。 <EVERNOTE_USER_NAME>の部分は,Evernoteのアカウント名に置き換えてくださ</evernote_user_name>…

PDF帳票を作成するためのWEB APIを提供開始しました

クラウド上のシステムからPDF帳票を作成するための実験的なサービス Field Reports for Cloud を提供開始しました。 このサービスで提供するField Reports APIを利用すれば,Google App Engine (GAE), Heroku, Salesforce.com (SFDC) などのPaaS上に構築され…

Gmailで自動返信メールシステムを構築する方法

Gmail Labsで公開されている「返信定型文」と「フィルタ」機能を組み合わせて自動返信メールを実現することはできますが,いくつか制限があります。 自動返信メールの返信元アドレスに「+canned.response」が付く。 返信文にあいての名前などを動的に挿入す…

MacVimをコマンドラインから起動する方法

MacVimにはmvimコマンドが付属していて,ターミナルからMacVimを起動する事ができます。 香り屋版でもそのまま使えたので,便利に使っていました。 Lionになってから,MacVimが起動していない状態でmvimを実行すると,以下のようなエラーが出力されるように…

nginx+SCGI+web2pyの構成をお試し中

nginx+uWSGI+web2pyの構成で3ヶ月ぐらい運用していたのですが,あるトラブルがありuWSGIをSCGIに置き換えて様子を見ています。 「あるトラブル」とは? 運用しているサイトは帳票開発ツールのデモサイトなので,応答として動的に生成したPDFを返すページがい…

書類送付状生成デモの改造

先日作成した書類送付状生成デモを少し改造してみました。 書類送付状生成デモ 解説記事 改造点は以下のとおりです。 すべてをcontrollerで実装していたのを改め,controllerとviewに分離した。 viewを切り替えて,PDFとHTML両方の出力形式に対応できるよう…

書類送付状生成デモの作成

前回のはがき宛名面の作成デモに続いて,書類送付状を作成するデモを作成しました。 実用的にも使えると思いますので,よかったら使ってみてください。 書類送付状生成デモ テンプレートの作成 まずは,オフィスソフトを利用して,帳票のレイアウトをデザイ…

Google App Engine からPDF帳票を生成する

Google App Engine (GAE) から Field Reports for Cloud β版で提供しているWeb APIサービスを用いて,帳票を生成する方法を解説します。 今回は,「Hello World!」を表示するデモを作成します。 プログラムの作成 Webアプリケーションフレームワークとしてwe…

CentOSにnginx+web2pyをインストール

さくらVPS上にnginx+web2pyの構成でWEBサーバを設定する手順をまとめました。 CentOSであれば,概ね同様の手順でインストールできると思います。 前提として,web2pyのファイルは /var/www/web2py に置いているものとします。 nginxのインストール nginxの公…

はがきの宛名印刷用PDF作成サービスを公開します

弊社製品のPDF帳票開発ツール Field Reportsを使って, はがき宛名面の印刷用PDFを生成するサービスを作成しました。 当初は単に製品のデモとして作り始めたのですが, 意外と実用的なものができたので, Webサービスとして一般に公開したいと思います。 サ…

OCamlでWindows用DLLを作成する方法

同一のコードから複数のプラットフォーム用の共有ライブラリ(Unix系OSなら.so,Mac OS Xなら.dylib,Windowsなら*.DLL)を作りたい場合,どのプログラミング言語を選ぶべきでしょうか? まず思い浮かぶのがC/C++だと思いますが,もっと「モダン」なプログラ…

ブログ移転のお知らせ

2012年3月より,本ブログは下記URLへ引越します(Tumblrの独自ドメイン機能を利用しています)。http://blog.field-works.co.jp/今後ともどうぞよろしくおねがいいたします。 2012/11/17 はてなブログがMarkdown記法に対応しました。これを機会に,はてなダ…

Google Apps Script でメールをタイマー送信する方法

メールの送信を予約して,決まった日時に送りたいことがあります。そのようなことを実現するためのアプリケーションもあるようですが,常にPCの電源を入れておく必要があります。 一方,外部のASPサービス(「ステップメールサービス」など)も存在するよう…

IPAmj明朝フォントの研究 ― 実装編 ―

前回の調査結果を元に Field Reports 1.4 に以下の機能を盛り込みました。 サロゲートペア対応 従来は,PDFで定義済みのCMapである「UniJIS-UCS2-H」を使ってエンコーディングを行なっていましたが,これでは1文字=2バイトのコードまでしか対応できませんで…

Jimdoでソースコードを整形して表示するならPygmentsが便利

Webサイトにソースコードを整形して貼り付ける時の定番は,SyntaxHighlighterのようです。 ただ,SyntaxHighlighter付属のCSSファイルをサイトにアップロードする必要があり,Jimdoで使うのはちょっと面倒なので躊躇していました。先日,Pygmentsというソフ…

IPAmj明朝フォントの研究

独立行政法人情報処理推進機構(IPA)より「IPAmj明朝フォント」が公開され,6万字というインパクトもあり,各所で注目されているようです。弊社で開発している「PDF帳票開発ツール Field Reports」でもこのフォントが自由に使えるようになれば,利便性が高…

OCamlで作成した拡張モジュールでセグメンテーション違反発生

以前のブログでも書いたとおり,弊社ではOCamlを使ってLL言語用の拡張ライブラリを作成しています。 この構成でこれまでは特に問題なく稼動していたのですが,機能拡張していくうちに突然セグメンテーション違反が発生するようになってしまい困りました。 現…

現在契約できるプロバイダフリーのIP電話

(c) nakusa123|画像素材 PIXTA現在,050 plusのようなスマートフォンから利用できるIP電話サービスが開始され好評の様ですが,使用する端末やアプリが限定されてしまうのがちょっと不満に思えます。一方,各ISPがひかり電話を始めとするIP電話サービスを提…

VMware ESXi 5.0でVNC接続を利用する方法

最近,VMware ESXi を5.0に移行したところ,今まで使えていたVNCでの接続ができなくなってしまいました。VMWareサーバにログインしてログファイルを調べてみたところ,以下のようなメッセージを発見。 vmauthd.log:2011-09-05T14:47:33Z vmauthd[11156]: vth…

iCalとiPhoneをTODO込みで同期をとる方法

iCalとiPhoneを連携させるには Google カレンダーを媒介として同期を取る方法が定番ですが,残念なことに TODO(リマインダー)の同期が取れません。 GoTasksなど,iPhoneからGoogle の「ToDo リスト」を参照できるようにするAppは存在するようなのですが,i…

jarファイルとjniライブラリのインストール方法

(c) YsPhoto|写真素材 PIXTAJavaの外部ライブラリ(*.jar)をJavaの処理系が参照できるようにするためには,環境変数CLASSPATHに追加したり,コマンド実行時に -classpath オプションを追加するなどの方法がありますが,jarファイルの数が多くなってくるとい…

Windows用PHP拡張モジュールを最短でビルドする方法

現在,「LL言語用PDF帳票ツール Field Reports」をWindowsへ移植しているのですが,Windows環境でPHP拡張モジュールをビルドする方法として断片的な情報しか見つからなくて苦労しました。 試行錯誤してなんとかビルド手順が確立できたので,わかったことをま…

LL言語向けPDF帳票ツールField ReportsがJavaに対応しました

弊社製品LL言語向けPDF帳票ツール Field ReportsをJavaに対応させました。当初の構想としては,Java対応の手段としてOCaml-Javaを使ってみようかと思っていたのですが,今回お手軽にJNIを使ってJava用I/F (Java Bridge) を作成してみました。作成したJava Br…

オープンソースのExcel出力ライブラリ

Excelドキュメントと同様に,帳票出力の手段としてExcelを利用する方法も相変わらず人気があるようです。Excel帳票を使用する際にはいくつか気をつけなければいけない事項があると思いますが,社内システムなどで既にMS Officeがインストールしてあり,かつ…

CSVから帳票を生成するツールを作ってみました

弊社のLL言語用PDF帳票ツールField Reportsを使って,CSVファイルを元にPDF帳票を生成するツールを試作してみました。同様の処理はMS WordとExcelの「差し込み印刷」機能を使ってもできますが,このツールには以下の特長があります。 雛形の作成手段がWordに…

PDFで情報発信するときには添付ファイル機能を活用しましょう

企業・官公庁等が情報発信を行う際にPDFがよく利用されますが,掲載されているデータを抽出して自動処理することが難しいという弱点があります。今回の大震災においても,東京電力発表した放射線量測定データが初期にはPDFが形式だった事が批判を浴び,現在…

ビルドツールをOMakeからpyKookへ乗り換えた話

Field Reports 1.1を開発するにあたり,ビルドツールをOMakeからpyKookへ乗り換えました。 なぜOMakeをやめたのか? OMakeをやめた理由は以下のとおりですが,主に私がうまく使いこなせなかった事が原因です。 OMakeは素晴らしいツールであり,それ自体には…

オープンソースのPDFライブラリ(Perl編)

PerlのPDFライブラリは2つしか見つけられませんでしたが,両者ともレベルが高いと感じました。 PDFJは,PDFライブラリというよりはミニ組版ソフトという感じのツールですが,座標を指定して表示オブジェクトを配置することもできるようです。 PDF::API2 主な…

Field Reportsの使い方:連続帳票の作成

通常「連続帳票」と言えばラインプリンタで使用する長い用紙のことを言いますが,ここでは,複数ページで構成される明細書状の帳票を連続帳票と呼んでいます。例えば,クレジットカードの利用明細,銀行のステートメントのような帳票です。 プログラムの作成…