首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PHP 原生集成Rust Typst,动态实时生成 PDF

PHP 原生集成Rust Typst,动态实时生成 PDF

作者头像
Tinywan
发布2026-07-01 16:03:32
发布2026-07-01 16:03:32
900
举报
文章被收录于专栏:开源技术小栈开源技术小栈

概述

Ext-Typst 是一个 PHP 扩展,它的主要作用是将 Typst 排版引擎直接嵌入到 PHP 中,让 PHP 程序可以原生编译 Typst 标记语言,而不需要调用外部的 Typst CLI 或启动子进程。

可以直接在 PHP 中将 Typst 标记语言编译为 PDF、PNG、JPEG 和 SVG

Typst 是一种现代的、比 LaTeX 更易用的标记式排版系统(markup-based typesetting system),能快速生成 PDF、图片等文档。

安装方式

通过 PIE 安装(推荐)

代码语言:javascript
复制
pie install carthage-software/ext-typst

使用预编译二进制文件

从 GitHub Releases 下载对应平台的 ZIP 文件。每个压缩包中都包含一个 typst.so 文件。

解压后,在 php.ini 中添加:

代码语言:javascript
复制
extension=/path/to/typst.so

IDE 与静态分析(推荐开发时安装)

代码语言:javascript
复制
composer require --dev carthage-software/ext-typst

安装后可在 PhpStorm 中获得自动补全,并支持 Mago、PHPStan 和 Psalm 等静态分析工具。

快速开始

代码语言:javascript
复制
$world = new Typst\World();
$compiler = new Typst\Compiler($world);

const TEMPLATE = <<<'TYPST'
#set page(height: auto)
= Hello from Typst

开源技术小栈

This is a *bold* statement with _italic_ flair.
TYPST;

$document = $compiler->compileString(TEMPLATE);

$document->toPdf()->save('output.pdf');
$document->toImage()->save('output.png');
$document->toSvg()->save('output.svg');

更多详细文档请访问:https://ext-typst.carthage.software

支持的平台

平台

架构

Linux

x86_64

Linux

aarch64

macOS

arm64

支持的 PHP 版本:PHP 8.3、8.4、8.5

使用场景

这个扩展非常适合需要在 PHP Web 应用中动态生成高质量 PDF(如发票、报告、简历、学术论文等)的开发者。它提供了原生、高性能的 Typst 集成方式,远优于通过 exec() 调用外部命令的传统做法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 安装方式
    • 通过 PIE 安装(推荐)
    • 使用预编译二进制文件
    • IDE 与静态分析(推荐开发时安装)
  • 快速开始
  • 支持的平台
  • 使用场景
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档