The test file at https://github.com/mozilla/pdf.js/blob/master/test/pdfs/annotation-choice-widget.pdf contains listboxes, which are not rendered correctly when printed right now. These kinds of fields are made by https://github.com/mozilla/pdf.js/blob/master/src/display/annotation_layer.js#L672-L678.

/cc @calixteman 
{ ref: dDictRef, data: dDict },
        { ref: next0Ref, data: next0Dict },
        { ref: next00Ref, data: next00Dict },
        { ref: next1Ref, data: next1Dict },
        { ref: next2Ref, data: next2Dict },
      ]
      const JS = Name.get("JavaScript"
      const additionalActionsDict = new Dict(
      const eDict = new Dict(
      eDict.set("JS", "hello()"
      eDict.set("S", JS
      additionalActionsDict.set("E", eDict
      // Test the cycle detection here.
      xDict.set("JS", "world()"
      xDict.set("S", JS
      xDict.set("Next", [next0Ref, next1Ref, next2Ref, xDictRef]
      next0Dict.set("JS", "olleh()"
      next0Dict.set("S", JS
      next0Dict.set("Next", next00Ref
      next00Dict.set("JS", "foo()"
      next00Dict.set("S", JS
      next00Dict.set("Next", next0Ref
      next1Dict.set("JS", "dlrow()"
      next1Dict.set("S", JS
      next1Dict.set("Next", xDictRef
      next2Dict.set("JS", "oof()"
      next2Dict.set("S", JS
      dDict.set("JS", "bar()"
      dDict.set("S", JS
      dDict.set("Next", dDictRef