精华内容
下载资源
问答
  • 2021-02-04 02:04:22

    代码功能:把PowerPoint 2003以及更低版本的ppt文件批量转换为PowerPoint 2007及更高版本的pptx文件。

    代码原理:模拟使用PowerPoint软件打开ppt文件然后另存为pptx文件的操作。

    要求:正确安装MS Office 2007及以上版本,正确安装Python扩展库pywin32。

    参考代码:import os

    import os.path

    import win32com

    import win32com.client

    def ppt2pptx(path):

    for subPath in os.listdir(path):

    subPath = os.path.join(path,subPath)

    if os.path.isdir(subPath):

    pptCount(subPath)

    elif subPath.endswith('.ppt'):

    print(subPath)

    powerpoint = win32com.client.Dispatch('PowerPoint.Application')

    win32com.client.gencache.EnsureDispatch('PowerPoint.Application')

    powerpoint.Visible = 1

    ppt = powerpoint.Presentations.Open(subPath)

    ppt.SaveAs(subPath[:-4]+'.pptx')

    # powerpoint.Quit()    #启动报错ppt2pptx('C:\\Users\\sclzboy\\Desktop\\123')

    更多相关内容
  • java ppt/pptx转图片所需要的全部jar包 ,2003,2007,的都可以
  • pptpptx转html小工具

    2018-07-27 11:15:19
    可以实现pptpptx格式的文件转换为html形式的vbs代码。
  • ppt/pptx转exe工具

    2020-04-13 09:14:50
    该工具可以转换pptpptx,输出exe文件,方便随时播放,占内存小。同时支持打包视频、音频、超链接地址等内容,再也不用担心ppt兼容性问题
  • Java使用apache的poi将PPT转PDF文件,支持并兼容PPTPPTX文件 前言:使用apache的poi,免费 废话不多说,贴代码: package com.junit; import java.awt.Color; import java.awt.Dimension; import java.awt....

    Java使用apache的poi将PPT转PDF文件,支持并兼容PPT和PPTX文件

    前言:使用apache的poi,免费

    废话不多说,贴代码:

    package com.junit;
    
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Graphics2D;
    import java.awt.geom.AffineTransform;
    import java.awt.geom.Rectangle2D;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.List;
    
    import org.apache.poi.hslf.usermodel.HSLFSlide;
    import org.apache.poi.hslf.usermodel.HSLFSlideShow;
    import org.apache.poi.xslf.usermodel.XMLSlideShow;
    import org.apache.poi.xslf.usermodel.XSLFSlide;
    
    import com.itextpdf.text.Document;
    import com.itextpdf.text.Image;
    import com.itextpdf.text.Rectangle;
    import com.itextpdf.text.pdf.PdfPCell;
    import com.itextpdf.text.pdf.PdfPTable;
    import com.itextpdf.text.pdf.PdfWriter;
    
    public class PPTtoPDF {
    	private static final String path = "D:\\_my_del\\ppt\\";
    
    	public static void main(String[] args) throws Exception {
    		File file2 = new File(path + "ResultG/");
    		if (!file2.exists())
    			file2.mkdirs();
    
    		File file = new File(path);
    		for (File f : file.listFiles()) {
    			if (!f.isFile())
    				continue;
    			file2 = new File(path + "ResultG/" + file.getName() + ".pdf");
    			if (!file2.exists())
    				file2.createNewFile();
    			new PPTtoPDF().convertPPTToPDF(f, file2);
    		}
    	}
    
    	public boolean convertPPTToPDF(File file, File toFile) {
    		try {
    			Document pdfDocument = new Document();
    			PdfWriter pdfWriter = PdfWriter.getInstance(pdfDocument, new FileOutputStream(toFile));
    			FileInputStream is = new FileInputStream(file);
    			HSLFSlideShow hslfSlideShow = convertPPTToPDFByPPT(is);
    			double zoom = 2;
    			if (hslfSlideShow == null) {
    				is = new FileInputStream(file);
    				XMLSlideShow ppt = convertPPTToPDFByPPTX(is);
    				if (ppt == null) {
    					throw new NullPointerException("This PPTX get data is error....");
    				}
    				Dimension pgsize = ppt.getPageSize();
    				List<XSLFSlide> slide = ppt.getSlides();
    				AffineTransform at = new AffineTransform();
    				at.setToScale(zoom, zoom);
    				pdfDocument.setPageSize(new Rectangle((float) pgsize.getWidth(), (float) pgsize.getHeight()));
    				pdfWriter.open();
    				pdfDocument.open();
    				PdfPTable table = new PdfPTable(1);
    				for (XSLFSlide xslfSlide : slide) {
    					BufferedImage img = new BufferedImage((int) Math.ceil(pgsize.width * zoom), (int) Math.ceil(pgsize.height * zoom), BufferedImage.TYPE_INT_RGB);
    					Graphics2D graphics = img.createGraphics();
    					graphics.setTransform(at);
    
    					graphics.setPaint(Color.white);
    					graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
    					xslfSlide.draw(graphics);
    					graphics.getPaint();
    					Image slideImage = Image.getInstance(img, null);
    					table.addCell(new PdfPCell(slideImage, true));
    				}
    				ppt.close();
    				pdfDocument.add(table);
    				pdfDocument.close();
    				pdfWriter.close();
    				System.out.println(file.getAbsolutePath() + "Powerpoint file converted to PDF successfully");
    				return true;
    			}
    
    			Dimension pgsize = hslfSlideShow.getPageSize();
    			List<HSLFSlide> slides = hslfSlideShow.getSlides();
    			pdfDocument.setPageSize(new Rectangle((float) pgsize.getWidth(), (float) pgsize.getHeight()));
    			pdfWriter.open();
    			pdfDocument.open();
    			AffineTransform at = new AffineTransform();
    			PdfPTable table = new PdfPTable(1);
    			for (HSLFSlide hslfSlide : slides) {
    				BufferedImage img = new BufferedImage((int) Math.ceil(pgsize.width * zoom), (int) Math.ceil(pgsize.height * zoom), BufferedImage.TYPE_INT_RGB);
    				Graphics2D graphics = img.createGraphics();
    				graphics.setTransform(at);
    
    				graphics.setPaint(Color.white);
    				graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
    				hslfSlide.draw(graphics);
    				graphics.getPaint();
    				Image slideImage = Image.getInstance(img, null);
    				table.addCell(new PdfPCell(slideImage, true));
    			}
    			hslfSlideShow.close();
    			pdfDocument.add(table);
    			pdfDocument.close();
    			pdfWriter.close();
    			System.out.println(file.getAbsolutePath() + "Powerpoint file converted to PDF successfully");
    			return true;
    		} catch (Exception e) {
    			System.out.println(file.getAbsolutePath() + "--->" + e.getMessage());
    			return false;
    		}
    	}
    
    	private XMLSlideShow convertPPTToPDFByPPTX(FileInputStream is) {
    		try {
    			return new XMLSlideShow(is);
    		} catch (IOException e) {
    			return null;
    		}
    	}
    
    	private HSLFSlideShow convertPPTToPDFByPPT(FileInputStream is) {
    		try {
    			return new HSLFSlideShow(is);
    		} catch (Exception e) {
    			return null;
    		}
    	}
    }
    

    HSLFSlideShow 用于ppt文件,XMLSlideShow 用于pptx文件。

    该代码需要jar包支持,为方便下载,已上传至本资源库,链接:
    https://download.csdn.net/download/qq_26599807/12670074

    展开全文
  • import os from pptx import Presentation ...class PPT2Word(object): """将filepath对应的pptx文件中的文字提取,并保存为同名docx文档""" def __init__(self, filepath): self.wordfile = Document() self.
    import os
    from pptx import Presentation
    from docx import Document
    import os.path
    import win32com.client
    
    class PPT2Word(object):
    	"""将filepath对应的pptx文件中的文字提取,并保存为同名docx文档"""
        def __init__(self, filepath):
            self.wordfile = Document()
            self.filepath = filepath
            self.pptx = Presentation(self.filepath)
    
        def main(self):
            for slide in self.pptx.slides:
                for shape in slide.shapes:
                    if shape.has_text_frame:
                        text_frame = shape.text_frame
                        for paragraph in text_frame.paragraphs:
                            self.wordfile.add_paragraph(paragraph.text)
            save_path = self.filepath.replace(".pptx", ".docx").replace(".ppt", ".doc")
            self.wordfile.save(save_path)
    
    
    """
    新建目录,放入本文件、各个文件夹(文件夹内为待转换的若干ppt文件)
    """
    if __name__ == "__main__":
        powerpoint = win32com.client.Dispatch('PowerPoint.Application')
        win32com.client.gencache.EnsureDispatch('PowerPoint.Application')
        powerpoint.Visible = 1
    
        dir_list = os.listdir()
        dir_list.remove("select_word4ppt.py")
        if ".idea" in dir_list:
            dir_list.remove(".idea")
        print(dir_list)
        for dir in dir_list:
            ppt_list = os.listdir(dir)
            print(ppt_list)
            for ppt in ppt_list:
    			# 如果是ppt文件,先另存为pptx文件
                if ppt[-3:] == "ppt":
                    subPath = os.path.abspath(r"{}\{}".format(dir, ppt)) # 此处要为绝对路径
                    ppt1 = powerpoint.Presentations.Open(subPath)
                    ppt1.SaveAs(subPath[:-4] + '.pptx')
                    ppt = ppt + 'x'
                    print(ppt)
    			# 提取pptx文件中的文字并保存
                ppt2word = PPT2Word(filepath=r"{}\{}".format(dir, ppt))
                ppt2word.main()
    
    展开全文
  • PPTX格式转换成PPT

    2015-09-11 03:49:17
    将高版本的pptx格式的文件,转化为低版本的ppt,这样你的office2003就不用升级了
  • aspose我这里有两种实现方式,一种和poi类似,及通过png图片合成pdf.还有一种是直接生成pdf....aspose.slides-15.9.0.jar,而如果没有wordpdf的可以不用引入第二个 aspose-words-15.8.0-jdk16.jar, 并且这个

    aspose我这里有两种实现方式,一种和poi类似,及通过png图片合成pdf.还有一种是直接生成pdf.这两种我感觉第一种更灵活,因为专程图片后可以对图片处理,比如截图,压缩图片,设置透明度,缩放等等。并且这种处理方式要比直接生成pdf的好像是快点。但是这种快也不是差别很大。

    好了,下面是先准备工作,因为这个aspose需要依赖jar包。aspose.slides-15.9.0.jar,而如果没有word转pdf的可以不用引入第二个 aspose-words-15.8.0-jdk16.jar, 并且这个jar包不是通过maven引入的,虽然maven库里有这个,但是下不下来。需要在pom里做本地jar包引入的配置。

    1.在resources下新建个jar,然后将jar包放在里面。

    2.在pom中配置本地依赖的jar。这样打包也能打到项目中。

     <!--引入本地的office转pdf的破解版aspose jar包-->
            <dependency>
                <groupId>com.aspose</groupId>
                <artifactId>aspose-words</artifactId>
                <version>15.8.0</version>
                <scope>system</scope>
                <systemPath>${project.basedir}/src/main/resources/jar/aspose-words-15.8.0-jdk16.jar</systemPath>
            </dependency>
            <dependency>
                <groupId>com.aspose</groupId>
                <artifactId>aspose.slides</artifactId>
                <version>15.9.0</version>
                <scope>system</scope>
                <systemPath>${project.basedir}/src/main/resources/jar/aspose.slides-15.9.0.jar</systemPath>
            </dependency>
    
    
    
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <includeSystemScope>true</includeSystemScope>
                    </configuration>
                </plugin>
            </plugins>

    3.这两个jar包如果获取?

    链接: https://pan.baidu.com/s/1rxr73vtMIGWBDh2fuQAH9Q   提取码: r646

    链接: https://pan.baidu.com/s/1fdScUhysaATeKwph2HP0Wg 提取码: hbsc

    以上就是准备工作了。下一节贴具体实现

     

    展开全文
  • clickhouse知识点讲解
  • 音乐PPT.pptx

    2019-09-25 18:25:22
    音乐PPT.pptx,色彩斑点排列整齐,给人一种迷幻感。主色调为黑色,适用于音乐,美术等,通用模板
  • doc,docx,.xls,ppt,pptx,txt转换成pdf
  • ppt批量转为pptx格式。

    千次阅读 2020-02-18 16:48:45
    大家可能会有批量将ppt转为pptx格式的需求。 不过不要怕下面的代码,这只是让你粘贴复制的简单操作,不懂代码的完全不用担心。只要把代码中的一行,改成你的所有*.ppt文件所在路径即可。 废话不多说,步骤为: 1....
  • 使用POI将office(doc/docx/ppt/pptx/xls/xlsx)文件html格式
  • java实现ppt/pptx转图片,转pdf的两种方式之一 poi

    千次阅读 热门讨论 2020-06-19 12:17:26
    poi的实现方式是分步实现的,并不能直接将ppt,pptx转为pdf. 首先是maven依赖 1.pom.xm需要引入的依赖 <!--poi依赖--> <dependency> <groupId>org.apache.poi</groupId> <...
  • NULL 博文链接:https://chong0660.iteye.com/blog/1923760
  • 把字句和被字句的转换ppt.pptx.pptx
  • EAM培训PPT.pptx

    2022-05-14 10:49:16
    EAM培训PPT.pptx
  • 使用poi,pdfbox读取doc,docs,ppt,pptx,xls,xlsx,pdf,txt等各类文件内容,包含代码和jar包
  • PPT模板-绿色环境保护主题PPT.pptx
  • POI-3.14处理pptpptx

    2016-04-26 15:07:11
    新版POI-3.14解决poi之前版本ppt读取不完整bug
  • 信用管理ppt.pptx

    2021-09-21 09:37:13
    信用管理ppt.pptx
  • 外汇投资ppt.pptx

    2021-09-21 05:01:14
    外汇投资ppt.pptx
  • 税务基础知识培训PPT.pptx
  • 教学PPT.pptx

    2019-09-25 18:34:20
    教学PPT.pptx,主色调为灰色,适用于课件等。
  • PPT模板-中国风复古梅花PPT.pptx
  • 外汇管理概论ppt-ppt.pptx
  • 惠普电脑演讲PPT.pptx

    2021-09-23 11:14:08
    惠普电脑演讲PPT.pptx
  • 电商数据分析ppt.pptx

    2021-09-24 07:45:36
    电商数据分析ppt.pptx
  • 护理工作流程PPt.pptx

    2021-09-23 10:14:57
    护理工作流程PPt.pptx
  • OA功能介绍PPT 软件发布会PPT.pptx

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 479,233
精华内容 191,693
关键字:

ppt转pptx