2 个版本
0.1.1 | 2024 年 4 月 21 日 |
---|---|
0.1.0 | 2020 年 7 月 13 日 |
367 在 图像 中
每月 21 次下载
36KB
584 行
pstoedit
Rust 的 pstoedit 绑定。
本 crate 包含 Rust 对 pstoedit 的绑定,pstoedit 是一个可以将 PostScript 和 PDF 图形转换为其他矢量格式的 C++ 程序。
功能
API 与 pstoedit 的 C API 类似。可以查询驱动器信息,并可以构建和运行对 pstoedit 的任意命令。
可选 Cargo 功能
smallvec
:使用smallvec
crate 可能会减少分配次数。
此外,功能用于指定目标 pstoedit 版本。由于向后不兼容,在不指定此 crate 的适当功能的情况下使用 pstoedit 4.00 或更高版本将导致运行时错误。有关更多详细信息,请参见下面的内容。
示例
use pstoedit::{DriverInfo, Command};
pstoedit::init()?;
// For every driver ...
for driver in &DriverInfo::get()? {
let format = driver.symbolic_name()?;
let extension = driver.extension()?;
let output_name = format!("output-{}.{}", format, extension);
// ... convert input.ps to that format
Command::new().args_slice(&["-f", format, "input.ps"])?.arg(output_name)?.run()?;
}
要求和兼容性
仅支持动态链接到 pstoedit,因此需要安装 pstoedit。支持多个版本,但必须启用以 pstoedit_
开头的适当功能,以防止运行时 IncompatibleVersion
错误。
pstoedit_4_00
:与 pstoedit 版本 4.00–4.01 兼容,并可能与未来的 4.xx 版本兼容。- 没有以
pstoedit_
开头的功能:与 pstoedit 版本 3.17–3.78 兼容。
许可证
根据 GNU 通用公共许可证许可;许可证版本 2(《LICENSE》或 https://www.gnu.org/licenses/old-licenses/gpl-2.0.html》),或(根据您的选择)任何更高版本。