用于pdf转换的HTML主体宽度(LibreOffice)

时间:2018-09-01 21:21:18

标签: html css libreoffice openoffice-writer libreoffice-writer

我有一个HTML生成器,该生成器生成用于转换为多种格式的代码。该生成器应该产生最少的css,因为文件将仅用于此。

在服务器内部,我正在无头运行LibreOffice,并且该服务运行良好,从某种意义上说,我给了它一个文件,并且还给了我转换后的版本。但是,对于硬编码宽度设置为100%的图像和表格,它们从左侧开始,正确定位在左侧边距之后,却越过右侧边距,我遇到了问题。

到现在为止,我一直在理解这是一个CSS问题,并且可以像打印一样工作(在浏览器中打开并打印时HTML看起来很完美)。

这是我最初的CSS:

    @page { 
            size: 21cm 29.7cm;
            margin: 1cm;
    }
    @media print { 
        html, body {
            height: 100%;
            width: 27.7cm;
            margin: 0;
            padding: 0;
            overflow: hidden;
        }
        body > * {
            max-width: 100%;
        }
    }

有趣的是,这些段落的边距看起来不错。我以为LibreOffice会使用“打印”来指导其转换可能是错误的,但是@page绝对可以正常工作(除了它可以理解度量单位,但不能识别“合法”之类的尺寸名称)。

有什么想法吗?

0 个答案:

没有答案