Как создать QR-код при нажатии на кнопку, сохранить его как png-изображение и предложить пользователям скачать полученный файл?
Для генерации QR-кода для строки и предложения его пользователю для скачивания, можно воспользоваться библиотекой Python под названием `qrcode`.
Пример кода для создания QR-кода и его предложения пользователю для скачивания:
```python
import qrcode
from PIL import Image
from io import BytesIO
# Создаем QR-код для строки
data = "Ваша строка здесь"
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
# Сохраняем QR-код как изображение PNG
img_path = "./qr_code.png"
img.save(img_path)
# Предлагаем пользователю скачать созданный QR-код
# Это может быть сделано, например, с помощью Flask и отправки файла пользователю
# или простого исполнения скрипта на сервере, откуда пользователь сможет скачать QR-код
print("QR-код создан и сохранен как qr_code.png")
```
После выполнения этого кода, в текущей директории будет создан файл `qr_code.png`, содержащий QR-код для указанной строки. Пользователь сможет скачать этот файл и использовать QR-код по своему усмотрению.
Вы даже не потрудились <a href="https://www.w3schools.com/tags/att_a_download.asp" rel="nofollow">загуглить</a> пример? Вот надо динамически создать тег a с нужными атрибутами, кликнуть по нему и удалить. <br/> <br/> Обновлено. <br/> И снова я за вас погуглил )) Вот так можно сгенерировать налету и скачать как картинку. <br/> <a href="https://codepen.io/yarkovaleksei/pen/OJGOzww?editors=0010" rel="nofollow">https://codepen.io/yarkovaleksei/pen/OJGOzww?edito...</a>
Делаю для себя одностраничное приложение: <br/> <a href="https://gitverse.ru/NeiroN/HTML/content/main/QRcode.html" rel="nofollow">https://gitverse.ru/NeiroN/HTML/content/main/QRcod...</a> <br/> <br/> Пошел по пути Текст->QRcode SVG->тег img->тег canvas->тег a->сохранение <br/> <br/> <pre><code class="javascript">function convertPng(svg,size,name){
let canvas = document.createElement("canvas");canvas.width=size;canvas.height=size;
let img = new Image();img.width=size;img.height=size;
let a = document.createElement("a");a.download=name;
img.onload = function() {canvas.getContext('2d').drawImage(img, 0, 0);a.href=canvas.toDataURL("image/png");a.click();img.remove();canvas.remove();a.remove()}
img.src = "data:image/svg+xml,"+encodeURIComponent(svg);
}
convertPng(new QRCode({
content: "http://github.com/",
padding: 4,
width: 256,
height: 256,
color: "#000000",
background: "#ffffff",
ecl: "M",
}).svg(),256,'Test.png')</code></pre> <br/> Библиотека когда-то отсюда взята: <a href="https://github.com/papnkukn/qrcode-svg" rel="nofollow">https://github.com/papnkukn/qrcode-svg</a>