Как можно задать имя html файлу при сохранении в pdf через браузер?

104
16 февраля 2022, 06:40

Есть форма с инпутом содержащим ФИО. Можно ли сделать так, чтобы при сохранении файла как pdf в браузере- имя файла было Фамилия.pdf?

Понимаю, что можно ввести имя файла ручками при сохранении, но вдруг...)

<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="Recom-print.css">
    <link rel="stylesheet" href="menu.css">
    <link rel="stylesheet" href="font-awesome/css/font-awesome.min.css">
    <title>Консультация  хирурга</title>
</head>
<body>
        <img src="http://cardiobook.ru/wp-content/uploads/2017/11/stroenie-serdca-cheloveka.jpg" alt="">
        <button id="print_btn" onclick="window.print();">Печать</button>
            <div id="head">
                    <div id="examinationDiv">
                    <h3>Консультация сосудистого хирурга</h3> <span id="examination"></span>
            </div>
            <div id="patientInfo">
                    <p>Ф.И.О. пациента:<span id="patientName"></span>   Возраст: <span id="age"></span> Дата: <span id="date"></span></p>
            </div>
            </div>
            <div id="all" >
                <div id="inner">
                    <h3>Диагноз:</h3>
                    <span contenteditable id="diagnosis_text"></span>
                    <h3>Рекомендации:</h3>
                    <span contenteditable id="recom_text"></span>

    </div>
</body>
<script src="Recom-print.js"></script>
</html>
Answer 1

Данное решение должно решать вашу проблему, но если честно является реальным костылем.

Главное чтобы ФИО соответствовало формату Фамилия Имя Отчество иначе если фамилия будет не первое слово, то будет сохранять с названием которым будет является первое слово в div с id="patientName"

<html lang="en">
   <head>
  <meta charset="UTF-8">
  <link rel="stylesheet" href="Recom-print.css">
  <link rel="stylesheet" href="menu.css">
  <link rel="stylesheet" href="font-awesome/css/font-awesome.min.css">
  <title>Консультация  хирурга</title>
  <script>
     function print_with_name(){
      try {
       let temp = document.title; 
       document.title =    document.getElementById('patientName').innerText.trim().split(' ')[0]; 
       window.print(); 
       document.title = temp;
      } catch (e) { console.log(e); }
     }
  </script>
   </head>
   <body>
  <img src="http://cardiobook.ru/wp-content/uploads/2017/11/stroenie-serdca-cheloveka.jpg" alt="">
  <button id="print_btn" onclick="print_with_name();">Печать</button>
  <div id="head">
     <div id="examinationDiv">
        <h3>Консультация сосудистого хирурга</h3>
        <span id="examination"></span>
     </div>
     <div id="patientInfo">
        <p>Ф.И.О. пациента:<span id="patientName"></span>   Возраст: <span id="age"></span> Дата: <span id="date"></span></p>
     </div>
  </div>
  <div id="all" >
  <div id="inner">
     <h3>Диагноз:</h3>
     <span contenteditable id="diagnosis_text"></span>
     <h3>Рекомендации:</h3>
     <span contenteditable id="recom_text"></span>
  </div>
   </body>
   <script src="Recom-print.js"></script>
</html>

READ ALSO
Ошибка при чтении XML файла

Ошибка при чтении XML файла

Здравствуйте хочу вывести в консоль атрибут из xml файла

76
C#. Объясните смысл преобразования данных [дубликат]

C#. Объясните смысл преобразования данных [дубликат]

Объясните пожалуйста как работает ключевое checked в данном примере, в 1-ом просто выйдет 0 в консоли из-за переполнения, во втором же программа...

84
Как добавить значок сортировки на заголовок ListView используя MVVM

Как добавить значок сортировки на заголовок ListView используя MVVM

Примеров сортировки по столбцам ListView с отображением треугольника в какую сторону идёт сортировка, я нашёл достаточноНо они все подразумевают...

118
Visual Studio C# аналог #pragma mark из Xcode

Visual Studio C# аналог #pragma mark из Xcode

Есть подобный аналог в c#, а то падает читаемость кода при 999+ строк кода

103