Faits : A. A._ a exercé la profession d'auxiliaire en reliure jusqu'au 26 juin 2002, dernier jour de travail. Le 23 avril 2003, elle a déposé une demande de prestations de l'assurance-invalidité tendant à l'octroi d'une rente, en faisant état d'arthrose à la main droite depuis mai 2002. Par décision sur opposition du 3 novembre 2009, l'Office de l'assurance-invalidité pour le canton de Vaud (l'office AI) a fixé le taux d'invalidité à 22 % et rejeté la demande de rente. L'office AI a par ailleurs refusé d'allouer des mesures professionnelles, mais réservé le droit à une aide au placement. B. A._ a déféré cette décision au Tribunal cantonal du canton de Vaud, Cour des assurances sociales, en concluant principalement à l'octroi d'une rente entière, subsidiairement à la prise en charge de mesures professionnelles. Préalablement, elle a requis la mise en oeuvre d'une expertise. La juridiction cantonale a recueilli les avis des professeurs B._ et C._, tous deux spécialistes en rhumatologie. Le premier nommé a été commis en qualité d'expert judiciaire (rapports des 20 juillet 2011 et 11 avril 2012); le second a été mandaté par l'assurée (rapports des 3 février et 4 juin 2012). La juridiction cantonale a ordonné la mise en oeuvre d'une nouvelle expertise judiciaire qu'il a confiée au professeur D._, également spécialiste en rhumatologie (rapports des 30 mai 2013 et 14 février 2014). Par jugement du 27 mai 2014, la juridiction cantonale a rejeté le recours. C. A._ interjette un recours en matière de droit public contre ce jugement dont elle demande l'annulation, avec suite de frais et dépens, en concluant à l'allocation d'une demi-rente d'invalidité à compter du 1 er juin 2003. 