PDF in View anzeigen Thema ist als GELÖST markiert

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
6 Beiträge Seite 1 von 1
6 Beiträge Seite 1 von 1

PDF in View anzeigen

Beitrag von LostDarkness (ForumUser / 74 / 14 / 6 ) » 29. Nov 2019 16:27

Hallo zusammen,

ich stehe aktuell vor einem kleinen Problem.
Ich versuche momentan eine .pdf Datei auf einem View auszugeben, scheitere aber kläglich.
Die .pdf-Datei liegt auf dem Applikationsserver und es ist mir auch möglich diese von dort problemlos via Buttonclick zu downloaden.

Nun wurde aber gewünscht das dieses .pdf immer direkt im Fenster einsehbar sei, ohne das die User dieses erst downloaden müssten.
Im Netz finde ich viele Tutorials, aber alle verweisen immer wieder auf "interactive Forms", welche in meinem Layout-Menü scheinbar nirgendwo
aufzufinden sind.
Scheinbar scheint es diesbezüglich mal einige Sicherheitsrisiken gegeben zu haben.

Nun meine Frage:
Gibt es einer alternative zu den Interactive Forms?

Vielen Dank & beste Grüße
Gerrit
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin


Re: PDF in View anzeigen

Beitrag von msfox (ForumUser / 70 / 7 / 7 ) » 1. Dez 2019 20:46

Leider geht aus deinem Text nicht hervor, ob das PDF im Webdynpro oder BSP anzeigen willst.
Im Webdynpro (ABAP) nehme ich dafür das Element "InteractiveForm".
Das Attribute pdfSource verlinke ich dabei auf den Context auf einem XSTRING.
Im XSTRING ist dann das PDF enthalten.

Alternativ:
Schau die mal die Klasse cl_wd_runtime_services an. Mit der Methode attach_file_to_response( ) kannst die PDF-Datei auch direkt in den Reponse schreibe:
i_filename = <Name der Datei, der dann beim Speichern erscheint
i_content = <XSTRING der Datei selbst>
i_mime_type = <der mimetype der Datei, damit der Browser weiß, welches Progr.>
i_in_new_window = abap_true-> Im neuen Fenster bzw. neuen Tab.
i_inplace = abap_false -> ??? Hab ich auf False :-)

Zur Info: Ich nutze bei Varianten...

Re: PDF in View anzeigen

Beitrag von LostDarkness (ForumUser / 74 / 14 / 6 ) » 2. Dez 2019 09:58

Guten Morgen,

ich nutze Web-Dynpro :)
Wie schon erwähnt scheint es bei mir das Element "InteractiveForm" nicht zu geben, weswegen ich eine Alternative suche.

Die von dir genannte Alternative mit attach_file_to_response( ) nutze ich aktuell für den Download,
ich erhoffte mir dort durch i_in_new_window = abap_true das öffnen in einem neuen Tab,
allerdings öffnet sich bei mir jedesmal das handelsübliche Download-Menü, wobei es dann egal ist ob man "Öffnen" oder "Anzeigen" klickt,
da es in beiden fällen im lokalen Temp-Ordner landet..

Beste Grüße
Gerrit
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Re: PDF in View anzeigen

Beitrag von LostDarkness (ForumUser / 74 / 14 / 6 ) » 2. Dez 2019 14:56

Hallo Zusammen,

ich habe das Problem nun wie folgt "umgangen".
Da die Hauptproblematik darin lag, dass es scheinbar diese "InteractiveForm" nicht mehr zur Auswahl gibt,
habe ich in einem älteren Web-Dynpro welches ein InteractiveForm-Element beinhaltet hat, dieses als Template gespeichert
und mir im Anschluss in meinem Web-Dynpro via Wizard selbst generieren lassen. (Das Template findet sich u.U. erst nach erneutem Öffnen der SE80).

Nachdem so also die InteractiveForm eingebunden war, war es problemlos möglich diese mit dem XSTRING des PDF zu versorgen.


Mit freundlichen Grüßen
Gerrit
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Re: PDF in View anzeigen

Beitrag von msfox (ForumUser / 70 / 7 / 7 ) » 2. Dez 2019 15:59

Dann hättest du dir die InteractivForm auch via WDY-Klasse im WDDOMODIFYVIEW dynamisch auf die View packen können.
Ich hab das mal mit dem IFrame gemacht, weil die SAP diese zwischenzeitlich rausgenommen hatte. Die Klassen sind ja dafür weiterhin vorhanden, weil die SAP immer abwärtskompatibel bleiben muss.
LostDarkness hat geschrieben:
2. Dez 2019 09:58
allerdings öffnet sich bei mir jedesmal das handelsübliche Download-Menü, wobei es dann egal ist ob man "Öffnen" oder "Anzeigen" klickt,
Das ist - glaube ich - dann der Fall, wenn der Mimetype nicht sauber mit übergeben wird. Dann weiß der Browser nicht mit was er es öffnen soll.
Wenn das nicht hilft, kann es auch an irgendwelchen Sicherheitseinstellungen vom Browser liegen. Was genau, weiß ich jedoch nicht.

Folgende Benutzer bedankten sich beim Autor msfox für den Beitrag:
LostDarkness (2. Dez 2019 16:52)


Re: PDF in View anzeigen

Beitrag von LostDarkness (ForumUser / 74 / 14 / 6 ) » 2. Dez 2019 16:52

msfox hat geschrieben:
2. Dez 2019 15:59
Dann hättest du dir die InteractivForm auch via WDY-Klasse im WDDOMODIFYVIEW dynamisch auf die View packen können.
Ich hab das mal mit dem IFrame gemacht, weil die SAP diese zwischenzeitlich rausgenommen hatte. Die Klassen sind ja dafür weiterhin vorhanden, weil die SAP immer abwärtskompatibel bleiben muss.
An die Möglichkeit habe ich gar nicht gedacht, die Idee werde ich aber in meine Doku aufnehmen, danke!
msfox hat geschrieben:
2. Dez 2019 15:59
LostDarkness hat geschrieben:
2. Dez 2019 09:58
allerdings öffnet sich bei mir jedesmal das handelsübliche Download-Menü, wobei es dann egal ist ob man "Öffnen" oder "Anzeigen" klickt,
Das ist - glaube ich - dann der Fall, wenn der Mimetype nicht sauber mit übergeben wird. Dann weiß der Browser nicht mit was er es öffnen soll.
Wenn das nicht hilft, kann es auch an irgendwelchen Sicherheitseinstellungen vom Browser liegen. Was genau, weiß ich jedoch nicht.
Das Problem scheine ich scheinbar nur im Internet-Explorer gehabt zu haben, bei Chrome öffnet sich ein neuer Tab.
Liegt also vermutlich am Browser. :)


Danke & Beste Grüße
Gerrit
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Seite 1 von 1