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 
" 8.00 0 Td (\x4e\x16) Tj 8.00 0 Td (\x75\x4c) Tj" +
          " 8.00 0 Td (\x30\x6e) Tj ET Q EMC"
      
    }
    it("should save text", async function () {
      const textWidgetRef = Ref.get(123, 0
      const xref = new XRefMock([
        { ref: textWidgetRef, data: textWidgetDict },
        helvRefObj,
      ]
      partialEvaluator.xref = xref;
      const task = new WorkerTask("test save"
      const annotation = await AnnotationFactory.create(
        xref,
        textWidgetRef,
        pdfManagerMock,
        idFactoryMock
      
      const annotationStorage = new Map(
      annotationStorage.set(annotation.data.id, { value: "hello world" }
      const data = await annotation.save(
        partialEvaluator,
        task,
        annotationStorage
      
      expect(data.length).toEqual(2
      const [oldData, newData] = data;
      expect(oldData.ref).toEqual(Ref.get(123, 0)
      expect(newData.ref).toEqual(Ref.get(2, 0)
      oldData.data = oldData.data.replace(/\(D:\d+\)/, "(date)"