收集工作生活中常用的命令行工具
Project description
bymtoolbox
一个用于工作生活中常用的命令行工具集合。
功能特点
- 从 PDF 文件中提取图像
- 将 PDF 转换为 Office 文档 (docx/doc/xlsx/xls)
- 将 Office 文档转换为 PDF
- 图片裁剪工具
- AI海报生成工具(支持PSD/PDF/SVG/JPEG/PNG/AI/Sketch格式,带图层)
- 命令行界面便于自动化操作
安装
pip install bymtoolbox
使用方法
PDF 图像提取
# 从单个 PDF 文件中提取图像
bt-pdf-extract input.pdf
# 从多个 PDF 文件中提取图像
bt-pdf-extract *.pdf
# 指定输出目录
bt-pdf-extract input.pdf --output ./images
PDF 转 Office
# PDF 转 Word
bt-pdf2office input.pdf -t docx
bt-pdf2office input.pdf -t doc
# PDF 转 Excel
bt-pdf2office input.pdf -t xlsx
bt-pdf2office input.pdf -t xls
# 指定输出路径
bt-pdf2office input.pdf -o output.docx
Office 转 PDF
# Word 转 PDF
bt-office2pdf input.docx
# Excel 转 PDF
bt-office2pdf input.xlsx
# 指定输出路径
bt-office2pdf input.docx -o output.pdf
图片裁剪
# 使用坐标点裁剪
bt-image-crop input.jpg -f "100,100" -t "500,500"
# 使用配置文件批量裁剪
bt-image-crop input.jpg -c crop.yml
# 指定输出目录和前缀
bt-image-crop input.jpg -f "100,100" -t "500,500" -o ./output -p test
CSV 转 HTML
# 将 CSV 文件转换为带过滤和导出功能的 HTML 表格
bt-erp-csv2html input.csv
# 指定输出文件路径
bt-erp-csv2html input.csv -o output.html
# 指定 CSV 文件编码
bt-erp-csv2html input.csv --encoding gbk
AI海报生成
# 生成PSD格式海报
bt-aiposter poster_config.yml output.psd
# 生成PDF格式海报
bt-aiposter poster_config.yml output.pdf --format pdf
# 生成SVG矢量图
bt-aiposter poster_config.yml output.svg
# 生成JPEG/PNG位图
bt-aiposter poster_config.yml output.jpg
bt-aiposter poster_config.yml output.png
# 指定JPEG图像质量
bt-aiposter poster_config.yml output.jpg --quality 85
# 生成AI(Adobe Illustrator)文件
bt-aiposter poster_config.yml output.ai
# 生成Sketch文件
bt-aiposter poster_config.yml output.sketch
# 自动根据文件扩展名判断输出格式
bt-aiposter poster_config.yml output.jpg # 输出JPEG
bt-aiposter poster_config.yml output.svg # 输出SVG
项目结构
bymtoolbox/
│
├── __init__.py
├── pdf_extractor.py # PDF 图像提取
├── pdf2X.py # PDF 转 Office
├── X2pdf.py # Office 转 PDF
├── image_cropper.py # 图片裁剪
├── aiposter.py # AI海报生成
│
├── setup.py # 包设置和元数据
└── README.md # 项目文档
配置文件示例
裁剪配置文件 (crop.yml):
image1.jpg:
- from: "100,100"
to: "500,500"
- from: "200,200"
to: "600,600"
image2.jpg:
- from: "150,150"
to: "450,450"
海报配置文件 (poster_example.yml):
# 背景设置
background:
# 背景色(当背景图不存在时使用)
color: "#f5f5f5"
# 画布大小(当背景图不存在时使用)
size: [1000, 800]
# 背景图(可选)
# image: "path/to/background.jpg"
# 文本图层
texts:
- content: "海报标题"
font: "Arial"
size: 48
color: "#333333"
position: [400, 50]
- content: "这是一段介绍文字"
font: "Arial"
size: 24
color: "#666666"
position: [100, 150]
# 表格图层
tables:
- headers: ["产品", "价格", "销量"]
data: [
["产品A", "¥100", "1000"],
["产品B", "¥200", "500"]
]
position: [100, 300]
cell_width: 120
cell_height: 40
# 图片图层
images:
- path: "path/to/image.png"
position: [600, 300]
opacity: 0.8
# 输出格式设置(可选)
output:
# JPEG相关设置
jpeg:
quality: 95 # 输出质量 1-100
# SVG相关设置
svg:
embed_images: true # 是否嵌入图像而不是引用
# PDF相关设置
pdf:
compression: true # 是否启用压缩
# AI (Adobe Illustrator) 相关设置
ai:
version: "2020" # AI版本信息
# Sketch 相关设置
sketch:
version: "70" # Sketch版本号
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bymtoolbox-0.1.3.tar.gz
(4.5 kB
view details)
File details
Details for the file bymtoolbox-0.1.3.tar.gz.
File metadata
- Download URL: bymtoolbox-0.1.3.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99ed3b316d28f9959c5f1b5b5ef4e2f3d5f628a7068550204fab3d2a6090f642
|
|
| MD5 |
efaddd27fc5070f870caed8e8f9a6750
|
|
| BLAKE2b-256 |
c52708057ce63ceaed1cbd080b684c4636f7e23cdccc69634d54a37744e5ad47
|