gpt4 book ai didi

python - 如何在更新版本的libreoffice中使用unoconv

转载 作者:行者123 更新时间:2023-12-03 10:01:22 25 4
gpt4 key购买 nike

我正在尝试使用python将加密的文档(doc/docx)转换为PDF。

我要做的是:

  • 首先将它们暂时解密在另一个文件夹
  • 使用unoconv命令行将解密的文件转换为pdf:
  • unoconv -f pdf -eSelectPdfVersaion=1 [path-to-file]
    转换运行,但是我注意到在doc和docx文件中,文档的外观发生了变化(解密文件和pdf都没有变化),这不会影响原始加密文件(我通过简单地解密文件进行了测试)来自Windows客户端和解密的文件)。

    外观基本上是文档样式的变化,影响页面的数量。例如,将13页的Word文档解密为14页的Word文档,然后转换为14页的PDF文件。同样,将348页的doc文件转换为330页的doc文件,然后转换为330页的PDF文件。

    我发现Microsoft Word与Unoconv(4.3)安装的LibreOffice版本之间的样式略有不兼容。在进行测试时,我发现字体已更改为与LibreOffice兼容的字体,其大小与原始字体略有不同。

    我安装了更高版本的LibreOffice(5.1,5.3),在测试中,解密的doc/docx文件具有正确的格式和页码,但是unoconv没有使用较新的版本,而是坚持使用4.3,从而生成带有以下格式的PDF文件:错误的样式和页码。

    我试图使用:
    soffice --headless --convert-to pdf [path-to-file] --outdir [path-to-export-directory]
    但是它什么也没做。
  • 是否可以将Unoconv与4.3以外的LibreOffice版本一起使用?
  • 是否可以使--convert-to命令与LibreOffice 5.1甚至5.3一起使用?
  • 最佳答案

    您可以尝试以下几个步骤:
    使用卸载旧版本的libreoffice

    sudo apt remove libreoffice*
    使用安装最新版本的libreoffice
    sudo add-apt-repository ppa:libreoffice/ppa
    sudo apt-get update
    sudo apt-get install libreoffice
    要检查libreoffice是否已成功安装,请键入
    libreoffice --version
    这应该返回版本号
    接下来使用安装Microsoft字体
    sudo apt install ttf-mscorefonts-installer
    还安装您期望文档可能附带的任何其他字体依赖项
    最后使用以下命令将其转换为pdf。确保没有libreoffice应用程序在后台运行
    libreoffice --headless --invisible --convert-to pdf "test.docx" --outdir files
    您应该在名为files的文件夹中找到pdf
    这适用于ubuntu 18.04.5 LTS。

    关于python - 如何在更新版本的libreoffice中使用unoconv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60184475/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com