#scraper #bot #email #secret #text-image #spam #web-page

bin+lib text2img

从文本创建 png 图像。用于保护敏感信息,例如网页中的电子邮件地址和电话号码,以及通过电子邮件发送的密码

3 个版本

0.8.3 2022年4月27日
0.8.1 2022年4月27日
0.8.0 2022年4月27日

#795 in 图像

MIT/Apache

320KB
81

Text 2 Image

命令行工具和(即将成为)库。

使用

text2img -o text2img.png -s 80 -w 30 "文本 2 图像"

安装命令行应用程序

cargo install text2img

摘要

从文本创建 png 图像,具有易于使用的命令行工具和/或库。

目的是能够显示敏感信息并击败光学字符识别(OCR)。

用于保护文本免受爬虫和抓取器的侵害,例如网页中的电子邮件地址和电话号码,甚至通过电子邮件发送的密码或令牌。

图像大小会自动计算,以确保文本适合,并留有微小的边距。背景是透明的,因此图像可以用于任何颜色的背景。

选项

您还可以更改字体大小(-s),使爬虫和抓取器更难对文本进行 OCR。还有一个选项(-w),可以随机填充像素的百分比。

如果文本中有空格,必须在命令行上用引号括起来。

帮助

USAGE:
text2img [OPTIONS] --output <OUTPUT> <TEXT>

ARGS:
<TEXT>    Text to render

OPTIONS:
-h, --help               Print help information
-o, --output <OUTPUT>    Output filename. Currently only png format is supported
-s, --size <SIZE>        Point size of text [default: 20]
-V, --version            Print version information
-w, --weight <WEIGHT>    Weight 1 to 100 [default: 100]

基本用法

text2img -o email.png [email protected]

Email using default options

字体大小

50 点字体

text2img -o email_size50.png -s 50 [email protected]

Email at 50 points

权重

填充 30% 的像素。

注意:您可能希望将字体放大,以便更容易阅读文本。

text2img -o email_weight30.png -w 30 -s 80 [email protected]

Email at 30 percent

字体

目前仅支持 Roboto。

使用的 Roboto 字体是从

/usr/share/fonts/truetype/roboto/unhinted/RobotoTTF/Roboto-Regular.ttf

路线图 - 下一个版本的想法

如果您想要一个功能,请提交一个问题,如果您想做出贡献,请发送一个 PR。

泊松盘

使用泊松盘算法渲染文本,使OCR识别更加困难。

背景颜色

目前背景总是透明的。

更改字体

text2img -s 12 --font DejaVu -o email.png "[email protected]"

读取stdin

echo data.txt | text2img -o data.png

对齐

echo data.txt | text2img --justify -o data.png --center --left --right

此crate的替代方案

提供的替代方案需要指定输出图像的大小。

来自Tesseract项目的text2image

text2image

ImageMagick

convert -size 360x360 xc:white -font "FreeMono" -pointsize 12 -fill black -draw @ascii.txt image.png

file ascii.txt

text 15,15 "                 text to show
"
convert -size 360x360 xc:white -font "FreeMono" -pointsize 12 -fill black -annotate +15+15 "@ascii.txt" image.png
convert -list font | grep Font:
#!/bin/sh

$1 | convert -background black -fill white \
-font Helvetica -pointsize 14 \
-border 10 -bordercolor black \
label:@- $2

依赖项

~7.5MB
~149K SLoC