\r\n\r\n
adobeacrobatpro**を使用した文書には、**きれいに印刷できる文書に加え、入力内容を自動計算するための数式を含めることができます。ここでは、PDFファイルで簡単な計算をする方法を紹介します。
数式や自動計算で文書を作成できるソフトというと、microsoftexcelやgoogleシートなどの表計算ソフトを思い浮かべるかもしれません。しかし、スプレッドシートの性質や形式は使いづらく、人に配布するためのフォームとしては不向きです。
幸い、一流のPDF作成スイートであるadobeacrobatには、その中のフィールドの計算を自動化するためのツールがいくつか用意されています。
計算フォーム付きPDFには、例えば以下のような様々なユースケースが想定されます。
このほか、リスクアセスメントや会員制フォームの作成、オフラインでの簡単な性格診断などにもPDFフォームが活用されています。
まず、Acrobatで、フォームを作成します。画面右上の「ツール」をクリックし、下にスクロールして「フォームを準備する」を選択します。ここから、ゼロから新しいフォームを作成することも、既存のPDFや文書ファイルをベースにすることも可能です。ファイルをインポートすると、入力可能なフィールドボックスに自動的に入力するオプションが表示されます。これらのフィールドは後で編集して作成することができるので、これを行うかどうかは重要ではありません。
計算フォームを生成する方法をよりよく理解するために、まず例から見てみましょう。上の図は、数量1~数量5(それぞれ異なる商品数)、合計数量、合計価格の7つのフィールドを持つ単純な注文書である。5つの数量はユーザーが自分で入力できるフィールドとし、合計数量と合計価格のフィールドは自動的に計算されるようにしたい。
フィールドに記入できるようにするには、フィールドをダブルクリックするか、右クリックして「テキストボックスのプロパティ」を開き、「読み取り専用」のチェックを外してください。
すべての数量ボックスが記入可能であるため、数量合計フィールドの計算を作成する必要があります。ボックスを選択し、「テキストボックスのプロパティ」→「計算」と進みます。2番目のオプションで、合計、積、平均などのプリセット計算を選択するか、3番目のオプションで、フィールド表現用の簡略化された計算式を作成します。この例では、プリセットの計算を使用し、「sum」を選択します。
Pickをクリックするとメニューが表示され、合計する必須項目をすべて選択することができます。含めるフィールドをすべて選択し、「OK」をクリックします。フィールドの値が0に変更されていることに気づきます。
次に、「価格の合計」フィールドの計算を作成したいと思います。合計とは異なり、フィールドの集合を単純に合計することはできない。一連の方程式を作る必要がある。
そのためには、簡略化されたシンボル形式を用いればよい。合計金額」ボックスを選択し、「テキストボックスのプロパティ」→「計算」で、3つ目のオプションを選択します。編集」ボタンをクリックすると、テキストボックスに数式を入力することができます。
単純な算術計算については、この数式ボックスはExcelの数式ボックスと非常によく似た働きをします。数量欄のフィールド名を入力し、他の数値と加算、減算、乗算、除算を行うだけです。計算は丸括弧で分割することも可能です。参考までに、基本的な算術計算には次のような修飾子が使われます。
この例では、各数量にそれぞれの価格を掛けることにする。表示されている価格を考慮すると、次のような簡単な式になる。
(Qty1*5)+(Qty2*7)+(Qty3*7)+(Qty4*12)+(Qty5*20)上記の数式を入力すると、各数量にそれぞれの価格が掛け合わされ、最終的な価格が算出されます。
例えば、USBメモリ3個、Apple Lightningケーブル2本、10,000mAhのバッテリーパックを注文したい場合、次のような結果が得られます。
保存する前に、編集したくないボックスは、テキストボックスのプロパティで読み取り専用に設定してください。PDFフォームを開いた人は、これらのフィールドを編集することはできません。
標準的なPDFファイルとして保存すれば、どんな文書閲覧ソフト(ウェブブラウザを含む)でも記入可能なフォームになるはずです。一度記入すれば、他のPDFファイルと同様に保存や印刷が可能です。
PDFファイルの計算システムはJavascriptをベースにしているため、高度なことがいろいろとできるのです。もっと詳しく知りたい方は、Adobeのウェブサイトで、使用できるさまざまな修飾子について学ぶことができます。また、条件付き書式や数式を使用してテキストを修正できるカスタム計算スクリプトを作成することもできます。