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 
operatorList.addOp(OPS.beginAnnotation, [
          this.data.id,
          this.data.rect,
          transform,
          matrix,
        ]);
        const stream = new StringStream(content);
        return evaluator
          .getOperatorList({
            stream,
            task,
            resources: this._fieldResources.mergedResources,
            operatorList,
          })
          .then(function () {
            operatorList.addOp(OPS.endAnnotation, []);
            return operatorList;
          });
      }
    );
  }
  async save(evaluator, task, annotationStorage) {
    if (!annotationStorage) {
      return null;
    }
    const storageEntry = annotationStorage.get(this.data.id);
    const value = storageEntry && storageEntry.value;
    if (value === this.data.fieldValue || value === undefined) {
      return null;
    }