Печать из дополнительного пакета Firefox SDK? - PullRequest
1 голос
/ 16 декабря 2011

Можно ли печатать из SDK дополнения Firefox?Я просмотрел онлайн-документацию по дополнительному SDK, но, похоже, ничего не могу найти по этому поводу.

Что я хотел бы сделать, это получить некоторые данные с веб-страницы (файл PDF, сохраненный вПеременная Javascript), а затем откройте диалоговое окно системного принтера с файлом.

Можно ли это сделать?

1 Ответ

1 голос
/ 16 декабря 2011

Add-on SDK не имеет встроенных функций для печати. Конечно, вы можете многое сделать, используя Chrome Authority , например, Для данного окна браузера вы можете получить интерфейс nsIWebBrowserPrint для открытого в данный момент окна и распечатать его:

var browserPrint = browserWnd.gBrowser
                             .contentWindow
                             .QueryInterface(Ci.nsIInterfaceRequestor)
                             .getInterface(Ci.nsIWebBrowserPrint);

browserPrint.print(null, listener);

Но проблема все еще в том, что вам нужно открыть веб-страницу в браузере, чтобы распечатать ее. Браузер не открывает PDF-файлы, однако, это делает плагин - и только плагин (к которому у браузера нет доступа) может распечатать его. Вы можете посмотреть в направлении pdf.js , но он все еще находится на ранней стадии разработки.

page-worker пакет выглядит как очевидный способ загрузки страницы в скрытое окно, чтобы ее можно было распечатать. Единственная проблема - чтобы добраться до nsIWebBrowserPrint, вам понадобится получить доступ к объекту window страницы из надстройки ( не скрипт содержимого, он не имеет необходимых привилегий).

...