2012-03-28 6 views
0

Meine Frage sehr, sehr einfach ist, ich brauche nur einen Trick, es zu lösenAnsicht und drucken Sie eine PDF-Datei in jsp

Ich habe 5 PDF-Dateien wie file1.pdf, file2.pdf, file3.pdf, file4. pdf und file5.pdf in meinem Projektordner. Ich zeige diese pdf-Dateien in 5 Zeilen und in jeder Zeile habe ich zwei Schaltflächen, VIEW, PRINT in index.jsp gegeben.

Wenn der VIEW-Button angeklickt wird, dann möchte ich die entsprechende PDF-Datei sehen und wenn der PRINT-Button angeklickt wird, wird die entsprechende PDF-Datei zum Druckbildschirm gesendet. Ich habe viele pdf-Dateien, anstatt diese PDF-Dateinamen in index.jsp zu schreiben, habe ich eine Tabelle pdf_file erstellt und eine Spalte pdf_file_name.

Wie kann ich eine entsprechende PDF-Datei anzeigen und drucken, wenn diese Schaltfläche (Ansicht oder Drucken) in dieser Zeile angeklickt wird?

<% 
    ps=('select distinct pdf_file_name from pdf_file'); 

//ResultSet rs=ps.executeQuery(); 
    ............. 

    %> 
    <table> 
    <tr> 
    <td> 
    PDF FILE NAMES click on a respective pdf file to view or print 
    </td> 
    </tr> 
    <tr><td> 
    <a href='<%=pdf_file_name%>'><%=pdf_file_name%></a> 
    <input type="button" value="View">// button to view that respective pdf file 

    <input type="button" value="Print">// button to print that respective pdf file 
</td> 
</tr> 
</table> 
+0

Nützliche Frage, so +1. Aber was Sie versucht haben. –

+0

Ich habe versucht mit 'window.print(); durch onclick Ereignis' in der Schaltfläche, aber das index.jsp kommt in Print-Bildschirm, aber ich will, dass' file1.pdf' zum Drucken Bildschirm kommen – saroj

+0

verweisen zu diesem Link können Sie etwas Hilfe zu http://stackoverflow.com/questions/687675/can-a-pdf-files-print-dialog-beopened-with-javascript bekommen –

Antwort

0

Sie können eine PDF nicht direkt mit einem Link/Button unter Verwendung von reinem HTML/Javascript, ohne ein externes Fenster oder iframe drucken. Dies liegt an der Art und Weise, in der die Handhabung von Dateien/Speicher/Sicherheit/Dialog von Browsern auf Browser- und Serverseite implementiert wird. Zum größten Teil, egal wie man es Code in ein Benutzer einen Druckdialog oder offene Fenster mit der PDF für die Bestätigung erhalten, bevor Druck

Einige Optionen können Sie in

  • aussehen wollen iframes oder Jquery/Ajax, um die PDF-Datei in einem anderen Frame/Fenster zu laden und ein Ereignis zu drucken, wenn es geöffnet wird. Überprüfen Sie diese stackoverflow question, um zu sehen, wie es möglich sein könnte
  • Serverseitige Sprache wie PHP oder Python, um die PDF-Konvertierung/Drucken zu behandeln. (Php hat DomPDF, TCPDF und andere Bibliotheken.
  • zeigen ein DIV in der Nähe der Open a href Ihren Benutzern erklärt, wie man rechte Maustaste> Speichern unter und anschließend ausdrucken.
0

Ich glaube nicht, dass dies möglich ist. Damit die Datei drucken kann, ohne dass der Client sie herunterlädt, müsste der Browser in der Lage sein, die Datei anzuzeigen (was die meisten Browser nicht können). Dies ist nicht viel anders als das Drucken einer PDF aus Windows, wenn Sie keinen PDF-Reader installiert haben.

Wenn Sie das PDF inline auf einer Seite anzeigen lassen können (konvertiert in ein Bild oder etwas Ähnliches), können Sie einen versteckten iFrame auf eine Seite mit der PDF-Datei zeigen und den Inhalt des iFrames ausdrucken. Das würde zumindest den Eindruck erwecken, die Datei zu drucken, ohne sie vorher zu öffnen.