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 
const appearanceStatesDict = new Dict(
      const normalAppearanceDict = new Dict(
      normalAppearanceDict.set("Checked", Ref.get(314, 0)
      normalAppearanceDict.set("Off", Ref.get(271, 0)
      appearanceStatesDict.set("N", normalAppearanceDict
      buttonWidgetDict.set("AP", appearanceStatesDict
      buttonWidgetDict.set("V", Name.get("Off")
      const buttonWidgetRef = Ref.get(123, 0
      const xref = new XRefMock([
        { ref: buttonWidgetRef, data: buttonWidgetDict },
      ]
      partialEvaluator.xref = xref;
      const task = new WorkerTask("test save"
      const annotation = await AnnotationFactory.create(
        xref,
        buttonWidgetRef,
        pdfManagerMock,
        idFactoryMock
      
      const annotationStorage = new Map(
      annotationStorage.set(annotation.data.id, { value: true }
      const [oldData] = await annotation.save(
        partialEvaluator,
        task,
        annotationStorage
      
      oldData.data = oldData.data.replace(/\(D:\d+\)/, "(date)"
      expect(oldData.ref).toEqual(Ref.get(123, 0)
      expect(oldData.data).toEqual(
        "123 0 obj\n" +