FirefoxアドオンSDKから印刷できますか?私はアドオンSDKのオンラインドキュメントを閲覧しましたが、これについては何も見つかりません。私がやりたい何FirefoxアドオンSDKから印刷しますか?
は、ウェブページ(Javascriptの変数に保存されているPDFファイル)からいくつかのデータを取得し、ファイルをシステムプリンタ]ダイアログボックスを開くことです。
これはできますか?
FirefoxアドオンSDKから印刷できますか?私はアドオンSDKのオンラインドキュメントを閲覧しましたが、これについては何も見つかりません。私がやりたい何FirefoxアドオンSDKから印刷しますか?
は、ウェブページ(Javascriptの変数に保存されているPDFファイル)からいくつかのデータを取得し、ファイルをシステムプリンタ]ダイアログボックスを開くことです。
これはできますか?
アドオンSDKは、印刷のための任意の組み込み機能を持っていません。もちろん、chrome authorityを使用して多くのことを行うことができます。ブラウザのウィンドウ与え、あなたは現在開いているウィンドウのnsIWebBrowserPrint
interfaceを取得し、それを印刷することができます。
var browserPrint = browserWnd.gBrowser
.contentWindow
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebBrowserPrint);
browserPrint.print(null, listener);
をしかし、問題はまだあなたがそれを印刷するためには、ブラウザでWebページを開く必要があるということです。ブラウザはPDFファイルを開くことはありませんが、これはプラグインによって行われ、プラグインのみ(ブラウザはアクセス権がありません)で印刷できます。 pdf.jsの方向を見ることができますが、それはまだ初期の開発段階です。
page-worker
packageは、それが印刷できるように隠されたウィンドウにページをロードするために明白な方法のように見えます。唯一の問題 - nsIWebBrowserPrint
に到達するために、あなたはアドオン(ないコンテンツスクリプト、それは必要な権限を持っていない)から、ページのwindow
オブジェクトにアクセスする必要があります。
スクリプトタグを搭載したpdf.jsを使用してまあ、実際にI **午前** - ので、私は、ページ内のJavascriptバイナリ配列で(AJAX経由)PDFファイルを持っています。しかし明らかに私はそれをプリンタに送ることはできません。だから、私が考えていたのは、PDFファイルを保持しているアレイを受け取って、OSがPDFファイルを印刷できるという前提で、OSの印刷APIを使って印刷する小さなアドオンを構築することでした。これは理にかなっていますか? – Weston
OSはPDFファイルを印刷できません - PDFリーダーは(Acrobat Reader、Foxit Readerなど)できます。むしろそれに話をする方法を把握しようとするよりも、それは私が上でそれを説明する方法を、いくぶん隠し ''要素を作成し 'pdf.js'と一緒にそれにあなたのPDFデータをロードし、印刷するより理にかなって。 –
ええ、あなたはprolly右ウラジミールです。しかし、このすべての目的は、Adobe Readerプラグインを避けることでした。 Firefox/Linuxではひどく、Mac OS/Xでは存在しません。Chromeの内部PDFレンダラでも同様の話です。それは最高でLinuxを吸う。 – Weston