-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Pandoc wrappers and interfaces
Several wrappers and interfaces exist to use pandoc in other programming languages or via a graphical user interface (GUI). A wrappers can be used to run the pandoc executable while an interface give access to the abstract syntax tree (AST) of Pandoc documents, for instance to create pandoc filters. A writer is an interface that can only be used to create pandoc documents but not to modify them.
| Name and link | Language | Type | Maintainer |
|---|---|---|---|
| pypandoc | Python | wrapper | Juho Vepsäläinen |
| Pyandoc | Python | wrapper | Kenneth Reitz |
| panflute | Python | interface | Sergio Correia |
| pandocfilters | Python | interface | John MacFarlane |
| pandoc-ruby | Ruby | wrapper | William Melody |
| Pandoku | Ruby | wrapper | Hong Minhee |
| Paru | Ruby | wrapper and interface | Huub de Beer |
| libpandoc | C | wrapper | Shahbaz Youssefi |
| pander | R | writer | Gergely Daróczi |
| scala-pandoc | Scala | wrapper | Paul Vorbach |
| node-pdc | JavaScript | wrapper | Paul Vorbach |
| simple-pandoc | JavaScript | wrapper | Hyunje Jun |
| paja | JavaScript | wrapper | Huub de Beer |
| pandoc-filter | JavaScript | interface | Mike Henderson |
| groovy-pandoc | Groovy | interface | Dennis Frommknecht |
| Pandoc | Perl | wrapper | Jakob Voß |
| Pandoc::Elements | Perl | interface | Jakob Voß |
| Universal Document Converter | Java | wrapper | Leonardo S. De Seta |
| pandocfilters-php | PHP | interface | Vinai Kopp |
| Pandoctor | Python | GUI | Stephen Margheim |
| PanConvert (GitHub, SourceForge) | Python | GUI | Andreas Paeffgen |
| PasPandoc | Pascal | wrapper | Huub de Beer |
| Paperify (Github) | Web | interface | olastor |
| Typademic (Github | Web | interface | Moritz Mähr |
""" XXX DEX PPT Generator - 主入口文件 生成深色科技风格的XXX DEX产品演示PPT """
from fastapi import FastAPI, File, UploadFile, HTTPException from fastapi.responses import FileResponse from fastapi.middleware.cors import CORSMiddleware from src.ppt_generator import XXXDEXPPTGenerator import uvicorn import os import tempfile
app = FastAPI( title="XXX DEX PPT Generator", description="生成XXX DEX产品演示PPT的自动化工具", version="1.0.0" )
app.add_middleware( CORSMiddleware, allow_origins=[""], allow_credentials=True, allow_methods=[""], allow_headers=["*"], )
@app.post("/generate-ppt") async def generate_ppt(): """生成PPTX文件并返回下载链接""" try: generator = XXXDEXPPTGenerator()
# 创建临时文件
with tempfile.NamedTemporaryFile(suffix='.pptx', delete=False) as tmp_file:
tmp_path = tmp_file.name
# 生成PPT
generator.create_presentation(tmp_path)
return FileResponse(
tmp_path,
media_type="application/vnd.openxmlformats-officedocument.presentationml.presentation",
filename="XXX-DEX-产品演示.pptx"
)
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@app.get("/health") async def health_check(): """健康检查接口""" return {"status": "healthy", "service": "XXX DEX PPT Generator"}
if name == "main": uvicorn.run(app, host="0.0.0.0", port=8000)