python包pdfkit:将HTML转换为PDF,如何取消自动换行

2024-09-28 23:27:59 发布

您现在位置:Python中文网/ 问答频道 /正文

当我应用PDFKIT包将HTML文件转换为PDF文件时,我目前面临一个非常奇怪的问题。问题是HTML包含一个表,表中有一个名为A1191112 1111 12311469 B的单元格,如下所示

Cell on html

但当我将其转换为pdf时,使用以下选项

    options = {
    'page-size': 'A1',
    'margin-top': '0.05in',
    'margin-right': '0.05in',
    'margin-bottom': '0.05in',
    'margin-left': '0.05in',
    'encoding': "UTF-8", 
    'custom-header' : [
        ('Accept-Encoding', 'gzip')
    ],
    'cookie': [
        ('cookie-name1', 'cookie-value1'),
        ('cookie-name2', 'cookie-value2'),
    ],
    'no-outline': None
    }

它将术语分成两行,见下文

Cell on PDF

我尝试过调整页面大小,但毫无帮助。 如果您有任何建议,我们将不胜感激。 多谢各位


Tags: 文件inmarginsizepdfcookietophtml
3条回答

像这样改变文本大小是什么意思

使用缩放选项:

options = {
    'zoom': 0.9,
}
pdfkit.from_url(url,out_file,options=options)

或dpi选项:

   options = {
        'dpi':110,
    }
    pdfkit.from_url(url,out_file,options=options)

尝试增加单元格宽度,以便下一行的B将返回。那可能有用

尝试在html文件中的表格后添加下面的CSS

<style>
    table.print-friendly tr td, table.print-friendly tr th {
        page-break-inside: avoid;
    }
</style>

如果这不起作用,您可以尝试减少options中的dpi。使用以下代码(您可能需要进行实验才能获得完美的匹配):

options = {
   'dpi': 96,
   # Other options after it
}

相关问题 更多 >