どうやっているのかの情報が全くないので、そのレベルで回答しておきます。
例えばブラウザから /downloadfile という url を要求すると pdf が表示されるとすると、以下の画像のようにタブに表示されるのは downloadfile となるはずです。(ブラウザは Edge 108.0.1462.42)

質問者さんのケースでは、
bookと表示されたり、文字化けした.xlsxの名前だったり表示される値がどこの値なのか不明です。
とのことですが、それはもう私の想像の範囲を超えて何か普通でないことをしているとしか思えません。なので、その原因と解決策は分かりません。
何を作っているのか分かりませんが、例えば ASP.NET Core MVC アプリであれば以下の記事のサンプルコードで、
ASP.NET Core MVC でファイルダウンロード
http://surferonwww.info/BlogEngine/post/2020/01/20/aspnet-core-mvc-file-download.aspx
PhysicalFileResult を使った例の、
// Content-Disposition ヘッダを設定
// (RFC 6266 対応してないので注意)
Response.Headers.Append("Content-Disposition",
"attachment;filename=test.pdf");
をコメントアウトすれば、上に書いたようにブラウザから /downloadfile という url を要求すると、上の画像に示したように pdf が表示され、タブに downloadfile と表示されます。
タブに downloadfile ではなくて、質問者さんが別途指定する任意の文字列を表示したいと言うことですと上記ではダメで、html の title タグにそれを設定する必要があります。
上に紹介したダウンロードのコードではそれはできないので別の手段を考える必要があります。
一例としては以下のようなページを作って、
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>タブに表示したい文字列</title>
</head>
<body>
<iframe src="/downloadfile"></iframe>
</body>
</html>
それを以下のような a タグをクリックして呼び出すという手段が考えられます。
<a href="上のページの URL" onclick="window.open(this.href, '_blank'); return false;">PDF</a>
