Comment modifier le titre de la page du navigateur qui une servlet en streaming un PDF?
Mon basé sur Java webapp a une servlet qui diffuse le contenu PDF retour vers le navigateur basé sur les paramètres de la requête.
par exemple, l'utilisateur clique sur Un tag avec un href de "myApp/FetchPDFServlet?id=123". Servlet cartographie ramasse demande, flux de données PDF de réponse type mime application/pdf, ferme les bouffées de tampons.
Toutefois, le navigateur, la barre de titre de la page d'affichage du PDF se lit "FetchPDFServlet?id=123"
Comment puis-je changer le titre le navigateur affiche la page qui affiche le PDF?
Ainsi, le navigateur le titre est "Ici est l'incroyable PDF" pas "FetchPDFServlet?id=123".
Est-il possible? La meilleure façon de le faire?
InformationsquelleAutor | 2009-06-29
Vous devez vous connecter pour publier un commentaire.
Ajouter cet en-tête de votre HttpServletResponse:
Je crois que le navigateur va le ramasser et de les utiliser comme titre de la fenêtre.
Vous pouvez afficher le PDF dans un iframe.
Quelque chose comme ceci:
Donc au lieu de le relier à un document pdf à l'aide de
myApp/FetchPDFServlet?id=123
, vous auriez un lien qui renvoie du html ci-dessus. Par exemple, une page jsp:myApp/ShowPDF.jsp?id=123&title=Here%20is%20the%20amazing%20PDF
J'ai touché à cette question,et même si ma solution est tout à fait un peu de restrictions, j'ai pensé que je voudrais partager.
Baiscally je vais ouvrir le fichier pdf dans un nouvel onglet, puis changez le titre de la page d'origine.
Noter que le parent et l'enfant, les pages doivent être dans le même domaine.
J'ai testé cela dans un peu de navigateurs, et voici les résultats:
Le titre de l'onglet est prise à partir des documents PDF de métadonnées, plus précisément l'attribut Title. Donc, si vous générez le document dans votre application, votre PDF de la bibliothèque doit avoir un moyen de définir les documents de métadonnées.
J'ai essayé une solution en java et cela a fonctionné. Vous pouvez définir donné les en-têtes dans d'autres langues
name
de la propriété.