LaTeX output to image

鲜于裕
2023-12-01

tikz画图输出是pdf格式,但是这种格式的图片,只有LaTeX可以插入到文章中,如果是word或者PPT都是无法插入这种图片的。

解决方案

写一个pdf转图片的脚本

环境要求

  • pdf2image
pip3 install pdf2image
  • pdfTools
sudo apt-get install libpoppler-cpp-dev

pdfTools的更多信息

pdf2img.py

import tempfile
import argparse
from pdf2image import convert_from_path,convert_from_bytes

parser = argparse.ArgumentParser(description='pdf2image')
parser.add_argument('--inputfile', '-i', help='input your pdf file',required=True)
parser.add_argument('--dpi', '-d', help='input your image dpi',default=400)
parser.add_argument('--outfolder', '-f', help='set your image\'s path', required=True)
parser.add_argument('--outfile', '-o', help='set your image\'s name', default="out")
args = parser.parse_args()

with tempfile.TemporaryDirectory() as path:
    image_from_path = convert_from_path(args.inputfile, dpi=args.dpi, fmt='png',output_folder=args.outfolder,output_file=args.outfile)

pdf2img.py 使用示例

  • 参数说明

--inputfile / -i:你的pdf文件

--dpi / -d:你需要的图片分辨率,默认是400

--outfolder / -f:你图片的输出路径

--outfile / -o:你的图片名

python3 pdf2img.py -i example.pdf -d 400 -f . -o example

与vim交互

autocmd filetype tex noremap <buffer> <LEADER>i :!python3 ~/scripts/pdf2img.py -i %<.pdf -f %:h -o %<<CR>

这里没有给dpi参数,直接按照默认的分辨率生成图片。

在你编译完tex文件生成pdf以后,按下<leader>+i 会自动调用pdf2img.py脚本将pdf转为png格式的图片,这里我将pdf2img.py放在了我scripts文件夹下,可以根据需要改成自己的路径。

我的其他脚本参见这里

 类似资料:

相关阅读

相关文章

相关问答