@skillful-ai/piece-latex-to-pdf
v0.0.10
Published
Compile LaTeX documents to PDF using the Skillful LaTeX Compiler Service.
Downloads
1,059
Keywords
Readme
LaTeX to PDF Piece
Compile LaTeX documents to PDF using the Skillful LaTeX Compiler Service.
Features
- ✅ Compile
.texfiles to PDF - ✅ Support for
pdflatexandxelatexcompilers - ✅ Multiple output formats: URL (presigned) or Base64
- ✅ Async compilation with automatic polling
- ✅ Detailed error messages with compilation logs
Authentication
Configure the piece with (all optional):
| Field | Description | |-------|-------------| | Service URL | Custom LaTeX service URL. Defaults to Skillful's service. | | API Key | API key for authenticated requests. |
Actions
Compile LaTeX
Compiles a LaTeX document and returns the PDF.
Inputs:
| Property | Type | Required | Default | Description |
|----------|------|----------|---------|-------------|
| latexContent | Long Text | ✅ | - | The LaTeX source code to compile |
| filename | Short Text | ✅ | main.tex | Name of the .tex file |
| compiler | Dropdown | ✅ | xelatex | Compiler: xelatex or pdflatex |
| outputFormat | Dropdown | ✅ | url | Output: url or base64 |
Outputs (Success):
{
"success": true,
"jobId": "550e8400-e29b-41d4-a716-446655440000",
"pdfUrl": "https://s3.amazonaws.com/.../output.pdf",
"logUrl": "https://s3.amazonaws.com/.../output.log",
"durationMs": 3500,
"pdfSizeBytes": 125000,
"compiler": "xelatex",
"filename": "main.tex"
}Outputs (Failure):
{
"success": false,
"error": "Undefined control sequence \\invalid",
"jobId": "550e8400-e29b-41d4-a716-446655440000",
"logUrl": "https://s3.amazonaws.com/.../error.log"
}Example Usage
Simple Document
\documentclass{article}
\begin{document}
Hello, World!
\end{document}Document with Unicode (use XeLaTeX)
\documentclass{article}
\usepackage{fontspec}
\begin{document}
Hello, 世界! مرحبا
\end{document}Building
npx nx build pieces-latex-to-pdfTesting
npx nx test pieces-latex-to-pdfDevelopment
Add to AP_DEV_PIECES in packages/server/api/.env:
AP_DEV_PIECES="...,latex-to-pdf"Then restart the backend and refresh the frontend.
Service API
The piece uses the Skillful LaTeX Compiler Service:
- Base URL:
https://m9tbwb9jhi.execute-api.us-west-2.amazonaws.com/dev - Docs:
https://m9tbwb9jhi.execute-api.us-west-2.amazonaws.com/dev/docs
| Method | Endpoint | Description |
|--------|----------|-------------|
| POST | /compile | Submit LaTeX for compilation |
| GET | /compile/{job_id} | Get compilation status |
| GET | /health | Health check |
