Как получить тип диаграммы в файле PowerPoint через POI? - PullRequest
0 голосов
/ 07 мая 2020

Powerpoint позволяет пользователю изменять тип диаграммы, например,

enter image description here

Я хотел бы иметь возможность определять тип диаграммы программно с помощью of Apache POI.

Вот лог c в jython

from java.io import ObjectInputStream, FileInputStream, BufferedInputStream, IOException
from org.apache.poi.xslf.usermodel import XMLSlideShow
from org.apache.poi.sl.extractor import SlideShowExtractor
from com.jcabi.xml import XMLDocument
from org.apache.poi.xslf.usermodel import XSLFChart

from org.apache.poi.openxml4j.exceptions import NotOfficeXmlFileException
from org.apache.poi import EmptyFileException
from org.apache.poi.ooxml import POIXMLException


def extract_table(ppt):
    ps = ppt.getSlides()
    tables = []
    for pn, p in enumerate(ps):
        for shape in p.getRelations():
            if type(shape) == XSLFChart:
                ctchart = shape.getCTChart()
                print ctchart.type

def get_slide_file_obj(fn):
    ffn = os.path.abspath(fn)
    fis = FileInputStream(ffn)
    return XMLSlideShow(fis)

if __name__ == "__main__":
    ppt = get_slide_file_obj("/myproject/test.ppts")
    extract_table(ppt)

Я надеялся, что строка print ctchart.type может распечатать тип диаграммы.

Однако тип T=CT_Chart@http://schemas.openxmlformats.org/drawingml/2006/chart для всех разных диаграмм в PowerPoint.

Как я могу получить имя типа диаграммы, например Pie или Line?

...