4

xml ドキュメントを介して入力可能な PDF フォームを作成したいですか?

現在、チェックリストの項目を含むデータベースがあり、それを xml 形式で出力しています。HTML 5 の優れたチェックリストをいくつか作成できますが、現在は PDF フォームに移行しています。

私はすでにいくつかの検索を行っていますが、XML から PDF を作成するための決定的なものはありません。どのフィールドが必須か、ドロップダウン、テキストボックスなどを定義できるようにしたいと考えています。

XML ドキュメントを指定して、入力可能な PDF フォームを作成するにはどうすればよいですか?

4

1 に答える 1

7

補遺(コメントを参照):私はiTextソフトウェアグループのCEOであり、iText(オープンソースPDFライブラリ)の最初の開発者であり、Manningが発行した2冊の「iTextinAction」の著者です。私は、ベルギー規格局(ISO-32000および関連するPDF規格を含む)であるNBNのメンバーです。私はAdobe、OpenOfficeなどと提携していません...

PDFには、AcroFormベースのフォームとXFAフォームの2つの「フレーバー」があります。

AcroFormベースのフォームでは、フォームはPDF構文を使用して記述され、すべてのフィールドには固定座標があります。それをデジタルペーパーと考えてください。請求書を表すフォームがある場合、そのようなフォームは20行の請求書を提供できます。必要な行が少ないとすると、未使用のフィールドが多数表示されたままになります。より多くの行が必要だとすると、それらすべてをフォームに収めることはできません。私の本の第6章で、 Open Officeを使用してこのようなフォームを作成する方法を説明しました(セクション6.3.5を参照)。XMLとの唯一のリンクは、そのようなフォームをXFDF形式でインポート/エクスポートできることです。これはISO-32000-1で参照されている仕様です。これは、Forms Data Format(FDF)のXMLバージョンです。これは、ユーザーの応答をXML形式でサーバーに保存する場合に理想的です。ここ。フォームに記入し、XFDFボタンを選択します。リクエストを受信したサーブレットは、AdobeReaderによってサーバーに送信されたストリームを返します。

XMLフォームアーキテクチャ(XFA)を見てみるのも面白いかもしれません。この場合、PDFはXMLストリームのコンテナーとして機能します。埋め込まれたXMLはさまざまな部分で構成されており、その中でテンプレートとデータセットが最も重要です。テンプレートでは、特定の構文を使用して、フォームがどのように表示されるか(Adobe Readerでどのようにレンダリングする必要があるか)を定義します。データセットの部分は、XSDに似たdataDescriptionとデータで構成されています。XFAの主な利点の1つは、データが必要なスキーマを使用するXMLで構成されていることです。XFAフォームは通常、Adobe LiveCycle Designerを使用して作成されます。AdobeLiveCycleDesignerでは、独自のXSDをデータソースとしてインポートしてから、フォームのデザインを開始できます。結果は空のテンプレートになります。フォームへの入力は、XMLをデータタグに挿入するのと同じくらい簡単です。

どのタイプのフォームがあなたに最適ですか?

AcroFormsは常に静的です。フォームが紙の既存のフォームと完全に一致する必要がある場合は、これが最適です。動的に成長できるフォーム(HTMLのように)が必要な場合は、完全に機能するように見える回避策がありますが、すぐにAcroFormsに不満を感じるでしょう。

XMLフォームは非常に動的にすることができます。たとえば、映画のフォームを参照してください。1ページのみで構成されています。それでは、120本の映画を含むXMLファイルを挿入しましょう。結果は23ページのフォームになります。ご覧のとおり、1つの映画のフィールドが120回繰り返されています。必要に応じて、監督と映画が制作された国のフィールドも繰り返すことができます。大きな欠点の1つは、このようなフォームはAdobeReaderでしかレンダリングできないことです。Appleのプレビューや他の多くのAdobe以外のPDFビューアには表示されません。

この答えがあなたを助けるかどうかはわかりません。そうでない場合は、チェックボックスなどの詳細に焦点を当てているように見えるので、明確にしてください。

補遺:

ああ、あなたの質問をもう一度読んで、私は今、私が質問を誤解しているのを見る。フォームに入力した後にXML出力を作成したくない場合。XML入力に基づいてフォームを作成したい(質問の入出力に関する観点は混乱を招きます)。

つまり、フォームの作成にOpen Office、Adobe Acrobat、またはAdobeLiveCycleDesignerを使用していません。独自のカスタムXMLをインタラクティブなPDFに変換したいとします。Adobe LiveCycle ESを除いて、XMLに基づいてXFAフォームを作成できるソフトウェアを知りません。AcroFormsが受け入れられる場合は、カスタムXMLのパーサーを作成し、PDFライブラリを使用してフォームを作成する必要があります。このようなPDFライブラリはiText(おそらくXMLワーカーのカスタム実装と組み合わせて)である可能性がありますが、これには追加のプログラミングが必要になることに注意してください。

カスタムXMLをインタラクティブなPDFフォームに自動的に変換する「すぐに使える」ソリューションはありません。

于 2013-02-21T14:33:43.863 に答える