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文件夾下,可以根據需要改成自己的路徑。
我的其他腳本參見這裏