Linux环境下Word到pdf格式的问题

时间:2019-01-11 01:00:21

标签: php libreoffice unoconv

过去,公司的生产环境是Windows Server 2012R2环境。使用php COM扩展名将word文档转换为PDF文档以使用其打印功能。没问题但是最近公司的生产环境发生了变化,采用centos7。*环境,因此我们采用的解决方案是unoconv -f pdf -o ...通过此工具进行转换,但是存在一个问题,转换后的PDF段落间距变大了,所以一页的单词文档变成两页。有什么方法可以正确调整其格式?

        // linux Word to pdf
        if (PATH_SEPARATOR != ';') {
            $cmd = "export HOME=/var/wwwroot/ && unoconv -f pdf -o ".$this->createPdfFile." ".$this->createFile." && echo \"success\"";
            exec($cmd, $result);
            if ($result[0] == "success") {
                return doc_json(1, '', [
                    'file_url' => $this->fileName,
                    'pdf_url' => $this->filePdfName,
                ]);
                die;
            } else {
                die("linux word to pdf Failed!");
            }
        }

        $word = new \COM("Word.Application") or die ("Could not initialise Object.");
        $word->Documents->Open($this->createFile);
        $word->ActiveDocument->ExportAsFixedFormat($this->createPdfFile, 17, false, 0, 0, 0, 0, 7, true, true, 2, true, true, false);
        $word->Quit(false);

enter image description here enter image description here

0 个答案:

没有答案