Nous une application web en struts1 avec de la génération de PDF en utilisant itextpdf.
Un click sur un botton génère un PDF de ticket de caisse via itextpdf et l'affiche dans le browser. Le code est le suivant :
Coté client le code javascript qui déclenche l'action struts est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public ActionForward printReceipt(final ActionMapping mapping, final ActionForm form, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final OutputStream out = response.getOutputStream(); final Document doc = new Document(); final PdfWriter docWriter = PdfWriter.getInstance(doc, out); doc.open(); final PdfContentByte cb = docWriter.getDirectContent(); cb.beginText(); // .. write all required data in the pdf doc.close(); docWriter.close(); out.flush(); out.close(); return mapping.findForward(null); }
Le but est d'imprimer directement le ticket sans affichage dans le borwser et sans que le caissier puisse télécharger le PDF pour éviter qu'il imprime deux fois. Avez vous des idées?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function printReceipt(var1) { document.forms[1].factureId.value = var1; document.forms[1].dispatch.value = "printReceipt"; document.forms[1].submit(); }
Partager