6

Web アプリケーションに変換したい既存の Swing デスクトップ アプリケーションがあります。それをやめさせている最初のことは、デスクトップアプリケーションが PDF ファイルの書き込みと読み取りを処理することです。また、ユーザーは、アプリケーションで読み取る必要がある PDF フォームに入力します。

デスクトップ アプリケーションの典型的な使用例は、ユーザーがログインして PDF フォームを開いて入力するようなものです。Swing アプリケーションはファイルの保存場所を管理するため、ファイルにアクセスしてフォームを読み取り、データを抽出してデータベースに保存します。ユーザーが一度にすべてのフォームに入力できない場合があります。彼はそれを保存して、後で戻ってきて続行するかもしれません。

これらはすべて、Web アプリで実行する必要があります。私の問題は、ユーザーがフォームをサーバーに何度もダウンロードしてアップロードしたくないことです。それは帯域幅を消費し、ファイルをローカルに保存し、フォームへの入力が完了したらアップロードするようにユーザーに要求することは、デスクトップアプリケーションがこれらのファイルの場所をうまく管理するためにも使用されているため、私には魅力的ではありません.

ドロップボックスのようなものを実装する必要がありますか? どのファイルが更新されたかを確認し、それをサーバーにアップロードするために継続的に実行されている小さなデーモンですか? サーバーではファイルが最新かどうかわからないので、それは難しいでしょう。誰かが以前にやったかもしれないこのようなことはありますか?

4

4 に答える 4

5

別の提案があります。同じフィールドを持つフォームをユーザーに表示し、ユーザーが送信した後にそれらを PDF に転送してみませんか。このようにして、PDF はサーバーを離れず、最小限のデータのみを送信します。

于 2012-08-09T05:35:16.530 に答える
3

アプリケーションの Web バージョンに切り替えると、これまでのやり方を再考せざるを得なくなる場合があります。確かに、ブラウザはローカル ファイル システムへのアクセスを意図的に制限されており、現在の操作モードに大きなハードルをもたらしています。

ブラウザー内で PDF を表示し、編集の完了を検出し、これをブラウザー コード内からサーバーに送り返すことができたとしても (これはおそらく可能です)、さまざまなブラウザーがさまざまな (奇妙な) ことを実行する可能性があります。 pdfプラグインがインストールされています。

Vitaliy が既に述べたように、ブラウザーで (Web) フォームに入力できるように切り替えることは、ダウンロード アップロードの問題全体がなくなることを意味します。ただし、ユーザーが Web ページで行ったことを何らかの形で PDF に変換する必要があります。PDF から始める必要はなく、データを収集して最後に PDF を作成できる場合は、さらに多くのオプションがあります。たとえば、作業するドキュメントのスタイルが多すぎない場合は、iText を使用して PDF を直接作成できます。テンプレートを提供して、後で PDF にデータを入力してレンダリングできる Docmosis のようなものを使用できます。Docmosis オプションを使用すると、Docmosis にテンプレートのフィールドのリストを要求して、選択したテンプレートに基づいて Web フォームを作成し、ユーザーに入力させてから、そのデータを Docmosis にプッシュしてファイルを生成することもできます。

うまくいけば、あなたに役立ついくつかのオプションがあります。

于 2012-08-09T09:18:59.300 に答える
0

私は署名されたフォームを扱っていませんでしたが、数年前に同様の問題に取り組みました。署名は間違いなくそれをもう少し難しくします。ただし、iText を使用してフィールドを含む PDF フォームを作成し、フィールド データのみをサーバーに送信することができました。残念ながら、何をどのように行ったか正確には覚えていませんが、実行可能であることは確認できます (制限/注意事項あり)。例: ユーザーは PDF リーダー プラグインをインストールする必要があり、ユーザーは毎回 PDF をダウンロードする必要がありました。

基本的に私がしたことは、iTextを使用してPDFからFDFを作成することでした(フォームの既存のフォームフィールドを使用)。FDF の送信ボタンは、実際にフォーム データを選択した URL に送信します (HTML フォームとは異なります)。そのデータを取得したら、iText を使用して、(FDF からの) フォーム フィールドをサーバー側の PDF とマージしたと思います。

サーバーを使用してすべてのフォーム データを維持したら、1 人のユーザーが最新かつ最高のフォーム データを更新していることを確認するために使用する同期/ロック プロセスは、あなた次第です。

jowierun の下のコメントは、word/excel/etc のドキュメントも処理したいということを示しているため、あなたのニーズを理解しているかどうか完全にはわかりません。あなたの最初の投稿では、PDF フォームをローカルで記入する必要性について説明しましたが、その後、代わりにファイル共有システムを探しているように思えます。

あなたが達成しようとしていることを正確に明確にしていただけますか?

于 2012-08-15T20:45:59.757 に答える
0

アドビは、これを行う方法をここに文書化しています。design-by-google の力を決して過小評価しないでください。オンラインで PDF フォームを使用したことがあるので、これが機能することはわかっています。

于 2012-08-15T00:35:05.090 に答える