Dav*_*vis 5 syntax-highlighting imagemagick openoffice-writer ghostscript enscript
OpenOffice Writer无法链接到ASCII文本源文件,应用语法突出显示,将其包装在帧中,并在源文件更改时更新帧内容.但是,OpenOffice Writer可以链接到图像,并在更改时自动更新图像.
图像需要是高分辨率(300 dpi或更高),语法着色适合白色背景(即打印页面).
如何从源代码文件自动创建高质量图像,例如:
大多数尝试都是以下主题的变体:
$ enscript --color -f Courier12 -B -1 --highlight=sql -h -o - source.sql |\
convert - -trim -border 10 source.png
Run Code Online (Sandbox Code Playgroud)
这种方法存在一些问题:
-resample并且-density没有改进).Courier100生成几个.png文件,需要将它们拼接在一起.-border 10意外更改背景颜色从白色到浅灰色.将源文件转换为PostScript - 完全避免使用ImageMagick - 然后将它们导入GIMP将产生所需的结果.不幸的是,该解决方案涉及一些手动工作,我的GIMP批处理编程经验几乎为零.
以下软件包可用于Windows和Linux系统,是完整,可用的解决方案所必需的:
以下是该解决方案的工作原理:
FONT标记).将组件安装到以下位置:
C:\Program Files\VimC:\Program Files\Vim\vim73\colorsC:\Program Files\wkhtmlC:\Program Files\gsC:\Program Files\ImageMagick注意:ImageMagick有一个名为的程序convert.exe,它不能取代Windows convert命令.因此,convert.exe必须在批处理文件中对硬路径进行硬编码(而不是将ImageMagick添加到批处理文件中PATH).
添加或更新以下环境变量:
C:\Program Files\gs\gs9.00\libC:\Program Files\gs\gs9.00\bin\gswin32.exe"C:\Program Files\Vim\vim73";"C:\Program Files\wkhtml";"C:\Program Files\gs\gs9.00\bin"这是批处理源文本:
@ECHO OFF
ECHO Converting %1 to %1.html ...
gvim -e %1 -c "set nobackup" -c ":colorscheme moria" -c :TOhtml -c wq -c :q
ECHO Converting %1.html to %1.ps ...
wkhtmltopdf --quiet --dpi 1200 %1.html %1.ps
ECHO Converting %1.pdf to %1.png ...
IF EXIST %1.png DEL /q %1.png
gswin32 -q -dBATCH -dNOPAUSE -dSAFER -dNOPROMPT ^
-sDEVICE=png16m -dDEVICEXRESOLUTION=600 -dDEVICEYRESOLUTION=600 ^
-dDEVICEWIDTH=4958 -dDEVICEHEIGHT=7017 -dNOPLATFONTS ^
-dTextAlphaBits=4 -sOutputFile=%1.png %1.ps
ECHO Trimming %1.png ...
move %1.png %1.orig.png
"C:\Program Files\ImageMagick\convert.exe" -trim +repage -trim +repage ^
-bordercolor "#f0f0f0" -border 25x25 %1.orig.png %1.png
ECHO Removing old files ...
IF EXIST %1.orig.png DEL /q %1.orig.png
IF EXIST %1.html DEL /q %1.html
IF EXIST %1.ps DEL /q %1.ps
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3831 次 |
| 最近记录: |