基于qt把ppt转换成pdf

白昼怎懂夜的黑 提交于 2020-01-16 03:12:15
void MainWindow::on_pushButton_2_clicked()
{
    QString fileName = "C:\\Users\\Administrator\\Desktop\\1112.pptx";
    QAxObject *_powerPointAxObj = new QAxObject("Powerpoint.Application", 0);
    if (!_powerPointAxObj)
    {
        _powerPointAxObj = new QAxObject("KWPP.Application", 0);
         if (!_powerPointAxObj)
         {
             return;
         }
    }
    _powerPointAxObj->dynamicCall("SetVisible(bool)", false);
    QAxObject *presentations = _powerPointAxObj->querySubObject("Presentations");
    QList<QVariant> paramList;
    paramList.push_back(QVariant(fileName));
    paramList.push_back(0);
    paramList.push_back(0);
    paramList.push_back(0);
    QAxObject *presentation = presentations->querySubObject("Open(const QString&,int,int,int)",paramList);
    if (presentation != nullptr)
    {
        paramList.clear();
        QString application_path = QApplication::applicationDirPath();
        application_path.replace("/", "\\");
        application_path += "\\ShowFile.pdf";
        paramList.push_back(application_path);
        paramList.push_back(32);
        paramList.push_back(0);
        presentation->dynamicCall("SaveAs(const QString&,int,int)", paramList);
        presentations->dynamicCall("Close()");  
        delete presentations;
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!