- Added
compiler.CompileToDocument(...), returning a disposableTypstDocumentthat exposes the rendered output while it is still in the memory the native library allocated.GetOutputSpan,OpenOutputStream,CopyOutputTo,WriteOutputToFileandRentOutputread it without putting a multi-megabyte PDF on the large object heap;GetOutputBytescopies when abyte[]is what you need. - Added easier PDF compilation APIs on
TypstCompiler:compiler.CompilePdf(...)returning aPdfResult(with implicit conversion tobyte[],ReadOnlySpan<byte>, andReadOnlyMemory<byte>).compiler.CompilePdf(string outputFile)/compiler.CompilePdfAsync(string outputFile)for direct file saving.compiler.CompilePdf(Stream destination)/compiler.CompilePdfAsync(Stream destination)for stream output.- Static
TypstCompiler.CompilePdf(...)andTypstCompiler.CompilePdfFromFile(...)for quick one-line compilations. compiler.CompileSvg(...)andcompiler.CompilePng(...)for format-specific image export.outcome.AsPdf()andoutcome.PrimaryBufferonCompileOutcome.
- Added
includeSystemPackagestoTypstCompiler. Setting it tofalseresolves packages frompackagePathonly, so an import that is not vendored there fails instead of being downloaded from Typst Universe and compilation stays off the network. - Added support for compiling Typst documents with multiple PDF standards simultaneously (e.g.
v-1.7,a-2b, etc.) by exposing apdfStandardsparameter in theTypstCompiler.CompileAPI, leveraging the underlyingtypst-pdfcrate updates in Typst 0.15.
compiler.CompilePdf(Stream),compiler.CompilePdfAsync(Stream),compiler.CompilePdf(string outputFile)andcompiler.CompilePdfAsync(string outputFile)now stream the document straight from native memory to the destination and return the compiler warnings, rather than returning aPdfResultthat had to be materialised on the managed heap first. Usecompiler.CompilePdf()when you want the bytes.compiler.Compile(outputFile, format)andcompiler.CompileSvg(...)no longer copy the rendered output onto the managed heap before writing or decoding it.