BYPASS SHELL BY ./RAZORGANZ
Server: nginx/1.20.1
System: Linux iZdzfnv9mwfppeZ 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64
User: apache (48)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /var/www/pdf2pptx/app.py
from flask import Flask, request, jsonify, send_from_directory
import os
from pdf2pptx import convert_pdf_to_pptx

app = Flask(__name__)

UPLOAD_FOLDER = '/var/www/pdf2pptx/uploads'
OUTPUT_FOLDER = '/var/www/pdf2pptx/output'
os.makedirs(UPLOAD_FOLDER, exist_ok=True)
os.makedirs(OUTPUT_FOLDER, exist_ok=True)

@app.route('/')
def index():
    return send_from_directory('/var/www/pdf2pptx', 'index.html')

@app.route('/convert', methods=['POST'])
def convert():
    if 'pdf' not in request.files:
        return jsonify({'error': '未上传PDF文件'}), 400

    pdf_file = request.files['pdf']
    if pdf_file.filename == '':
        return jsonify({'error': '未选择文件'}), 400

    if not pdf_file.filename.endswith('.pdf'):
        return jsonify({'error': '仅支持PDF文件'}), 400

    pdf_path = os.path.join(UPLOAD_FOLDER, pdf_file.filename)
    pptx_filename = pdf_file.filename.replace('.pdf', '.pptx')
    pptx_path = os.path.join(OUTPUT_FOLDER, pptx_filename)

    try:
        pdf_file.save(pdf_path)
        convert_pdf_to_pptx(pdf_path, pptx_path)
        return jsonify({'download_url': f'/output/{pptx_filename}'})
    except Exception as e:
        return jsonify({'error': str(e)}), 500

@app.route('/output/<filename>')
def download_file(filename):
    return send_from_directory(OUTPUT_FOLDER, filename)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)