Announcement

Collapse
No announcement yet.

PDF Anzeige

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PDF Anzeige

    Hallo,
    ich habe folgende Situation:
    Ich habe ein bestehendes PDF file (mit iText generiert), jetzt möchte ich,
    dass das PDF sobald es generiert wurde im Browser öffnet.
    Ich dachte es mir in etwa so:

    Code:
    //Zusammenstellung des PDF;
    document.close();
    if (new File("MeinPDF.pdf").exists()){
    //Code zum darstellen des PDF (den ich noch nicht weiß :)
    }
    Ich hoffe jemand hat eine Idee.
    maggo119

  • #2
    Ich habe ein bestehendes PDF file (mit iText generiert),
    Das wäre schon mal der falsche Weg, um PDF - das während des Programmablaufes erzeugt wird - eine extra Datei anzulegen und abzuspeichern

    http://itextpdf.com/book/examples.php

    Kapitel 9

    Das PDF wird als Stream ereugt und dem Response übergeben. Der Outputstream des PDFWriters wird auf den Output des Response gesetzt
    Zuletzt editiert von Christian Marquardt; 05.09.2011, 13:18.
    Christian

    Comment


    • #3
      Vielen Dank für deine Antwort,
      ich glaube ich habe es langsam verstanden

      ich bekomme aber leider eine exception:
      Code:
      javax.servlet.ServletException: Servlet response already use stream, Writer not possible
      ich kann mir trotz recherche über google nicht erklären wo diese esception entsteht, mein Code schaut wie folgt aus:
      Code:
      Document document = new Document();
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      PdfWriter.getInstance(document, baos);
      document.open();
       ... zusammenbauen des PDF
      document.close();
      			
      response.setHeader("Expires", "0");
      response.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
      response.setHeader("Pragma", "public");
      response.setContentType("application/pdf");
      response.setContentLength(baos.size());
      OutputStream os = response.getOutputStream();
      baos.writeTo(os);
      os.flush();
      os.close();
      vlt kennt jemand das Problem?

      Danke!



      EDIT: hat sich erledigt, ich musste noch nach dem Ausführen den Befehl
      FacesContext.getCurrentInstance().responseComplete ();
      anfügen, trotzdem nochmal vielen Dank für die Hilfe!
      Zuletzt editiert von maggo119; 05.09.2011, 16:53. Reason: gelöst

      Comment


      • #4
        Es ist gut, dass Sie Ihr Problem gelöst, aber ich habe eine Frage, wie kann ich generieren die Rechnung in pdf? jeder gute Vorschlag wird gedankt werden eine Menge

        Comment


        • #5
          Wenn du eine Frage zu dem Thema hast, erstellte einen eigenen Thread. Er hat es gelöst, wie es im dritten Beitrag steht: Mittels iText und der Ausgabe in den Browser oder man erzeugt direkt ein PDF-Dokument
          Zuletzt editiert von Christian Marquardt; 26.12.2012, 08:15.
          Christian

          Comment

          Working...
          X