2011-01-31 7 views
17

현재 Google 크롬 확장 프로그램을 개발 중이므로 프린터에 현재 페이지 인쇄를 시작할 수있는 방법이 필요합니다. 기본 인쇄 대화 상자가 나타나지 않도록 (javascript : window.print()가 문제가되지 않습니다.)Google 크롬 확장 프로그램 : 자동으로 페이지 인쇄

내가 이해하는 한, 이것은 JS + HTML 플러그인에서만 가능하지 않으므로 NPAPI 플러그인 (더미 MIME 유형 포함)도 사용할 수 있습니다. 그리고 Windows 플랫폼에만 관심이 있습니다.

가능한 한 다양한 해킹/해결 방법을 사용할 수 있지만 표준 솔루션이 좋을 수도 있습니다.

이것이 가능하지 않다고 생각되면 기록 된 기능 요청을 알고 있다면 알려주시겠습니까?

모든 제안/해명을 환영합니다 ..

+1

연장을 완료 했습니까? 그것은 내가 찾고있는 것입니다 ... –

+0

아니요, 자동 인쇄를 위해 아무 것도 할 수 없습니다. : –

답변

0

현재 웹 페이지의 스냅 샷을 다양한 확장 (예를 들어, this one)이있다; 당신은 NPAPI 플러그인을 통해 이미지를 프린터로 보낼 수 있습니다.

+0

스크린 샷을 사용하지 않고 다른 방법을 알고 있거나 생각하고 계신가요? Windows에서 "프린터로 이미지 보내기"방법에 대한 정보 나 링크를 제공해 주시겠습니까? –

+0

아무 말도하지 않았습니다. 스크린 샷, 내가 링크 된 플러그인을 살펴보십시오 실제로 보이지 않는 부분을 포함하여 페이지를 이미지로 렌더링하고 화면을 캡처하지 않습니다 – smorgan

+0

네이티브 인쇄 코드를 작성하는 방법을 배우려면 Windows에서는 새로운 질문을 게시하는 것이 좋습니다. Chrome 확장 프로그램과 NPAPI에 완전히 접하게됩니다. – smorgan

1

NPAPI를 사용하면 개체 태그 (확장에서 사용할 수 있음)를 통해 상호 작용할 수있는 네이티브 C++ 플러그인을 만들 수 있으므로 아마도 그렇게 할 수 있습니다.

까다로운 것은 내가 페이지를 인쇄하기위한 비트를 얻는 좋은 방법을 모른다는 것입니다. 내가 아는 유일한 사람은 실제로 이와 비슷한 작업을 수행 한 사람이 브라우저 (NPAPI를 통해 사용 가능)의 창 핸들을 가져 와서 그런 식으로 인쇄하기 위해 비트를 긁어 냈지만 인쇄 스타일 시트 나 기타 사항은 고려하지 않습니다 . 또한 자동화 이벤트를 사용하여 인쇄 대화 상자를 제어하려고 시도 할 수도 있지만 작동 여부는 알 수 없습니다.

설계함으로써, 브라우저, 어쨌든 ... 어떤 웹 사이트는 단지 확인없이 프린터로 인쇄 일을 시작할 수 있다면 몇 가지 심각한 취약점을 열 수대로, 같은 것을 할 수 있도록하지

을 시도하면 경우 C++로 할 수있는 방법을 찾으려면 FireBreath을 사용하여 NPAPI 플러그인을 쉽게 만들 수 있습니다.

+1

"까다로운 점은 페이지를 인쇄하기위한 비트를 얻는 좋은 방법을 모르겠다는 것입니다."-이 부분 – smorgan

16

크롬 (v18 +)에는 --kiosk --kiosk-printing 개의 스위치가 있습니다. 하나는 인쇄 확인없이 기본 프린터로 자동 인쇄 할 수 있습니다.

당신은 내가 최근에 비슷한 기능을 찾고 있었어요이 비디오 http://www.youtube.com/watch?v=D6UHjuvI7IE

+0

명령 줄에서 사용할 수 있습니까? – dfrankow

+0

이 옵션은 chrome : // 플래그에서도 사용할 수 있습니까? 아니면 명령 줄에서만 사용할 수 있습니까? –

+0

Chrome이 Google의 라벨 프린터와 잘 작동하지 않습니다. Internet Explorer에 비슷한 스위치가 있으면 멋질 것입니다! –

0

에서 볼 수 있습니다, 그것은 크롬의 새로운 기본 메시징 API를 사용하여 매우 가능한 것처럼 보인다.

https://developer.chrome.com/extensions/nativeMessaging

이 C의 #이의 예를 많이하지만, 여기

Native messaging from chrome extension to native host written in C#

내가이가 될 수 있습니다 실현 기본 C# 응용 프로그램과 문제 해결 크롬 기본 메시지 중 하나 빠른 예입니다 늦은 1 달러와 짧은 달러지만, 다른 사람 이이 질문에 걸쳐 오는 경우에, 이것이 나를 위해 일한 솔루션입니다. C# 응용 프로그램 내부에서 PrintDocument 클래스를 사용하여 설치된 프린터로 직접 인쇄 할 수 있습니다. 페이지 이미지를 얻는 방법을 찾은 경우 firebreath 또는 NPAPI를 사용하는 것보다 훨씬 쉬울 것입니다.

관련 문제