Ширина тела в html для преобразования PDF (LibreOffice) - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть генератор 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 будет использовать «print» для руководства преобразованием, но @page определенно работает (кроме того, что он понимает единицы измерения, но не имена размеров, такие как «legal») ..

Есть мысли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...