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 comparePngAndSvgAndAsciiArtTest() {
		final QrConfig qrConfig = QrConfig.create()
				.setForeColor(null)
				.setBackColor(Color.WHITE)
				.setWidth(200)
				.setHeight(200).setMargin(1);
		QrCodeUtil.generate("https://hutool.cn", qrConfig, FileUtil.touch("d:/test/compare/config_null_color.jpg"));
		QrCodeUtil.generate("https://hutool.cn", qrConfig, FileUtil.touch("d:/test/compare/config_null_color.txt"));
		QrCodeUtil.generate("https://hutool.cn", qrConfig, FileUtil.touch("d:/test/compare/config_null_color.png"));
		QrCodeUtil.generate("https://hutool.cn", qrConfig, FileUtil.touch("d:/test/compare/config_null_color.svg"));
	}