WebsupergooのABCPDFを使用してPDFを作成するWebアプリがあります。ユーザーが[CreatePDF]ボタンをクリックした直後に、ブラウザーは作成されたPDFをダウンロードするだけです。代わりに、ユーザーがプリンターを選択してPDFを印刷できるように、印刷ダイアログを開きたいと思います。
これはどのように達成できますか?
コメントエリアに私のコードを表示する必要がある場合はお知らせください。義務付けます。
HTMLページを返し、JavaScriptの印刷機能を使用して印刷ダイアログを表示するか、ユーザーにPDFをダウンロードするように依頼することができます。
あなたの場合、良いオプションは「PDFをダウンロード」と「印刷」の2つのボタンです。ユーザーが[印刷]をクリックすると、PDFプリンターのプリンターを選択できます。
関連項目を参照してください:PDFファイルの印刷ダイアログをJavascriptで開くことはできますか?
あなたが本質的に求めているのは、PDFを開いて印刷するアプリケーションに依頼することだと思います。これは、特定のアプリケーションが使用する独自のフックがない限り、不可能です(Adobeの外部では、おそらくクロスプラットフォームではありません。プラットフォームにやさしい)。
Javascriptのprint
機能は、ブラウザに印刷するように指示する「標準化された」方法であるため、一般的には安全に実行できますが、PDFアプリケーションと、ブラウザに提供するプラグインの両方で、PDFを「ブラウザ内」で表示できるようにはなりません。そうするためのフックがあります。
PDFが開かれると、その制御スキームは制御ドメインの外になります。@jorgebgが述べたように、HTMLページを印刷するか、PDFをダウンロードして、好きなようにできるようにします。残念ながら、両方を行う明確な方法はありません。