在Python中将ppt文件转换为pptx

时间:2017-08-14 08:06:14

标签: python python-2.7 powerpoint

有没有办法将.ppt文件转换为.pptx文件。

目标:我需要从.ppt文件中提取表格中的文字(列名称为姓名,地址,联系电话,电子邮件等)。为此,我采用了这种方法:

我将.ppt文件转换为pdf,然后使用PDFminer从pdf中提取数据。从pdf中提取的文本不会被任何分隔符分隔。因此,很难区分表中的名称和其他字段。

我正在研究的可能解决方案:

  1. 将.ppt文件转换为.pptx
  2. 解析.pptx文件的xml以获取格式化文本
  3. 我在第一步将文件格式从.ppt转换为.pptx。 我找不到任何解决方案将.ppt文件格式转换为python中的.pptx formt。

2 个答案:

答案 0 :(得分:1)

我创建了此代码,希望它对您有用:

import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.types._  //import everything from the package    
import org.apache.spark.sql.expressions.{Window => W} 
import org.apache.spark.sql.{functions => F}
import org.apache.spark.SparkContext
import com.amazonaws.services.glue.GlueContext
import com.amazonaws.services.glue.util.GlueArgParser 

import com.amazonaws.services.glue.DynamicFrame

import com.amazonaws.regions.Regions
import com.amazonaws.services.glue.model._

import com.amazonaws.services.glue.{AWSGlue, AWSGlueClient}
import scala.collection.JavaConverters.{mapAsJavaMapConverter, seqAsJavaListConverter}
import com.amazonaws.services.sagemaker.sparksdk.IAMRole

val sc = spark.sparkContext
val glueContext: GlueContext = new GlueContext(sc)

val region = Regions.fromName("us-east-1")

// Function to create AWS glue client
def glueClient(region: Regions):
AWSGlue = AWSGlueClient.builder().withRegion(region).build()

val glue = glueClient(region =region)

glue.getConnection("{Name: name-of-embedded-connection,HidePassword: False}")

答案 1 :(得分:0)

对于MacOS Homebrew用户:安装Apache Tika(brew install tika

命令行界面的工作方式如下:

tika --text something.ppt > something.txt

并在python脚本中使用它:

import os
os.system("tika --text temp.ppt > temp.txt")

你将能够做到这一点,这是我迄今为止唯一的解决方案。