문제

일반적인 문서 처리 웹앱에서 다음 스캔 절차를 고려하십시오.

  • 사용자는 자신의 컴퓨터에 연결된 스캐너를 사용하여 문서를 스캔합니다.
  • 스캔한 이미지는 사용자 컴퓨터에 BMP/JPG/TIF/PNG 파일로 로컬 저장됩니다.
  • 사용자가 웹 애플리케이션에서 파일 업로드 "찾아보기.." 버튼을 누릅니다.
  • 사용자에게 스캔한 이미지를 찾는 데 사용하는 파일 대화 상자가 표시됩니다.
  • 사용자가 "이미지 업로드"를 누르면 스캔한 이미지가 저장된 서버에 업로드됩니다.

이 프로세스는 매우 복잡하므로 프로세스를 보다 사용자 친화적이고 확실하게 만들기 위해 단계 수를 줄이고 싶습니다.이상적인 상황에서 위의 단계는 절차가 문서 스캔을 시작하고, 문서 스캔을 완료하고, 결과 이미지를 업로드하는 한 단계로만 대체됩니다. "스캔 및 업로드"를 클릭하면 웹앱에서 자동으로 트리거됩니다.안타깝게도 "웹/스캐너 통합" 상태가 상당히 열악한 것 같아서 이것이 유토피아일 수도 있습니다.

이 문제를 어떻게 해결하시겠습니까?보다 구체적으로 설명된 사용 사례에 포함된 단계 수를 줄이는 방법은 무엇입니까?

도움이 되었습니까?

해결책

대상 고객이 Windows와 IE를 실행 중이며 몇 달러를 소비하지 않는다면 Atalasoft 당신이 찾고있는 일을 할 수있는 구성 요소가 있습니다.

다른 팁

글쎄, 2 년이 지났으므로 여기에 우리와 함께하는 사람들을위한 최신 기술에 대한 업데이트가 있습니다.

둘 다 Dynamsoft 그리고 Atalasoft 서버 측 스택과 호환되는 멀티 브라우저 웹 스캔 툴킷이 있습니다. 둘 다 사용자가 Twain API를 통해 스캐너에 액세스하려면 ActiveX (IE) 또는 NPAPI 플러그인 (Chrome, Firefox 등)을 설치해야합니다.

분명히 시간이나 제한된 예산이 있다면 자신만의 플러그인을 만들 수 있습니다. 나는 진심으로 추천합니다 FireBreath 플러그인 프레임 워크, 그리고 어느 Twain Library는 자신의 Twain 코드를 작성하기보다는 도서관입니다.

ActiveX 또는 플러그인이 설치되면 나머지 작업은 클라이언트의 JavaScript & HTML의 조합이며 서버의 일부 핸들러가 들어오는 이미지를 수락하고 처리하여 멀티 파트처럼 보일 수 있습니다. 첨부 된 파일로 제출하십시오.

Ajax를 사용하여 JavaScript에서 이미지 업로드를하는 것이 좋습니다. 웹 페이지와 동일한 브라우저 '세션'의 일부이기 때문에 브라우저의 프록시 설정, 세션 쿠키 및 서버 측 인증을 상속합니다. Dynamsoft의 제어에 대해 잘 모르겠습니다. Atalasoft 툴킷에는 AJAX 업로드가 포함되어 있습니다. 이미지는 플러그인에서 JavaScript로 바지 64로 인코딩 된 문자열로 전달되므로 실제로 로컬 파일이 생성되지 않습니다.

면책 조항 : Atalasoft의 Wingscan 웹 스캔 툴킷에서 작업합니다.

나는 실제로 은행의 누군가가 내 계정을 설정하는 동안 이것을하는 것을 보았고 나는 완전히 놀랐습니다. 문제의 은행은 Windows와 IE를 사용하는 것이 었습니다. 나는 당신이 똑같이 통제 된 환경에서 가정합니다. 은행은 사용자 정의/ 예측 가능한 스캐너 드라이버와 ActiveX 컨트롤의 조합을 사용했다고 생각합니다.

직원이 "스캐너 열기"라고 말하는 페이지로드 된 페이지가 문서를 팝업하여 웹 페이지에서 스캔을 쳤다가 페이지를 스캔으로 변경 한 다음 직원이 승인 할 웹 페이지의 스캔 된 문서를 보여주었습니다. 스캐너 드라이버가 이미지를 특정 위치로 전송하고 활성 X 컨트롤이 나타나기 위해 폴링이 나타나고 있다고 가정 할 수 있습니다. 일단 나타나면 직원이 화면에 이미지를 표시 한 후에는 Active X를 승인 한 후 배경. 그녀는 다음 페이지를 열고 나머지 과정을 계속했습니다.

하나님께서는 그들이 어떻게 모든 기술을 일으켰는지 알고 있지만이를 수행 할 수 있습니다.

Silverlight 4가 곧 나옵니다. 사용자의 컴퓨터에서 COM 객체와 상호 작용할 수 있어야합니다 (Windows를 실행중인 경우). 이론적으로 Silverlight 웹 페이지에서 WIA 방법을 호출합니다.

우리는 은행에 대한 원격 예금을 구현하기위한 솔루션을 구현했습니다. IE에서만 작동합니다. ㅏ Winforms dll LeadTools Twain DLL과의 인터페이스가 만들어졌습니다. LeadTools Twain DLL은 모든 Twain Minutae를 추상화합니다. 이 접근법은 ActiveX 컨트롤을 사용하는 것보다 훨씬 낫습니다. .NET 프레임 워크가 클라이언트에 필요합니다. 스캔 된 이미지는 페이지의 숨겨진 변수로 다시 게시되며 서버에서 처리됩니다.

흠, 나는 그 일을하기 전에 항상 스캔 된 파일을보고 싶었지만 스캐너와 필요한 품질에 달려 있다고 생각합니다.

목표가 "웹 앱 작성"과 달리 "스캔 및 업로드 프로세스를 자동화"하는 것이라면 기존 스캐너 소프트웨어와 간단한 FTP 프로그램을 제어하기 위해 Autoit 스크립트를 작성합니다.

대부분의 단계를 제거할 가능성이 가장 높은 옵션은 사용자가 로컬 컴퓨터에서 다운로드하여 실행할 맞춤형 검사 유틸리티를 작성하는 것일 것입니다.

SANE 또는 TWAIN이 스캔된 이미지 가져오기를 처리합니다.cURL은 웹 앱에 이미지 업로드를 처리할 수 있습니다.최종 사용자의 작업을 더욱 쉽게 만들기 위해 저는 Comet 연결과 같은 것을 사용하여 파일이 사용 가능할 때 웹 페이지를 업데이트했습니다.

이것이 옵션이 아닌 경우 사용자가 스캐너 소프트웨어를 사용하여 어떤 옵션을 갖게 될지 살펴볼 수 있습니다.현재 많은 프로그램이 이메일이나 FTP로 스캔하는 기능을 지원한다고 생각합니다.

다기능 스캐너/복사기를 사용하여 인트라넷 앱에 사용한 솔루션은 웹 서버가 액세스할 수 있는 SMB 공유로 스캔하는 것이었습니다.사용자는 복사기로 이동하여 공유를 스캔하고 책상으로 돌아오면 처리되지 않은 모든 새 파일 목록을 표시하는 새 스캔 페이지로 이동합니다.

청중은 통제 된 환경이므로 스캔을 수행하는 WIA/Twain을 기반으로 자신의 브라우저 확장/프로그램을 작성할 수 있습니다. BHO/ActiveX/XPCOM 등과 같은 브라우저 확장자를 선택한 경우 확장자를 설치하려면 사용자의 권한을 가져와야합니다. 프로그램을 작성하기로 선택한 경우 ClickOnce 또는 Java 웹과 같은 웹 배포 기술이 웹에서 시작되어야 할 수도 있습니다.

Twain을 인터페이스하는 것은 창문에 고통입니다. 복잡성을 제외하고 다른 스캐너 드라이버 개발자가 작성한 GUI를 표시해야합니다. 문서 피더의 전체 속도의 승차 스캔과 같은 다른 인터페이스를 통해 노출되지 않은 오래된 스캐너 또는 기능을 지원하는 유일한 방법 일 수 있습니다.

Microsoft의 WIA는 스크립팅 객체 모델을 사용하여 스캐너와 인터페이스를 훨씬 쉽게 만들 수 있지만 스캐너 별 기능을 사용할 수 없으며 일부 기존 스캐너는 인터페이스를 지원하지 않습니다.

스캔 한 후 웹 서비스를 호출하여 서버에 알리고 웹 페이지가 정기적으로 새로 고쳐서 새 이미지를 확인할 수 있습니다.

우리는 비슷한 일을했습니다. 우리는 명령 줄 트웨인 프로그램을 사용했습니다 (http://www.burrotech.com/quickscan.php). $$ $49

1) QuickScan 프로그램을 Shell 명령으로 실행하기 위해 작은 .NET 응용 프로그램을 개발했습니다.
2) 명령이 스캔 버튼에 할당되었습니다.
3) 사용자가 스캔 버튼을 누르면 프롬프트가 파일 이름을 입력하는 것으로 보입니다. 사용자는 트랜잭션 ID를 파일 이름으로 저장합니다.
4) 다른 .NET 애플리케이션 (또는 이전에 언급 한 것과 동일 함) 은이 파일을 읽고 파일 이름이 트랜잭션 ID라는 점을 고려하여 데이터베이스에 업로드합니다.

버터에 따뜻한 칼처럼 일했습니다!



트랜잭션 ID를 즉, IE에 표시하여 사용자를 선택하여 ID를 선택한 다음 스캔을 누릅니다. 응용 프로그램은 선택한 텍스트를 읽고 선택한 텍스트를 파일 이름으로 사용하여 파일을 저장합니다. 우리는 그것을 시도하지 않았지만 작동해야합니다.

웹 애플리케이션이 웹 브라우저에만 국한되어 있다고 생각한다면 그것은 유토피아일 뿐입니다. 실제로 웹 애플리케이션에는 HTML 및 Javascript 외에도 다양한 기술이 포함될 수 있습니다.

이 문제를 해결하는 멋진 방법(사실 일부 usbserial 장치에 이미 이 방법을 사용함)은 SOAP+XMPP를 사용하여 애플리케이션을 구현하는 것입니다.XML::CompileX::Transport::SOAPXMPP, Catalyst::Engine::XMPP2, Catalyst::Controller::SOAP 및 Catalyst::Model::SOAP를 사용하여 Perl에서 이를 수행할 수 있습니다.

XMPP 사용의 흥미로운 점은 호스트+포트 주소 지정 스키마가 아닌 JID(Jabber ID)를 사용하여 소프트웨어 에이전트를 찾기 때문에 주소 지정 관리가 단순화된다는 것입니다.XMPP 사용의 두 번째 흥미로운 부분은 클라이언트에 정보를 푸시하는 서버를 보다 쉽게 ​​지원한다는 것입니다.

그러나 XMPP를 처리하고 싶지 않다면 경량 내장 http 서버(Perl의 HTTP::Server::Simple)를 사용하여 동일한 작업을 수행할 수 있으며 어떻게든 서버에 현재 스캐너 주소를 등록하여 XMPP를 처리할 수 있습니다. 다시 전화해.

그리 귀엽지 않은 마지막 옵션은 소프트웨어 에이전트가 서버를 폴링하여 해당 특정 시스템에 대한 "문서 스캔 및 업로드" 명령이 있는지 확인하고 해당 명령이 있을 때 해당 작업을 인식하도록 하는 것입니다.

요약하자면, 로컬 하드웨어와 상호 작용하는 로컬 소프트웨어 에이전트가 있다고 해서 해당 통신을 수행하기 위해 XML, SOAP 등과 같은 웹 표준을 사용하는 한 웹앱이 덜 "웹"이 되는 것은 아닙니다.

웹 사이트에 Java 애플릿을 넣을 수 있습니다. 스캐너에 액세스하고 웹 서버로 REST를 통해 데이터를 보낼 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top