2017-06-12 5 views
0

私は、pdfドキュメントを作成してクライアント側で印刷するというWebアプリケーションを開発していることを知っています。 ここに私の問題があります:groovy webAppからクライアントサイドでpdfを印刷するにはどうすればいいですか?

私はitextを使ってpdfを作成し、それを共有フォルダに保存しました。私はサーバー側でそれをやった。 私はクライアント側で作成されたpdfを印刷する必要があります。クライアントはpdfのパスを知っており、アクセスすることができます。 クライアント側では、javascriptまたはjqueryを使用してその文書を印刷しようとしています。

私は自分のHTMLに埋め込みを使ってみましたが、うまくいきませんでした。ここでは、

を支援するための

Thxを、サーバ側での作業コードです:

FileInputStream fis = new FileInputStream("test.pdf"); 
    DocFlavor psInFormat = DocFlavor.INPUT_STREAM.AUTOSENSE; 
Doc pdfDoc = new SimpleDoc(fis, psInFormat, null); 
    PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 
    PrintService services = PrintServiceLookup.lookupDefaultPrintService(); 
    DocPrintJob job = services.createPrintJob(); 
    job.print(pdfDoc, aset); 

、ここでは、私はクライアント側で試したものです:

        // Grabs the Iframe 
            document.write('<embed type="application/pdf" src="\\SN782629\TempPartage\test.pdf" id="PDF" name="PDF" width="100%" height="100%" />'); 
            var ifr = document.getElementById("PDF"); 
            //PDF is completely loaded. (.load() wasn't working properly with PDFs) 
            ifr.onreadystatechange = function() { 
             if (ifr.readyState == 'complete') { 
              ifr.contentWindow.focus(); 
              if ($.browser.msie) { 
               document.execCommand('print', false, null); 
              } else { 
               window.print(); 
              } 
             } 
           ifr.parentNode.removeChild(ifr); 

この第二のコードがオンになっていますajaxリクエストの成功セクション、私は必要な場合は、関数全体を置くことができます。

答えて

0

FYI:Recommended way to embed PDF in HTML?

と別のポイント:HTTP経由でロードされたページへのローカルファイルシステムからPDFを含めたときに、別のブラウザに多くの制約を満たしています。

私はあなたのサーバー上であなたのpdfからurlを公開する助言をします。 "\ SN782629 \ TempPartage \ test.pdf"の代わりにhttp://myhost/getPdf/SN782629/TempPartage/test.pdfと入力し、このリンクをレンダリングしたページで使用してください。

+0

Thxの回答では、私のpdfをdeveloppementのためだけに保存​​していますが、私はあなたのリンクを見てみましょう – barthelemy

関連する問題