# Java Pdf integrieren



## Mathias1411 (24. Feb 2021)

Hallo,
ich habe 0 Ahnung von Java.
Ich möchte bei einem PDF eine Abfolge von Tastenkombinationen per Druck auf einen Button starten.
(Klick auf Button im PDF --> Alt + k --> ALT +Y + 5 --> Alt + I + M sodass ich auf das Freihand Signierfeld komme) 
Ist sowas möglich?
Vielen Dank im Voraus.


----------



## kneitzel (24. Feb 2021)

Mathias1411 hat gesagt.:


> ich habe 0 Ahnung von Java.


Dann ist es ja gut, dass es kein Java Thema ist.

In PDFs ist es möglich JavaScript zu integrieren - und das hat mit Java nichts zu tun.
Ich kann diesbezüglich nicht weiter helfen, da ich in dem Bereich noch nichts gemacht habe, aber ich würde da statt irgendwelche "Tastendrücke simulieren" einfach nur einmal schauen, ob Du da nicht einfach den Fokus an das Signierfeld geben kannst oder so um den Wechsel dahin zu erreichen.

https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf gibt etwas die Möglichkeiten und da findet sich auch setFocus:


> Sets the keyboard focus to this field. This can involve changing the page that the user is currently on or causing the view to scroll to a new position in the document. This method brings the document in which the field resides to the front, if it is not already there.


Incl. einem Beispiel das schon fast 1:1 verwendet werden kann mit minimalen Anpassungen vermutlich ... Da werden halt alle Dokumente durchgegangen um dann bei einem Dokument das Feld zu finden ... Das wird bei Dir nicht notwendig sein, denn Du willst ja nur im aktuellen Dokument was machen. Und die Referenz zu Doc sagt aus:


> The this object usually points to the Doc object of the underlying document.



So reicht evtl schon etwas aus wie:

```
this.getField("FiledYouWant").setFocus();
```


----------



## Mathias1411 (24. Feb 2021)

Hallo,

ok, danke für die schnelle Antwort. Aber ich komm nicht wirklich klar. Danke trotzdem


----------



## mihe7 (24. Feb 2021)

Du musst einfach für den Klick auf den Button ein Script angeben, das aus dem Code von @kneitzel besteht, wobei "FiledYouWant" durch den Namen des Felds ersetzt werden muss, das den Eingabefokus erhalten soll.

Im Anhang findest Du ein hässliches PDF, das oben einen "Button" enthält und unten ein Textfeld. Wenn Du auf "Eingabe" klickst, springt der Fokus auf das Textfeld. Das Textfeld hat intern den Namen "nameField" und der Code für den Button ist einfach `this.getField('nameField').setFocus();`.


----------



## kneitzel (24. Feb 2021)

Nur mal rein aus Interesse: Wie baust Du so ein PDF? Braucht man dazu zwingend den Acrobat von Adobe oder gibt es da auch freie Tools für?


----------



## mihe7 (24. Feb 2021)

kneitzel hat gesagt.:


> Nur mal rein aus Interesse: Wie baust Du so ein PDF? Braucht man dazu zwingend den Acrobat von Adobe oder gibt es da auch freie Tools für?


Das PDF oben habe ich mit PDFBox gebaut. 

Es gibt wohl auch halbwegs freie Tools, PDF-XChange habe ich mal kurz ausprobiert (war Frage im Forum). Daneben soll auch Foxit was taugen. Da ich aber praktisch nie mit PDF-Formularen arbeite, kann ich dazu nichts sagen. Einer Setzerei hab ich mal unter die Arme gegriffen, dort war aber natürlich der Acrobat verfügbar (und der wurde nicht von mir bedient) und es ging mehr um die Verarbeitung von XDP-Dateien


----------



## kneitzel (24. Feb 2021)

Danke für die Infos ... ich hatte da bisher nie groß Berührungspunkte mit sowas, aber es kommen ja immer wieder Fragen dazu im Forum und dann kann man evtl. zukünftig mehr mache als nur so Infos zusammen zu suchen.


----------

