web-dev-qa-db-ja.com

入力可能なPDFを置き換える必要がありますか?

私は、何百ものフォームに記入可能なフォームがある会社で働いていますPDF私たちのウェブサイトではPDF形式です。ウェブブラウザは、ネイティブのAdobeでファイルを開くのではなく、ブラウザでPDFを開くことを好むため、常に問題に直面していますリーダーアプリケーション。

ユーザーがフォームをダウンロードし、ブラウザが新しいタブでファイルを開きます。ブラウザでフォームに入力してから、下部にあるJavaScript送信ボタンを使用しようとしますが、ブラウザでPDFのJSアクティビティがブロックされるため、何も起こりません。彼らがこの時点で諦めなかった場合、ファイルをデスクトップに保存しますが、フォームはブラウザで入力された内容を保存せず、さらに怒ります。

この種の標準的な慣行は何ですか?通常、入力可能なPDFを通常のWebフォームに置き換えることをお勧めしますが、これらのフォームの数は多く、フォームが大量にあり、ほとんどの場合更新されるため、Webフォームが理想的とは言えません。

私はこれまで使用したことがないが、フォームの配布と収集を管理するための装備が整っているように見えるDocuSignのような製品を見てきましたが、これがベストプラクティスであるかどうかはわかりません(特に一部のより大きな名前の製品)、または私が考えていない解決策がある場合。

27
TheIronCheek

通常は、入力可能なPDFを通常のWebフォームに置き換えることをお勧めします

全体的には、はい、それが理想的な解決策になると思いますが、既に作成されている既存のコンテンツをすべて処理する方法など、これに関するいくつかの問題に言及しました。

Webブラウザーは、ネイティブのAdobe Readerアプリケーションでファイルを開くのではなく、ブラウザーでPDFを開くことを好むため、常に問題が発生します。

ブラウザーがPDFファイルを処理できるようにすることで、ファイルを各ユーザーの個別のブラウザー設定に任せます(例:ブラウザーでPDFを開く、またはダウンロードする)。あなたはこの方法で制御できません。

この種の標準的な慣行は何ですか?

PDFフォームの入力をサポートするPDFビューアを追加して、視聴体験全体を制御し、ビューアにPDFをロードする必要があります。このようにして、ユーザーが何をしているかを正確に把握し、ユーザーエクスペリエンス全体を制御し、ホストしているため、この特定のビューアに対してテストするファイルのコーパスをテストできます。

18
Ryan

PDFを強制的にダウンロードして、ブラウザの代わりにPDFファイルを表示するためにデフォルトのアプリケーションで開くようにすることができます。

この質問を参照してください: ファイルをダウンロードせずにブラウザで強制的に開くにはどうすればよいですか(PDF)?

10
Paul

標準的な練習はありません。プロセスを再考する必要があります。

なぜ顧客が最初にPDFに記入しなければならないのですか?

顧客からの構造化データだけが必要ですか? PDF後で政府機関が必要ですか?顧客に同じPDFを提供する必要がありますか?会社でPDFの代わりにWebフォームを作成できますか?PDFを自分で自動生成できますか?顧客は、PDFを正確にそのまま表示する必要がありますか?

弊社では、このPDFの埋め込みはコアビジネスドメインの一部であるため、社内ソリューションを用意しています。あなたのビジネスにとってそれが重要でない場合は、このPDFからWebへのフォームブリッジをDocuSign、HelloWorksなどから購入できます。

すばやく簡単な方法は、強制的にPDFダウンロードして、顧客にAdobe Readerを使用するよう要求することです。

編集/ PS:PDFは2次元のランドスケープであるため、ナビゲートが困難な場合がありますモバイルデバイス。ズームアウトすると、すべてを表示できますが、何も読むことができません。またはズームインすると、その逆も可能です。モバイルデバイスを使用しているユーザーの数を考慮する必要があります。顧客のモバイルデバイスが多いほど、実際のフォームを備えたWeb最適化ソリューションが優れています。フォームに入力した後、自動生成されたPDFをユーザーに提示できます。

5
knallfrosch

ユーザーにPDFを直接開くのではなくダウンロードを強制する場合でも、(セキュリティ上の理由から)ユーザーがそれを開くために使用するプログラムを制御することはできません。

他の人は、署名だけでなく、アクセス制御やサードパーティの検証のための優れたツールを備えたDocuSign(または同様の)について言及しました。ほとんどの人にとって、これは良い方法です。ただし、特定のビジネスやユースケースでは、価格が高すぎる場合があります。

私は最近、大規模なクライアント向けにカスタム署名ツールを作成しました。このクライアントも、常に変化する多数のドキュメントに対応し、完成した署名済みPDFを保存する必要がありました。私の知る限り、DocuSignが行っていることと似ています(ただし、それほど洗練されていません)

ワークフローは次のとおりです。

  1. マネージャー/顧客は、署名フィールドを持つドキュメントを作成し、アプリケーションにアップロードします
  2. アプリケーションはドキュメントを使用できるように登録し、入力するフィールドに関する情報を抽出します
  3. エンドユーザーには、メタデータから自動的に生成されたWebフォームが表示されます。
    • フォームには元のドキュメントの背景画像が表示されます
    • 入力フィールドが画像の正しい位置に配置されているため、ユーザーがドキュメントに直接入力しているように見えます
  4. ユーザーはフォームに記入し、署名欄に物理的に署名します(タブレット上またはマウスを使用)
  5. 完成したフォームデータと署名画像はサーバーに送り返されます
  6. アプリケーションは元のファイルにデータを入力し、PDFを生成します
  7. 最後のPDFおよびすべてのフォームエントリ(署名は除く)がデータベースに保存されます)。これにより、管理者は記入済みのすべてのフォーム内を検索し、必要に応じて削除できます(例:HIPPA/GDPRへの準拠) )

ただし、ほとんどのビジネス、特に開発者とITがすでにスタッフのいないビジネスでは、このようなカスタムアプリを作成して維持することは現実的ではなく、費用対効果も高くありません。開発、セキュリティ、および責任の間では、既存のサービスをそのまま使用する方が一般にコストが安く(ユーザーエクスペリエンスが向上します)。

2
brichins

私は何年も前に、フォームフィールドとダウンロード保護されたWordドキュメントを使用し、フォームフィールドの内容以外の変更を禁止する編集保護を使用するプロジェクトに取り組みました。ユーザーがWord(またはLibreOffice)を使用する場合は、互換性が現在どのようになっているかを確認するためのテストを実行できますが、これは代替手段になる可能性があります。 Word文書を開こうとするブラウザは見たことがありません。

1
Peter Taylor

これには少し遅れるかもしれませんが、私自身がこれを体験したので、私は本当にこのためにWebフォームに移行し始めました。他の人は上記の主な理由を挙げていますが、正直なところ、このような状況についての私の意見は次のとおりです。

2つの完全に使用可能なオプションがあり、一方がオープンソースで、もう一方がプロプライエタリ(HTMLとPDFなど)の場合は、オープンソースバージョンを使用してください。コストは長期的には勝者となり、ペイウォールや価格上昇の背後にあるベンダーによって機能がロックされる可能性はほとんどありません。

理論的には、Adobeは常に標準のAdobe Readerからフォーム入力を引き出して、人々にDocusign/Echosignなどの料金を支払うように強制することができます。疑わしいが可能であり、それでとにかくそれらをすべて変換しなければならなくなるでしょう。

このためにWebフォームを使用する利点は、実行できる拡張機能とデータ検証です。また、内部で何かのPDFを使用する必要がある場合は、常にライブラリを使用してWebフォームからPDFを生成できます。逆の方法は簡単ではありません。

まず、フォームのGET要求を監視して、最もよく使用されるものを特定し、最も使用頻度の高いものから時間の経過とともに最も使用頻度の低いものへの変換を開始します。

1
DAustin

ファイルを変更することはできますか?

すべてのPDFリーダーのレンダリングが異なるという事実を(ab)使用して、使用しているPDFリーダーを検出するシステムがいくつかあります。

以前に作成したPDFを見たことがあることは知っています。Adobeリーダーで開かないと、正しいソフトウェアをダウンロードするようユーザーに要求するページのみが表示されます。

Googleは現在失敗していますが、PDFを作成するためにアクロバットを反転させることができる設定がいくつかあると思います。ユーザーがAdobeのソフトウェアをダウンロードする必要があります。

0
Stack Tracer

ユーザーがフォームをダウンロードし、ブラウザが新しいタブでファイルを開きます。ブラウザでフォームに入力してから、下部にあるJavaScript送信ボタンを使用しようとしますが、ブラウザでPDFのJSアクティビティがブロックされるため、何も起こりません。彼らがこの時点で諦めなかった場合、ファイルをデスクトップに保存しますが、フォームはブラウザで入力された内容を保存せず、さらに怒ります。

これにより、ユーザーがAdobe Readerや他のプログラム(例:SumatraPDF)をダウンロードして使用する必要のあるインジケーターはないと思います。

しかし、方法はあります! PDF gracefully degrade にするためのいくつかの変更はどうですか?
ボタンを常に表示する代わりに、JavaScriptを使用してボタンを追加します。
または、「ボックス」の内容をボタンに置​​き換えることをお勧めします。 「ボックス」は、ファイルを保存するか、Windows 10またはブラウザー自体で「PDFに印刷」オプションを使用するように警告する場合があります。


以下から取られた実際の例を使用: http://foersom.com/net/HowTo/data/OoPdfFormExample.pdf

Google Chromeを使用して、PDFを印刷できます([PDFとして保存]を選択した場合は送信できます): Google Chrome - Save as PDF

フォームがランダムな「ジャンク」で埋められているが、埋められていることがわかります。後で編集することはできませんが、入力されています。

Firefoxの場合、適切な警告が表示されます。 Firefox warning (大まかに翻訳:これはPDFドキュメントにはフォームが含まれています。フィールドの入力はサポートされていません。-他のビューアで開いてください).


要約すると、 優雅な低下 およびWebページの適切な警告/指示とPDF自体を検討してください。

0
Ismael Miguel