Skip to main content

A tool to convert PPTX files to Typst Touying scripts.

Project description

pptx2typ

pptx2typ is a command-line tool that converts PowerPoint (.pptx) presentations into Typst scripts. This tool is designed to facilitate the transition from traditional slide presentations to customizable, script-based documents, a baby step before you leverage the power of Typst's typesetting capabilities.

📝 Features

  • Convert PPTX to Typst: Seamlessly transform your PowerPoint presentations into Typst scripts.
  • Image Extraction: Automatically extract and include images from slides into the Typst document.
  • Table Support: Extract and format tables from your slides into Typst.
  • Text Formatting: Preserve text formatting, including bold, italics, underlines, and hyperlinks.

🚀 Installation

You can install pptx2typ using pipx, which allows you to run Python applications in isolated environments.

  1. Install pipx (if not already installed):
python -m pip install --user pipx
python -m pipx ensurepath

You may need to restart your terminal after this step.

  1. Install pptx2typ via pipx:
pipx install pptx2typ

Alternatively, if you have built the package locally, and install it using:

pipx install path/to/pptx2typ-0.1.0-py3-none-any.whl

🎯 Usage

Once installed, you can use the pptx2typ command in your terminal.

pptx2typ input.pptx -o output.typ -d images/ -t templates/fit_uiuc_theme.typ

📋 Command-Line Arguments

  • Positional Argument:

    • input_file: Path to the input PPTX file.
  • Optional Arguments:

    • -o, --output-file: Path to the output Typst file. Defaults to the input file's name with a .typ extension.
    • -d, --output-dir: Directory to save extracted images. Defaults to cwd/"assets".
    • -t, --theme: Theme to use for the Typst slides. Defaults to university. Provide a path if using a custom theme.

📚 Example

pptx2typ presentation.pptx -o presentation.typ -d ./assets -t dewdrop

This command will:

  • Convert presentation.pptx to presentation.typ.
  • Extract images into the ./assets directory.
  • Apply the dewdrop theme.

🧑‍💻 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the Repository

  2. Create a Feature Branch

    git checkout -b feature/YourFeature
    
  3. Commit Your Changes

    git commit -m "Add YourFeature"
    
  4. Push to the Branch

    git push origin feature/YourFeature
    
  5. Open a Pull Request

    Describe your changes and submit the pull request for review.

📄 License

This project is licensed under the MIT License.

📫 Contact

For any inquiries or support, please contact your-email@example.com.

💡 Acknowledgements

  • python-pptx for handling PowerPoint files.
  • Typst for providing a powerful typesetting system.
  • Rich for beautiful terminal output.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pptx2typ-0.1.1.tar.gz (6.9 kB view hashes)

Uploaded Source

Built Distribution

pptx2typ-0.1.1-py3-none-any.whl (7.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page