# iText



## soaz (16. Nov 2007)

hello!

Ich mach in einer Web-Applikation mit iText nen Pdf-Ausdruck. Funktioniert eigentlich ganz gut, nur ein Problem:
die pdf-seite wird in der selben Seite generiert, in der das Formular zum ausfüllen ist, in dem man dann auf den Button "drucken" klickt...

ich möchte aber, dass sich die Pdf-Seite in ner neuen Browser-Seite oder -Tab öffnet. Wie ist das möglich?


----------



## The_S (16. Nov 2007)

kommt darauf an, wie deine web-applikation aufgebaut ist. Normalerweiße drückst du ja auf einen Button, der dann das entsrpechende PDF-Servlet aufruft. Vorher musst du dann das target auf "_blank" setzen, damit eine neue Seite aufgeht.


----------



## Guest (16. Nov 2007)

.jspx (jsf) Seite:

 ...

Formular-Eingaben

...

<div id="controls">
    <hanelGroup id="controlsGroup">
      <h:commandButton value="${txt.act_abbrechen}" 
                       action="${page$antr_detail.handleAbbrechen}"
                       onclick="Richfaces.showModalPanel('waitDialog')" 
                       immediate="true"/>
      <h:commandButton value="${txt.act_speichern}" 
                       action="${page$antr_detail.handleSpeichern}"
                       onclick="Richfaces.showModalPanel('waitDialog')">
        <iwms:defaultAction/>
      </h:commandButton>
      <h:commandButton value="${txt.act_drucken}"	                               action="${druckController.processDrucken}"/>
      </hanelGroup>
  </div>


Also das Drucken erledigt ein Controller - ich weiß jetzt nicht ganz, wo ich was machen soll?

weils generell Neuland für mich ist


----------



## The_S (16. Nov 2007)

Mit JSF habe ich keine Erfahrung, aber das ist im Prinzip normales HTML. Du musst dem Browser sagen, wo er den Link öffnen soll. Und das geht normal mit


```
[url="DeinServlet"]PDF[/url]
```

bzw.


```
document.form.target="_blank";
```


----------



## Guest (16. Nov 2007)

geht weder das eine noch das andere - die Pdf-Seite wird wieder im selben geöffnet 

??


----------



## The_S (16. Nov 2007)

hm doch. Ansonsten müsste JSF wohl html ganz schön verbiegen oder einige ungewöhnliche Besonderheiten haben.


----------



## Guest (16. Nov 2007)

also in der jsf-Seite ändert sich gar nix mit dem target

und der code document.form.target="_blank" wird als Fehler interpretiert...

komisch


----------



## Saxony (16. Nov 2007)

Hiho,

bei target="_blank" gibt es eine Besonderheit.
Viele denken es wird immer ein neues Fenster geöffnet und dort dann die href angezeigt, das ist aber falsch.

_blank ist nur ein Name, welcher normalerweise als Browserfenster noch nicht existiert. Hat man einmal mit _blank so ein Browserfenster geöffnet und klickt nochmal einen Link mit _blank an, wird dieser dann in dem zuvor geöffneten Browserfenster geöffnet. Dies ist dann so weil ein target mit Namen _blank schon existiert. Man kann für _blank also auch Blafasel, Susi_Sonnenschein oder was auch immer nehmen.

Hat also der Fragesteller sein Formaular schon in nem _blank Fenster, dann wird auch die PDF (trotz target="_blank") im selbigen angezeigt.

Das könnte er ja mal kontrollieren.

bye Saxony


----------



## The_S (16. Nov 2007)

naja, ist ja auch javascript und muss natürlich auf dein jeweiliges dokument angepasst werden. Und wenn du an dem aufruf nichts änderst, dann kann sich natürlich auch weiter nichts ändern.

[edit] @Saxony echt? Wusste ich noch gar nicht. Dachte bis jetzt immer, dass das für ne neue Seite steht, und nicht für eine Seite mit bestimmten Namen. Aber gut, wieder was gelernt  .


----------



## Saxony (16. Nov 2007)

Hiho,

ne hab mich geirrt.

Hier stehts genauer.  http://de.selfhtml.org/html/verweise/definieren.htm#zielfenster

Hmm aber woher habe ich dann eigentlich mein gefährliches Halbwissen - ich dachte genau dort (selfhtml) hätte ich das mal so gelesen. 

bye Saxony


----------



## RicoSoft (16. Nov 2007)

vielleicht hast du mal statt "_blank" einfach nur "blank" geschrieben? das hätte ja ziemlich den beschriebenen effekt


----------

