yewanji 2024-01-06 09:57 采纳率: 34.2%
浏览 157
已结题

c++ 如何实现word文档或者ppt转成pdf 或者图片之类的

我们目前需要用c++ 实现将word、excel表格、ppt 等转成pdf进行预览,类似wps一样,能直接在用户本地窗口预览文件,起初想用aspose,但是aspose并不便宜,需要10w多人民币,方案被驳回了,然后我又试了一下libreoffice,但是这玩意太大了,绿色版大概都在500mb这样,目前好像没有人能将核心api抽离出来给c++工程调用,
需求:要一个开源好用且无需额外安装就能实现文档转换的工具

  • 写回答

19条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-01-06 10:00
    关注

    引自免费微信小程序:皆我百晓生

    在C++中实现将Word文档、Excel表格、PPT等转成PDF或者图片,可以考虑使用以下开源工具:

    1. LibreOffice

      • LibreOffice是一个强大的开源办公套件,它提供了转换文档格式的功能。
      • 可以通过将文档打开并使用LibreOffice的导出功能将文件转换为PDF或者图片。
      • 你提到的LibreOffice体积较大的问题可以使用LibreOffice的命令行工具来解决,通过自定义命令行参数,只安装并使用必要的组件,可以减小体积。
      • 下面是使用LibreOffice命令行工具将文档转换为PDF的示例代码:
      #include <cstdlib>
      
      int main()
      {
          system("soffice --convert-to pdf input.docx --headless");
          return 0;
      }
      
    2. Pandoc

      • Pandoc是另一个用于文档转换的开源工具,它支持多种文档格式之间的转换,包括Word、Excel和PPT等。
      • 可以通过使用Pandoc的命令行工具来将文档转换为PDF或者其他格式。
      • 下面是使用Pandoc命令行工具将文档转换为PDF的示例代码:
      #include <cstdlib>
      
      int main()
      {
          system("pandoc input.docx -o output.pdf");
          return 0;
      }
      
    3. Doxygen

      • Doxygen是一种用于自动生成软件文档的工具,它支持多种输入和输出格式。
      • 它可以将注释代码转换为PDF文件。
      • 需要在注释中添加适当的标记以指定转换为PDF的选项。
      • 下面是使用Doxygen将注释代码转换为PDF的示例代码:
      #include <cstdlib>
      
      int main()
      {
          system("doxygen Doxyfile");
          return 0;
      }
      

    这些开源工具可以用于将文档转换为PDF或者其他格式,在你的C++项目中使用它们来实现文档转换的需求。请根据你的具体情况选择合适的工具,理解并满足其使用条件和许可证要求。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月11日
  • 创建了问题 1月6日