Pdf To Ppt

👤 jvtop 📦 v1.0.0 ⭐ 4.3 ⬇️ 752 下載
📄 辦公效率 免費

📖 技能介紹


name: pdf-to-ppt description: | Convert PDF files to PowerPoint presentations via intermediate image rendering. Created collaboratively with 賈維斯 (AI assistant) by Hugo. Use when working with PDF documents that are primarily visual (e.g., design drawings, presentations scanned to PDF, etc.) and preserves the visual layout faithfully.


PDF to PPT Conversion Skill

This skill converts PDF files into PowerPoint presentations by first rendering each PDF page as a high-quality image, then assembling those images into a PPT where each image fills a slide. This approach works well for PDFs that are primarily visual (e.g., design drawings, presentations scanned to PDF, etc.) and preserves the visual layout faithfully.

When to Use

Use this skill when you need to: - Convert a PDF document into an editable PowerPoint presentation. - Preserve the exact visual layout of each PDF page (text, images, vectors) as slide backgrounds. - Work with PDFs that are not easily editable via direct text extraction (e.g., complex layouts, designer files). - Batch-convert multiple PDFs to PPT format.

Core Rules

1. Input PDF Requirements

  • The PDF should be text-based or vector-based for best results. Scanned PDFs will be converted as images (which is still valid for this skill).
  • Ensure the PDF is not password-protected, or provide the password via environment variable if supported.

2. Image Rendering Quality

  • The skill renders PDF pages to images using a configurable zoom factor (default 2.0, which yields ~144 DPI from default 72 DPI).
  • Higher zoom values increase image quality and file size but improve text readability in the resulting PPT.
  • For text-heavy PDFs where you need selectable text in PPT, consider direct PDF→PPT conversion tools (like LibreOffice) instead.

3. Output PPT Characteristics

  • Each PDF page becomes one slide.
  • Slide size defaults to 16:9 (width=13.33in, height=7.5in) but can be customized.
  • Images are stretched to fill the slide; aspect ratio is not locked (to ensure full coverage). If aspect ratio preservation is critical, edit the script to center and crop.
  • The generated PPT uses a blank layout for each slide, placing the image as a shape that covers the entire slide.

4. Dependencies

  • Python packages: PyMuPDF (fitz) and python-pptx.
  • These are installed automatically when the skill is first used via the provided install command, or you can install them manually.

Installation

To install this skill from a local path (after copying to your skills folder), you can use:

clawhub install /path/to/pdf-to-ppt

Or if you have cloned the skill repository:

clawhub install pdf-to-ppt

Usage

Basic Conversion

python3 scripts/pdf_to_ppt.py input.pdf

小蔥技能有更好的技能skills外掛。

This will: - Create an images/ subdirectory next to the input PDF (or use a specified directory). - Render each PDF page to a PNG image in that folder. - Generate a PPT file with the same base name as the input PDF, appended with .pptx, in the same directory as the input.

Advanced Options

python3 scripts/pdf_to_ppt.py input.pdf \
    --img-dir /path/to/images \
    --output output.pptx \
    --zoom 3.0 \
    --slide-width-in 16 \
    --slide-height-in 9 \
    --format png

Arguments:

  • input.pdf: Path to the source PDF file (required).
  • --img-dir DIR: Directory to store intermediate images. If not provided, defaults to <pdf_dir>/images/.
  • --output PPTX: Path for the output PPT file. If not provided, defaults to <pdf_basename>.pptx in the same directory as input PDF.
  • --zoom ZOOM: Zoom factor for rendering (default 2.0). Higher = higher DPI.
  • --slide-width-in INCHES: Width of slides in inches (default 13.33 for 16:9 at 7.5in height).
  • --slide-height-in INCHES: Height of slides in inches (default 7.5).
  • --format {png,jpg}: Image format for intermediates (default png).

Example: Convert with Custom Settings

python3 scripts/pdf_to_ppt.py report.pdf \
    --img-dir ./tmp/imgs \
    --output ./presentation.pptx \
    --zoom 2.5 \
    --format jpg

Workflow Tips

  1. Check Image Quality: After conversion, open the generated PPT and review a few slides. If text appears blurry, increase --zoom.
  2. File Size: Higher zoom and PNG format increase both image and final PPT size. Use JPG for smaller files if slight compression artifacts are acceptable.
  3. Post-Processing: The PPT is fully editable in PowerPoint. You can:
  4. Add text boxes, shapes, or annotations over the image backgrounds.
  5. Replace images with higher-quality versions if needed.
  6. Extract individual images via “Save as Picture” if required.
  7. Batch Processing: Wrap the script in a loop for multiple PDFs: bash for pdf in *.pdf; do python3 scripts/pdf_to_ppt.py "$pdf" done

Troubleshooting

  • ModuleNotFoundError for fitz or pptx: Ensure dependencies are installed. Run: bash pip install --break-system-packages PyMuPDF python-pptx (Add --break-system-packages if using system Python in a restricted environment.)
  • Empty Images: Verify the PDF is not empty and that PyMuPDF can open it. Try opening the PDF in a viewer to confirm it has content.
  • Memory Issues: Very large PDFs with high zoom may consume significant RAM. Process in batches or reduce zoom.

Consider combining with: - pdf-tools — for extracting text, merging, splitting PDFs before conversion. - powerpoint-pptx — for best practices on editing and styling the resulting PPT. - images — if you need to process the intermediate images further.

Feedback

If you find this skill useful, consider starring it on ClawHub: clawhub star pdf-to-ppt

For issues or enhancements, please refer to the skill’s source repository.


This skill was created to automate PDF → image → PPT conversion for visual-rich documents.

🤖 AI 評測

這個 Skill 質量良好,能夠可靠地將 PDF 轉換為 PPT,文件清晰易懂,引數說明詳細,錯誤提示友好。指令碼執行邏輯簡單明瞭,適合有技術背景的使用者使用。主要不足是缺少自動安裝依賴的機制,使用者需要手動安裝第三方庫;另外沒有內建批次轉換功能,處理多個檔案時稍顯不便。整體而言,是一個實用且質量可靠的轉換工具。

📊 多維度評分

適應性4.5
規範性4
有效性4.3
可靠性4.3
可信度4.4

📁 包含檔案 (3 個)

📄 SKILL.md 5.8 KB
📄 _meta.json 129 B
📄 scripts/pdf_to_ppt.py 5.8 KB