2017-02-03 4 views
0

PHP 스크립트에서 pdf를 만들고 사용자가 열면 즉시 pdf를 인쇄하기를 원합니다. 더 이상 상호 작용하지 않고. 이를 위해 나는 팝업 문구 나 경고없이 이론적으로 인쇄물을 자동으로 만들 수있는 자바 스크립트를 추가 할 수 있다는 것을 알게되었습니다. . supress하는 방법`이 문서는 인쇄를 시도하고 있습니다. 이것을 허용 하시겠습니까? '

나는, 나는 모든 포럼에서 찾을 수 삽입, 즉 자바 스크립트의 모든 조합을 시도 :

  1. 침묵 또는 자동으로 interactionLevel 설정.

    $script = "var pp = getPrintParams(); pp.interactive = pp.constants.interactionLevel.silent; this.print(pp);"

  2. 올드 스타일 :

$script = 'this.print({bUI: false, bSilent: true});

기능을 설정
    1. 은 혜택받지합니다 :

    $script = "sPrint = app.trustedFunction( function(){ app.beginPriv(); this.print({bUI:false, bSilent:true}); app.endPriv(); }); sPrint();"

    나는 심지어 필드

    Acrobat Reader/DC/AVAlert/cCheckbox/cAcrobat/iWarnScriptPrintAll=1 Acrobat Reader/DC/EWH/bExecutePrint=1

    을의 추가 등록을 시도하지만 PDF를 열 때 나는 아직도 팝업의 경고 창을 제거 할 수 없습니다. Adobe Reader DC와 Foxit에서도 열려고했습니다. 같은 경고 메시지가 나타납니다.

    이 문서는 인쇄를 시도하고 있습니다. 이걸 허용 하시겠습니까?

    누구든지이 팝업 창을 억제하는 방법을 알고 있습니까? 고맙습니다.

  • 답변

    1

    사용자 동의없이 또는 동의 할 수 없습니다. 다음 조건 중 하나에 따라 스크립트를 자동 인쇄 할 수 있지만 각각의 경우 사용자는 다음 중 하나를 수행하여 선택해야합니다.

    1. 신뢰할 수있는 기능을 호출하여 자동 인쇄를 허용하는 스크립트는 사용자 컴퓨터의 권한있는 폴더에 설치해야합니다.
    2. 문서를 권한있는 폴더에 저장할 수 있습니다.
    3. 사용자에게 권한있는 도메인 목록에 도메인을 추가하도록 요청할 수 있습니다.
      1. 문서에 서명하고 사용자에게 인증서를 신뢰하도록 요청하십시오. 사용자가 이메일로도 PDF를받을 수 있기 때문에

    단지 점 4. 가능한 것 같다 나에, 애크로뱃 자바 스크립트 문서 http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/Acro12_MasterBook/JS_API_AcroJSPreface/Privileged_context.htm

    +0

    의 권한 컨텍스트 섹션을 참조하십시오. 하지만 다음 질문은 어떻게 PHP 스크립트에서 pdf 파일에 서명 할 수 있는가입니다. – pisoir

    +0

    PDF에 서명 할 수있는 PHP 라이브러리가 있는지는 잘 모르겠지만, 라이브러리를 사용하여 PHP exec를 사용하여 명령 줄을 통해 호출 할 수 있습니다.그러나 그렇다고하더라도 사용자는 조용히 인쇄하기 전에 인증서를 신뢰해야합니다. 그렇다면 PDF를 열어 인쇄하기 시작하면 꽤 화가 났을 것입니다. – joelgeraci

    +0

    @joelgeraci가 맞습니다! 문서가 인증되고 인증서가 "권한이 부여 된 시스템 작업 수행"에 대한 신뢰를 얻으면 매우 잘 작동합니다. 방금 테스트 했으므로 (이 답변을 삭제할 것입니다). 순수 PHP로이 작업을 생성해야한다면 [서명 솔루션] (https://www.setasign.com/signer)을 확인하십시오. –