首页 新闻 搜索 专区 学院

php读取ppt、pptx文件内容的插件有用过的么?

0
悬赏园豆:5 [已解决问题] 解决于 2017-06-03 11:01

网上都是phppowerpoint,但所有的文章都是新建ppt文件,没有读取内容的。即使有些文章标题是读取,内容也是新建ppt文件。

 

所以有没有其它的php控件可以读取ppt文件内容啊

lippor的主页 lippor | 初学一级 | 园豆:59
提问于:2017-06-01 19:06
< >
分享
最佳答案
0

这个搜一下不就有了吗,https://github.com/PHPOffice/PHPPresentation

例子也有标明了  https://github.com/PHPOffice/PHPPresentation/tree/develop/samples

收获园豆:5
TCG2008 | 小虾三级 |园豆:1145 | 2017-06-01 21:03

这个我用过了,而且弄了一天,这里面都是怎么创建一个ppt,或者修改。没有读。里面有个reader的文件夹,但是里面函数全是load相关的,就是加载ppt文件,然后获取当前第几页。然后就是编辑了。

不把百度结果都试一遍,真不愿意来论坛问,首先不能得到及时反馈,其次问个问题也没几个人看。只能碰运气

lippor | 园豆:59 (初学一级) | 2017-06-02 09:16

@lippor: 

不知道你要读取什么内容,读取文本等内容,自带的例子samples\Sample_12_Reader_PowerPoint2007.php 就很清楚了,我运行结果如下

Sample 12 Reader PowerPoint2007

    PhpPresentation
        Info "PhpPresentation"
        Slide
            Info "Slide"
            Shape "RichText"
            Shape "RichText"
        Slide
            Info "Slide"
            Shape "RichText"
            Shape "RichText"

HashCode
    a2a25f2b5ee362a8d8e8eae2e9c61cfa
Offset X
    0
Offset Y
    0
Height
    0
Width
    0
Rotation
    0°
Hyperlink
    False
Fill
    @Todo
Border
    @Todo
IsPlaceholder
    true
# of paragraphs
    1
Inset (T / R / B / L)
    4.8px / 9.6px / 4.8px / 9.6px
Text
    Paragraph

    Alignment Horizontal
        Alignment::HORIZONTAL_GENERAL
    Alignment Vertical
        Alignment::VERTICAL_BASE
    Alignment Margin (L / R)
        0 px / 0px
    Alignment Indent
        0 px
    Alignment Level
        0
    Bullet Style
        Bullet::TYPE_NONE
    Line Spacing
        100
    RichText

        TextElement
            演示标题

            Font Name
                Calibri
            Font Size
                10
            Font Color
                #FF000000
            Font Transform
                Bold : N - Italic : N - Underline : Underline::UNDERLINE_NONE - Strikethrough : N - SubScript : N - SuperScript : N
TCG2008 | 园豆:1145 (小虾三级) | 2017-06-02 21:06

@TCG2008: 

我把那个问题解决了,贴出来,如果有人需要直接拿走。

$c=$oPHPPresentation->getSlideCount();

for ($i = 0; $i < count($c); $i++) {
$oSlide=$oPHPPresentation->getSlide($i);
$sc=$oSlide->getShapeCollection()->serialize();
preg_match_all("/[\x{4e00}-\x{9fa5}]/u", $sc, $x);
$b = join("", $x[0]);
$text=$text.$b;
}

 

每一页进行serialize 处理,然后用正则把汉字匹配出来。然后我就可以做自己的处理了。

lippor | 园豆:59 (初学一级) | 2017-06-03 11:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册