public static File generate(String content, int width, int height, File targetFile) {
		String extName = FileUtil.extName(targetFile);
		switch (extName) {
			case QR_TYPE_SVG:
				String svg = generateAsSvg(content, new QrConfig(width, height));
				FileUtil.writeString(svg, targetFile, StandardCharsets.UTF_8);
				break;
			case QR_TYPE_TXT:
				String txt = generateAsAsciiArt(content, new QrConfig(width, height));
				FileUtil.writeString(txt, targetFile, StandardCharsets.UTF_8);
				break;
			default:
				final BufferedImage image = generate(content, width, height);
				ImgUtil.write(image, targetFile);
				break;
		}

		return targetFile;
	}
@Test
	@Disabled
	public void generateWithLogoTest() {
		final String icon = FileUtil.isWindows() ? "d:/test/pic/face.jpg" : "~/Desktop/hutool/pic/face.jpg";
		final String targetPath = FileUtil.isWindows() ? "d:/test/qrcodeWithLogo.jpg" : "~/Desktop/hutool/qrcodeWithLogo.jpg";
		QrCodeUtil.generate(//
				"https://hutool.cn/", //
				QrConfig.create().setImg(icon), //
				FileUtil.touch(targetPath));
	}