2 个版本

0.1.1 2024 年 4 月 21 日
0.1.0 2020 年 7 月 13 日

367图像

每月 21 次下载

GPL-2.0-or-later

36KB
584

pstoedit

CI

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》),或(根据您的选择)任何更高版本。

依赖项