吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 761|回复: 36
收起左侧

[其他求助] 请大佬帮忙写个简单的功能性软件

  [复制链接]
ETH 发表于 2024-7-3 13:46
2000吾爱币
本帖最后由 ETH 于 2024-7-3 13:54 编辑

软件的功能:

取pdf、ppt的前10页 生成10张图

1页1图

可以批量操作

不满10页的可以跳过 或者生成一个日志记录  提示一下

分别保存在各自的文件夹里  文件夹 按pdf或者ppt的文件名命名  

如果有现成的软件就更好了  没有的话 不知道有没有大佬帮忙写一下

万分感谢大佬

最佳答案

查看完整内容

楼主您好!打包好了,路径必须是D:\PPTPDF2png,我测试的系统是Windows 10 企业版,测试文件压缩包里面有展示,就一个可执行文件pptpdf2png.exe 链接:https://pan.baidu.com/s/15m6fai6RuLxlhuXos0XNcA?pwd=feuh 提取码:feuh . 满意的话请结算啊

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

shuisanyue 发表于 2024-7-3 13:46
本帖最后由 shuisanyue 于 2024-7-3 19:34 编辑
ETH 发表于 2024-7-3 14:30
能编译出来用吗    我电脑上没有py

楼主您好!打包好了,路径必须是D:\PPTPDF2png,我测试的系统是Windows 10 企业版,测试文件压缩包里面有展示,就一个可执行文件pptpdf2png.exe


链接:https://pan.baidu.com/s/15m6fai6RuLxlhuXos0XNcA?pwd=feuh
提取码:feuh
.


满意的话请结算啊

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
ETH + 1 + 1 谢谢@Thanks!

查看全部评分

QMing 发表于 2024-7-3 13:51
xu2006 发表于 2024-7-3 13:54
 楼主| ETH 发表于 2024-7-3 13:55
xu2006 发表于 2024-7-3 13:54
需要带图形界面还是python也可以?

实现功能就行   
shuisanyue 发表于 2024-7-3 13:56
楼主您好
我来试一试……


用Python可以不?
wjbg2022 发表于 2024-7-3 13:57
转转大师 ,https://pdftoword.55.la/
johnson925 发表于 2024-7-3 14:00

支持库:
pip install pymupdf python-pptx Pillow


Python脚本:

import os  
import fitz  # PyMuPDF  
from pptx import Presentation  
from PIL import Image  
  
def extract_pdf_pages(pdf_path, output_dir):  
    doc = fitz.open(pdf_path)  
    if doc.page_count < 10:  
        print(f"Skipping {pdf_path} as it has less than 10 pages.")  
        return  
      
    if not os.path.exists(output_dir):  
        os.makedirs(output_dir)  
      
    for page_num in range(10):  
        page = doc.load_page(page_num)  
        pix = page.get_pixmap()  
        image_path = os.path.join(output_dir, f"page_{page_num+1}.png")  
        pix.save(image_path)  
        pix = None  # free memory  
      
    doc.close()  
  
def extract_ppt_slides(ppt_path, output_dir):  
    prs = Presentation(ppt_path)  
    if len(prs.slides) < 10:  
        print(f"Skipping {ppt_path} as it has less than 10 slides.")  
        return  
      
    if not os.path.exists(output_dir):  
        os.makedirs(output_dir)  
      
    for slide_num, slide in enumerate(prs.slides, start=1):  
        # This is a basic approach, assuming every slide can be converted to an image  
        # In reality, this might require more complex handling  
        image_path = os.path.join(output_dir, f"slide_{slide_num}.png")  
        slide.save(image_path, 'PNG')  
      
    prs.close()  
  
def process_files(directory, file_ext):  
    for filename in os.listdir(directory):  
        if filename.endswith(file_ext):  
            file_path = os.path.join(directory, filename)  
            output_dir = os.path.splitext(filename)[0]  
            if file_ext == '.pdf':  
                extract_pdf_pages(file_path, output_dir)  
            elif file_ext == '.pptx':  
                extract_ppt_slides(file_path, output_dir)  
  
# Example usage  
process_files('path_to_your_files', '.pdf')  # Process all PDF files  
process_files('path_to_your_files', '.pptx')  # Process all PPTX files

注意事项:

    内存管理:在处理大型PDF或PPT文件时,注意内存使用。在extract_pdf_pages函数中,我们通过显式地将pix设置为None来释放内存。
    PPT图像保存:python-pptx库中的slide.save()方法可能不是所有情况下都适用,因为它依赖于slide中的对象是否可以直接转换为图像。在某些情况下,你可能需要更复杂的图像生成方法,如使用win32com库(Windows特有)或截图工具。
    错误处理:在生产环境中,你可能需要添加更多的错误处理逻辑,如处理文件读取错误、权限问题等。
    日志记录:你可以使用Python的logging模块来记录跳过文件的信息或其他重要的日志信息。
 楼主| ETH 发表于 2024-7-3 14:07
wjbg2022 发表于 2024-7-3 13:57
转转大师 ,https://pdftoword.55.la/

你好 这个我测试过   但是都有大大的水印   所以才发帖希望可以写一个  不过还是谢谢你的回复
chuanglue 发表于 2024-7-3 14:08
写码,抱歉不会。倒是有个更好的现成软件,详见私信
一款是:PPT拼图(快速将PPT拼成商业展示用的图片)。
一款是:pdf转长图片工具
两者都是52坛子里面的宝贝,能很好满足你的需求,唯一美中不足的是无法按页码设定转图片。
当然解决方法是,你将ppt或pdf用工具软件先按页数批量拆分即可有效解决。
已私信,请查收!

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
ETH + 1 + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-12 10:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表