
PDF 形式の大きな利点の 1 つは、「What You See Is What You Get (WYSIWYG)」アプローチです。そのため、PDF 形式はレンダリングと表示の基準が高くなります。画面に表示されるものはすべて、他のユーザーのデバイスでも同じように表示されます。ユーザーが使用しているオペレーティング システム、画面解像度、ソフトウェアは関係ありません。したがって、PDF は、ドキュメントを表示するデバイスに関係なく、すべてのプラットフォームで一貫しています。
表示以外にも、PDF ファイルを印刷する際にも内容の忠実性が確保されます。文書にデータが入力されると、データのセキュリティはさらに重要になります。したがって、データの整合性を確保し、適切な人物がデータにアクセスできるようにする必要があります。電子文書を証拠として使用する場合、変更されていない元のバージョンである必要があります。そうすることで、そのような電子文書またはデータ メッセージは法廷で証拠として認められるようになります。また、さらなる処理のために、PDF フォーム パーサー アプリケーションも多数用意されています。
ここで、HTML 形式を検討します。これは、クロスプラットフォーム機能の点で PDF に似ています。しかし、ここでも、さまざまなプラットフォームやブラウザでテストして、適切に機能することを確認する必要があります。表示だけでなく、印刷機能もテストする必要があります。各ブラウザに対する主張を検証するには、膨大な量のテストを実施する必要があります。HTML フォームのデータセキュリティの側面を見ると、セキュリティは常に問題として残ります。
PDF アクロフォーム
この手法では、フォーム フィールドをフォームの画像の上にオーバーレイとして追加します。Adobe はその後、2003 年に PDF 1.5 および Acrobat 6 で XFA フォーム (デザイナー フォームと呼ばれることもあります) を導入しました。XFA フォームと AcroForms はどちらも Acrobat 6 以上でサポートされています。一方、現時点では、AcroForms は多くのサードパーティの PDF ビューア アプリケーションで広くサポートされています。AcroForms はフォーム フィールドを含む PDF ファイルです。エンド ユーザーまたはフォームの作成者は、これらのフィールドにデータを入力できます。内部的には、AcroForms は PDF ドキュメントに適用される注釈またはフィールドです。フォーム データ形式 (FDF) ファイル (キーと値のペアを含むフォーマットされた ASCII ファイル) を使用して簡単に入力できます。
Adobe XFA フォーム
XFA フォーム (XML フォーム アーキテクチャ) は、Adobe にとって、一般的な FDF および XFDF 方法論からの大きな方向転換を表しています。XFA フォームは XML を全面的に利用します。XML はすべての構造化ドキュメントのバックボーンであるため、XFA フォームを選択すると、明確な欠点があります。XFA フォームを、XML ベースのフォームの W3C 標準である XForms と混同しないでください。Adobe の XFA フォームは、完全にオープンな W3C XForms 標準と競合するクローズド標準です。どちらも XML ベースですが、XForms 標準ではデータのみが指定され、フォームの外観は指定されません。一方、XFA フォームでは、フォームの外観とデータの両方が指定されます。
Aspose.PDF Cloud を PDF フォーム パーサーとして使用
フォームは、エンドユーザーからの入力を得るための直感的な方法の 1 つです。しかし、大量の PDF ドキュメントを扱う場合、手動でのデータ入力や操作は面倒です。そこで、ユーザーがプログラムで PDF フォームを処理できるようにするために、Aspose.PDF Cloud API という API を開発しました。これにより、ユーザーは cURL コマンドを使用して PDF フォームを作成、更新、操作できます。また、選択したプログラミング言語用に個別に開発された SDK を使用することもできます。
PDFフォームパーサーとして使用する以外にも、次のような機能を提供します。
- テキストまたは画像の透かしを追加する
- PDF ファイルを連結する
- 注釈の設定と更新
- PDF添付ファイルをダウンロード
- PDFからテキストを追加または取得する
- 単一または複数のテキストインスタンスを置換する
- PDFファイルを下記のサポートされている他の形式にレンダリングします。
EPUB、HTML、LaTeX、MHT、PCL、DOC、DOCX、MOBIXML、PDFA、PPTX、SVG、TIFF、XLS、XLSX、XML、XPS、PS、XSLFO、PCL、BMP、EMF、GIF、JPEG、PNG、TIFF。
上記の操作はすべて、特別なソフトウェアをインストールしなくても実行できます。
フォームフィールドの読み取り
少ないコード行で、PDF フォーム フィールドの詳細を読み取ることができます (PDF フォーム パーサー)。したがって、フィールドを読み取るときに、ドキュメント内のすべてのフィールドを読み取ったり、フィールドで特定のページ番号を指定するオプションを取得したり、名前を指定して特定のフィールドにアクセスしたりすることもできます。さらに、特定のプログラミング言語を使用しない場合は、コマンド プロンプトで cURL コマンドを使用してフィールド操作を実行します。以下は、PDF REST API を使用して処理できるフォーム フィールドの詳細です。
- リストボックス
- コンボボックス
- チェックボックス
- ラジオボタン
- テキストボックス
- サイン
GetDocumentTextBoxFields メソッドは、PDF ドキュメントからテキスト フィールドを読み取る機能を提供します。入力ファイル名の 1 つのパラメータを受け取り、フィールドのリストとその属性を返します。
フォームフィールドの詳細を読み取るには、次の cURL コマンドを使用してみてください。
cURLコマンド
// First get the Access Token
// Get Client Id and Client Secret from https://dashboard.aspose.cloud/
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d 'grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET' \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/textbox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
リクエストURL
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/textbox
[C#]
// 完全な例とデータファイルについては、https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet をご覧ください。
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";
Aspose.Pdf.Cloud.Sdk.Api.PdfApi pdfApi = new Aspose.Pdf.Cloud.Sdk.Api.PdfApi(clientSecret, clientID);
String fileName = "FormDataTextBox.pdf";
try
{
// Aspose.PDF Cloud SDK APIを呼び出して、PDFドキュメントからすべてのフィールドを取得します。
Aspose.Pdf.Cloud.Sdk.Model.FieldsResponse apiResponse = pdfApi.GetFields(fileName, null, null);
if (apiResponse != null && apiResponse.Status.Equals("OK"))
{
foreach (Aspose.Pdf.Cloud.Sdk.Model.Field field in apiResponse.Fields.List)
{
Console.WriteLine("Name: " + field.Name + "Type: " + field.Type);
}
Console.WriteLine("Get all Form Fields from the PDF Document, Done!");
Console.ReadKey();
}
}
catch (Exception e)
{
Console.WriteLine("Exception while calling Api: " + e.ToString());
}
上記の例で使用したサンプルファイルは、FormDataTextBox.pdfからダウンロードできます。
ドキュメントの特定のページからテキストフィールドを読み取るには、入力ファイル名とページ番号を引数として必要とする GetPageTextBoxFields メソッドを使用してください。
特定のテキスト フィールドに関連する詳細を取得する必要がある場合は、入力ファイル名とフィールド名を引数として受け入れる GetTextBoxField メソッドを使用してみてください。
PDFフォームフィールドの作成または置換
API は、ドキュメント内の既存のフィールドを追加または置換するための優れた機能を提供します。メソッド PostTextBoxFields は、PDF ドキュメントに新しいテキスト ボックス フィールドを追加する機能を提供します。この要件を満たすには、追加するフィールドのプロパティを定義する入力ファイル名とフィールド配列を提供する必要があります。
既存のテキスト ボックス フィールドを置き換えるには、入力ドキュメント名、置き換えられるフィールド名、および追加される新しいフィールドのプロパティを定義するフィールド プロパティを受け入れる PutTextBoxField メソッドを使用してください。
弊社の API をぜひご利用ください。問題が発生した場合は、Aspose.PDF Cloud 製品サポート フォーラム にお気軽にご質問を投稿してください。